package com.unicorn.hgzero.ai.biz.domain;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

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

/**
 * 처리된 회의록 도메인 모델
 * AI가 처리한 회의록 정보를 담는 도메인 객체
 */
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProcessedTranscript {

    /**
     * 회의록 ID
     */
    private String transcriptId;

    /**
     * 회의 ID
     */
    private String meetingId;

    /**
     * 전체 요약
     */
    private String summary;

    /**
     * 논의사항 목록
     */
    private List<DiscussionItem> discussions;

    /**
     * 결정사항 목록
     */
    private List<DecisionItem> decisions;

    /**
     * 보류사항 목록
     */
    private List<String> pendingItems;

    /**
     * 생성 시간
     */
    private LocalDateTime createdAt;

    /**
     * 상태 (DRAFT, COMPLETED)
     */
    private String status;

    /**
     * 논의사항 아이템
     */
    @Getter
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DiscussionItem {
        private String topic;
        private String speaker;
        private String content;
    }

    /**
     * 결정사항 아이템
     */
    @Getter
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DecisionItem {
        private String content;
        private String decisionMaker;
        private String category;
    }
}
