package com.lesingle.modules.biz.contest.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Data
@Schema(description = "提交作品DTO")
public class SubmitWorkDto {

    @NotNull(message = "报名ID不能为空")
    @Schema(description = "报名ID")
    private Long registrationId;

    @NotBlank(message = "作品标题不能为空")
    @Schema(description = "作品标题")
    private String title;

    @Schema(description = "作品描述")
    private String description;

    @Schema(description = "文件信息")
    private Object files;

    @Schema(description = "预览图URL")
    private String previewUrl;

    @Schema(description = "预览图URL列表")
    private List<String> previewUrls;

    @Schema(description = "AI模型元数据")
    private Object aiModelMeta;

    @Schema(description = "附件列表")
    private List<AttachmentItem> attachments;

    @Data
    @Schema(description = "附件项")
    public static class AttachmentItem {

        @Schema(description = "文件名")
        private String fileName;

        @Schema(description = "文件URL")
        private String fileUrl;

        @Schema(description = "文件类型")
        private String fileType;

        @Schema(description = "文件大小")
        private String size;
    }
}
