package cn.fateverse.query.entity.dto;

import cn.fateverse.query.entity.DataAdapter;
import cn.fateverse.query.enums.DataAdapterSource;
import cn.fateverse.query.enums.DataAdapterType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 数据源适配器对象 data_adapter
 *
 * @author clay
 * @date 2023-10-29
 */
@Data
@ApiModel("数据源适配器Dto")
public class DataAdapterDto {

    /**
     * 数据适配器id
     */
    @ApiModelProperty("数据适配器id")
    private Long adapterId;

    /**
     * 适配器名称
     */
    @ApiModelProperty("适配器名称")
    private String adapterName;

    /**
     * 数据适配器代码类型 Java or Js
     */
    @ApiModelProperty("数据适配器代码类型 Java or Js")
    private DataAdapterType type;

    /**
     * 适配器代码
     */
    @ApiModelProperty("适配器代码")
    private String code;

    /**
     * 模拟数据 strng类型的json字符串
     */
    @ApiModelProperty("模拟数据 strng类型的json字符串")
    private String mockData;

    public DataAdapter toDataAdapter() {
        return DataAdapter.builder()
            .adapterId(adapterId)
            .adapterName(adapterName)
            .type(type)
            .code(code)
            .mockData(mockData)
            .build();
    }
}