package cn.fateverse.query.entity.vo;

import cn.fateverse.query.entity.Table;
import cn.fateverse.query.enums.DynamicSourceEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 自定义查询表格维护对象 table
 *
 * @author clay
 * @date 2023-07-16
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("自定义查询表格维护Vo")
public class TableVo {

    /**
     * 表id
     */
    @ApiModelProperty("表id")
    private Long tableId;

    /**
     * 数据源id
     */
    @ApiModelProperty("数据源id")
    private Long dataSourceId;

    /**
     * 数据源类型
     */
    @ApiModelProperty("数据源类型")
    private DynamicSourceEnum dataSourceType;

    /**
     * 表格名称
     */
    @ApiModelProperty("表格名称")
    private String tableName;

    /**
     * 表格注释
     */
    @ApiModelProperty("表格注释")
    private String tableComment;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    public static TableVo toTableVo(Table table) {
        return TableVo.builder()
                .tableId(table.getTableId())
                .dataSourceId(table.getDataSourceId())
                .dataSourceType(table.getDataSourceType())
                .tableName(table.getTableName())
                .tableComment(table.getTableComment())
                .createTime(table.getCreateTime())
                .build();
    }
}