package dev.awesomedev.mirim.repository;

import dev.awesomedev.mirim.domain.ChecklistItem;
import dev.awesomedev.mirim.domain.Progress;
import dev.awesomedev.mirim.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.Optional;

/**
 * 이 파일이 하는 일:
 * Progress(체크 기록) 엔티티의 DB 접근을 담당하는 Spring Data JPA 리포지토리다.
 */
public interface ProgressRepository extends JpaRepository<Progress, Long> {

    /** 특정 사용자가 특정 항목을 체크했는지 조회. 있으면 체크된 것. */
    Optional<Progress> findByUserAndItem(User user, ChecklistItem item);

    /** 특정 사용자의 전체 체크 기록 조회 */
    List<Progress> findByUser(User user);
}
