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

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

import java.util.List;

/**
 * 안건별 회의록 섹션 저장 인터페이스
 */
public interface AgendaSectionWriter {

    /**
     * 안건별 섹션 저장
     *
     * @param section 안건 섹션
     * @return 저장된 안건 섹션
     */
    AgendaSection save(AgendaSection section);

    /**
     * 안건별 섹션 일괄 저장
     *
     * @param sections 안건 섹션 목록
     * @return 저장된 안건 섹션 목록
     */
    List<AgendaSection> saveAll(List<AgendaSection> sections);

    /**
     * 안건별 섹션 삭제
     *
     * @param id 섹션 ID
     */
    void delete(String id);

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