Complete the datasource code

This commit is contained in:
JiaJu Zhuang
2023-08-06 15:53:23 +08:00
parent c09ee3156e
commit 77417d8c38
51 changed files with 549 additions and 136 deletions

View File

@ -0,0 +1,36 @@
package ai.chat2db.server.domain.api.enums;
import ai.chat2db.server.tools.base.enums.BaseEnum;
import lombok.Getter;
/**
* Data Source Kind
*
* @author Jiaju Zhuang
*/
@Getter
public enum DataSourceKindEnum implements BaseEnum<String> {
/**
* PRIVATE
*/
PRIVATE("PRIVATE"),
/**
* SHARED
*/
SHARED("SHARED"),
;
final String description;
DataSourceKindEnum(String description) {
this.description = description;
}
@Override
public String getCode() {
return this.name();
}
}

View File

@ -119,6 +119,18 @@ public class DataSource {
*/
private Environment environment;
/**
* 用户id
*/
private Long userId;
/**
* 连接类型
*
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
*/
private String kind;
public LinkedHashMap<String, Object> getExtendMap() {
if (ObjectUtils.isEmpty(extendInfo)) {
return new LinkedHashMap<>();

View File

@ -94,4 +94,11 @@ public class DataSourceCreateParam {
* 驱动配置
*/
private DriverConfig driverConfig;
/**
* 连接类型
*
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
*/
private String kind;
}

View File

@ -16,4 +16,11 @@ public class DataSourcePageQueryParam extends PageQueryParam {
* 搜索关键词
*/
private String searchKey;
/**
* 连接类型
*
* @see ai.chat2db.server.domain.api.enums.DataSourceKindEnum
*/
private String kind;
}

View File

@ -1,6 +1,9 @@
package ai.chat2db.server.domain.api.param;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* @author moji
@ -8,6 +11,13 @@ import lombok.Data;
* @date 2022/09/23
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class DataSourceSelector {
/**
* 环境id
*/
private Boolean environment;
}

View File

@ -100,4 +100,5 @@ public class DataSourceUpdateParam {
* 驱动配置
*/
private DriverConfig driverConfig;
}

View File

@ -0,0 +1,18 @@
package ai.chat2db.server.domain.api.param;
import ai.chat2db.server.tools.base.wrapper.param.PageQueryParam;
import lombok.Data;
/**
* environment
*
* @author Jiaju Zhuang
*/
@Data
public class EnvironmentPageQueryParam extends PageQueryParam {
/**
* 搜索关键词
*/
private String searchKey;
}

View File

@ -31,7 +31,8 @@ public interface DataSourceService {
* @param param
* @return
*/
DataResult<Long> create(DataSourceCreateParam param);
DataResult<Long> createWithPermission(DataSourceCreateParam param);
/**
* 更新数据源连接
@ -39,7 +40,7 @@ public interface DataSourceService {
* @param param
* @return
*/
ActionResult update(DataSourceUpdateParam param);
ActionResult updateWithPermission(DataSourceUpdateParam param);
/**
* 删除数据源连接
@ -47,7 +48,7 @@ public interface DataSourceService {
* @param id
* @return
*/
ActionResult delete(@NotNull Long id);
ActionResult deleteWithPermission(@NotNull Long id);
/**
* 根据id查询数据源连接详情
@ -57,6 +58,15 @@ public interface DataSourceService {
*/
DataResult<DataSource> queryById(@NotNull Long id);
/**
* 根据id查询数据源连接详情
*
* @param id
* @return
* @throws ai.chat2db.server.tools.common.exception.DataNotFoundException
*/
DataResult<DataSource> queryExistent(@NotNull Long id);
/**
* 克隆连接
*

View File

@ -0,0 +1,33 @@
package ai.chat2db.server.domain.api.service;
import java.util.List;
import ai.chat2db.server.domain.api.model.Environment;
import ai.chat2db.server.domain.api.param.EnvironmentPageQueryParam;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import ai.chat2db.server.tools.base.wrapper.result.PageResult;
/**
* environment
*
* @author Jiaju Zhuang
*/
public interface EnvironmentService {
/**
* List Query Data
*
* @param idList
* @return
*/
ListResult<Environment> listQuery(List<Long> idList);
/**
* Paging Query Data
*
* @param param
* @return
*/
PageResult<Environment> pageQuery(EnvironmentPageQueryParam param);
}