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 TemplateListResponse {

    private List<TemplateItem> templateList;
    private long totalCount;

    @Getter
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TemplateItem {
        private String templateId;
        private String name;
        private String description;
        private String category;
        private String icon;  // 아이콘 추가
        private boolean isActive;
        private int usageCount;
        private LocalDateTime createdAt;
        private LocalDateTime lastUsedAt;
        private String createdBy;
        
        // 섹션 정보
        private List<TemplateSectionInfo> sections;
    }

    @Getter
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TemplateSectionInfo {
        private String title;
        private String description;
        private int orderIndex;
        private boolean isRequired;
    }
}