package com.nanri.aiimage.modules.convert.model.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Data
@Schema(description = "格式转换执行请求")
public class ConvertRunRequest {

    @Valid
    @NotEmpty(message = "请先上传待转换文件")
    @Schema(description = "已上传的源文件列表")
    private List<UploadedSourceFileDto> files;

    @NotBlank(message = "请选择模板")
    @Schema(description = "模板编码，例如 uk_offer")
    private String templateId;

    @Schema(description = "文件夹上传场景下的总压缩包名称（不含扩展名）")
    private String archiveName;

    @NotNull(message = "user_id 不能为空")
    @JsonProperty("user_id")
    @Schema(description = "当前登录用户 ID")
    private Long userId;
}
