package com.agent.management.model.dto;

import lombok.Data;

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

/**
 * 标签导出数据结构
 * JSON 格式规范见 docs/specs/tag-system-spec.md
 */
@Data
public class TagExportDTO {

    /** 格式版本号 */
    private String version = "1.0";

    /** 导出时间 */
    private String exportedAt;

    /** 标签组列表 */
    private List<TagGroupExport> groups;

    @Data
    public static class TagGroupExport {
        /** 标签组名称（作为导入时的匹配键） */
        private String name;

        /** 标签组描述 */
        private String description;

        /** 排序序号 */
        private Integer sortOrder;

        /** 标签树（嵌套结构） */
        private List<TagNodeExport> tags;
    }

    @Data
    public static class TagNodeExport {
        /** 标签名称 */
        private String name;

        /** 排序序号 */
        private Integer sortOrder;

        /** 子标签（递归嵌套） */
        private List<TagNodeExport> children;
    }
}
