package com.unicorn.hgzero.meeting.infra.event.dto;

import lombok.Builder;
import lombok.Getter;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 회의록 확정 이벤트
 * RAG 서비스에서 회의록 embedding 생성 및 저장을 위한 이벤트
 */
@Getter
@Builder
public class MinutesFinalizedEvent {

    /**
     * 이벤트 타입
     */
    private final String eventType = "MINUTES_FINALIZED";

    /**
     * 이벤트 발생 시간
     */
    private final LocalDateTime timestamp;

    /**
     * 이벤트 데이터
     */
    private final MinutesData data;

    /**
     * 회의록 상세 데이터
     */
    @Getter
    @Builder
    public static class MinutesData {
        // Meeting 정보
        private final String meetingId;
        private final String title;
        private final String purpose;
        private final String description;
        private final LocalDateTime scheduledAt;
        private final String location;
        private final String organizerId;

        // Minutes 정보
        private final String minutesId;
        private final String status;
        private final Integer version;
        private final String createdBy;
        private final String finalizedBy;
        private final LocalDateTime finalizedAt;

        // 섹션 정보
        private final List<MinutesSectionDTO> sections;
    }
}
