package cn.fateverse.query.entity;

import cn.fateverse.common.core.annotaion.EnableAutoField;
import cn.fateverse.common.core.entity.BaseEntity;
import cn.fateverse.query.enums.DataAdapterSource;
import cn.fateverse.query.enums.DataAdapterType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * 数据源适配器对象 data_adapter
 *
 * @author clay
 * @date 2023-10-29
 */
@Data
@Builder
@EnableAutoField
@AllArgsConstructor
@NoArgsConstructor
public class DataAdapter extends BaseEntity {

    /**
     * 数据适配器id
     */
    private Long adapterId;

    /**
     * 数据源id,数据源可以是 topo自定义查询,sql自定义查询,api请求
     */
    private Long dataSourceId;

    /**
     * 适配器名称
     */
    private String adapterName;

    /**
     * 数据适配器代码类型 Java or Js
     */
    private DataAdapterType type;

    /**
     * 适配器代码
     */
    private String code;

    /**
     * 可以执行的代码块
     */
    private String executeCode;

    /**
     * 适配器来源,数据源   自定义创建 自定义查询  sql 自定义查询 echart编辑器
     */
    private DataAdapterSource source;

    /**
     * 模拟数据 strng类型的json字符串
     */
    private String mockData;

}