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

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

import java.util.List;

@Data
@Schema(description = "数据去重执行请求")
public class DedupeRunRequest {

    @Valid
    @NotEmpty(message = "请先上传待处理文件")
    @Schema(description = "已上传源文件列表")
    private List<DedupeSourceFileDto> files;

    @NotEmpty(message = "请至少选择一列")
    @Schema(description = "保留列")
    private List<String> selectedColumns;

    @Schema(description = "是否保留纯数字 ID")
    private boolean keepIntegerIds = true;

    @Schema(description = "是否保留带下划线 ID")
    private boolean keepUnderscoreIds = true;
}
