package com.unicorn.hgzero.meeting.infra.gateway.repository;

import com.unicorn.hgzero.meeting.infra.gateway.entity.AgendaSectionEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 안건별 회의록 섹션 JPA Repository
 */
@Repository
public interface AgendaSectionJpaRepository extends JpaRepository<AgendaSectionEntity, String> {

    /**
     * 회의 ID로 안건별 섹션 조회
     * 안건 번호 순으로 정렬
     *
     * @param meetingId 회의 ID
     * @return 안건별 섹션 목록
     */
    List<AgendaSectionEntity> findByMeetingIdOrderByAgendaNumberAsc(String meetingId);

    /**
     * 회의록 ID로 안건별 섹션 조회
     *
     * @param minutesId 회의록 ID
     * @return 안건별 섹션 목록
     */
    List<AgendaSectionEntity> findByMinutesIdOrderByAgendaNumberAsc(String minutesId);

    /**
     * 회의 ID와 안건 번호로 섹션 조회
     *
     * @param meetingId 회의 ID
     * @param agendaNumber 안건 번호
     * @return 안건 섹션
     */
    AgendaSectionEntity findByMeetingIdAndAgendaNumber(String meetingId, Integer agendaNumber);

    /**
     * 회의 ID로 안건별 섹션 삭제
     *
     * @param meetingId 회의 ID
     */
    void deleteByMeetingId(String meetingId);
}
