support PinService

This commit is contained in:
jipengfei-jpf
2023-06-24 16:32:02 +08:00
parent 1e8a56b1f0
commit efd9aa490a
32 changed files with 595 additions and 95 deletions

View File

@ -0,0 +1,18 @@
package ai.chat2db.server.domain.api.param;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class MetaDataQueryParam {
@NotNull
private Long dataSourceId;
}

View File

@ -0,0 +1,31 @@
package ai.chat2db.server.domain.api.param;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class PinTableParam {
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间
*/
private String schemaName;
/**
* tableName
*/
private String tableName;
/**
* pin userId
*/
private Long userId;
}

View File

@ -24,6 +24,5 @@ public class SchemaQueryParam {
@NotNull
private Long dataSourceId;
@NotNull
private String dataBaseName;
}

View File

@ -1,9 +1,8 @@
package ai.chat2db.server.domain.api.service;
import ai.chat2db.server.domain.api.param.DatabaseOperationParam;
import ai.chat2db.server.domain.api.param.DatabaseQueryAllParam;
import ai.chat2db.server.domain.api.param.SchemaOperationParam;
import ai.chat2db.server.domain.api.param.SchemaQueryParam;
import ai.chat2db.server.domain.api.param.*;
import ai.chat2db.server.tools.base.wrapper.Result;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.spi.model.*;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
@ -32,6 +31,13 @@ public interface DatabaseService {
*/
ListResult<Schema> querySchema(SchemaQueryParam param);
/**
* query Database and Schema
* @param param
* @return
*/
DataResult<MetaSchema> queryDatabaseSchema(MetaDataQueryParam param);
/**

View File

@ -0,0 +1,33 @@
package ai.chat2db.server.domain.api.service;
import ai.chat2db.server.domain.api.param.PinTableParam;
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import java.util.List;
public interface PinService {
/**
* User pin table
* @param param
* @return
*/
ActionResult pinTable(PinTableParam param);
/**
* Delete pin table
* @param param
* @return
*/
ActionResult deletePinTable(PinTableParam param);
/**
* Query user pin tables
* @param param
* @return
*/
ListResult<String> queryPinTables(PinTableParam param);
}