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

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

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

/**
 * 회의록 목록 조회 응답 DTO
 */
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MinutesListResponse {

    private List<MinutesItem> minutesList;
    private long totalCount;
    private int currentPage;
    private int totalPages;
    private Statistics statistics; // 상태별 통계

    @Getter
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Statistics {
        private long totalCount;
        private long draftCount;
        private long completeCount;
    }

    @Getter
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class MinutesItem {
        private String minutesId;
        private String title;
        private String meetingTitle;
        private String status; // DRAFT, FINALIZED
        private int version;
        private LocalDateTime createdAt;
        private LocalDateTime lastModifiedAt;
        private LocalDateTime meetingDate; // 회의 일시
        private String createdBy;
        private String lastModifiedBy;
        private int participantCount; // 참석자 수
        private int todoCount;
        private int completedTodoCount;
        private int completionRate; // 검증완료율
        private boolean isCreatedByUser; // 사용자가 생성한 회의록 여부
    }
}