package com.unicorn.hgzero.meeting.biz.usecase.out;

import com.unicorn.hgzero.meeting.biz.domain.Session;

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

/**
 * Session Reader Port
 */
public interface SessionReader {

    /**
     * ID로 세션 조회
     */
    Optional<Session> findById(String sessionId);

    /**
     * 회의 ID로 세션 목록 조회
     */
    List<Session> findByMeetingId(String meetingId);

    /**
     * 회의 ID로 활성 세션 조회
     */
    Optional<Session> findActiveSesionByMeetingId(String meetingId);

    /**
     * 시작자 ID로 세션 목록 조회
     */
    List<Session> findByStartedBy(String startedBy);
}
