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

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

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

/**
 * 처리된 회의록 JPA Repository
 * 회의록 데이터 영속성 관리
 */
@Repository
public interface ProcessedTranscriptJpaRepository extends JpaRepository<ProcessedTranscriptEntity, String> {

    /**
     * 회의 ID로 회의록 조회
     */
    Optional<ProcessedTranscriptEntity> findByMeetingId(String meetingId);

    /**
     * 회의 ID 목록으로 회의록 목록 조회
     */
    List<ProcessedTranscriptEntity> findByMeetingIdIn(List<String> meetingIds);

    /**
     * 상태로 회의록 목록 조회
     */
    List<ProcessedTranscriptEntity> findByStatus(String status);

    /**
     * 회의 ID와 상태로 회의록 조회
     */
    Optional<ProcessedTranscriptEntity> findByMeetingIdAndStatus(String meetingId, String status);

    /**
     * 회의 ID로 회의록 존재 여부 확인
     */
    boolean existsByMeetingId(String meetingId);
}
