package com.njcn.gather.icd.mapping.pojo.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 上传 ICD 后直接生成映射的请求参数。
 */
@Data
@ApiModel("上传 ICD 后直接生成映射的请求参数")
public class GenerateMappingFromIcdRequest {

    /** 映射版本号。 */
    @ApiModelProperty("映射版本号，空时默认使用当天日期")
    private String version;

    /** 映射作者。 */
    @ApiModelProperty("映射作者，空时使用模块默认作者")
    private String author;

    /** 是否落盘。 */
    @ApiModelProperty("是否将生成结果落盘保存")
    private boolean saveToDisk;

    /** 是否格式化 JSON。 */
    @ApiModelProperty("是否返回格式化后的 JSON")
    private boolean prettyJson;

    /** 输出目录。 */
    @ApiModelProperty("输出目录，仅在 saveToDisk=true 时生效")
    private String outputDir;

    /**
     * 兼容保留的索引绑定结果。
     * 正式提交流程建议改用 get-mms-json 接口。
     */
    @ApiModelProperty("兼容保留的索引绑定结果，正式提交建议改用 get-mms-json 接口")
    private List<IndexSelectionGroupRequest> indexSelection = new ArrayList<IndexSelectionGroupRequest>();
}
