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

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

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

/**
 * AI Service - 회의록 통합 요약 응답 DTO
 */
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConsolidateResponse {

    /**
     * 회의 ID
     */
    @JsonProperty("meeting_id")
    private String meetingId;

    /**
     * 주요 키워드
     */
    private List<String> keywords;

    /**
     * 통계 정보
     * - participants_count: 참석자 수
     * - agendas_count: 안건 수
     * - todos_count: Todo 개수
     * - duration_minutes: 회의 시간(분)
     */
    private Map<String, Integer> statistics;

    /**
     * 회의 전체 결정사항
     */
    private String decisions;

    /**
     * 안건별 요약
     */
    @JsonProperty("agenda_summaries")
    private List<AgendaSummaryDTO> agendaSummaries;

    /**
     * 생성 시각
     */
    @JsonProperty("generated_at")
    private LocalDateTime generatedAt;
}
