support view trigger producer function

This commit is contained in:
jipengfei-jpf
2023-08-12 18:06:29 +08:00
parent 59b31f5e41
commit 9448f184f0
23 changed files with 662 additions and 58 deletions

View File

@ -1,10 +1,12 @@
package ai.chat2db.server.web.api.controller.rdb;
import ai.chat2db.server.domain.api.service.FunctionService;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import ai.chat2db.server.tools.base.wrapper.result.web.WebPageResult;
import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.rdb.request.TableBriefQueryRequest;
import ai.chat2db.server.web.api.controller.rdb.request.FunctionDetailRequest;
import ai.chat2db.server.web.api.controller.rdb.request.FunctionPageRequest;
import ai.chat2db.spi.model.Function;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,11 +23,15 @@ public class FunctionController {
private FunctionService functionService;
@GetMapping("/list")
public WebPageResult<Function> list(@Valid TableBriefQueryRequest request) {
public WebPageResult<Function> list(@Valid FunctionPageRequest request) {
ListResult<Function> functionListResult = functionService.functions(request.getDatabaseName(),
request.getSchemaName());
return WebPageResult.of(functionListResult.getData(), Long.valueOf(functionListResult.getData().size()), 1,
functionListResult.getData().size());
}
@GetMapping("/detail")
public DataResult<Function> detail(@Valid FunctionDetailRequest request) {
return functionService.detail(request.getDatabaseName(), request.getSchemaName(), request.getFunctionName());
}
}

View File

@ -1,10 +1,12 @@
package ai.chat2db.server.web.api.controller.rdb;
import ai.chat2db.server.domain.api.service.ProcedureService;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import ai.chat2db.server.tools.base.wrapper.result.web.WebPageResult;
import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.rdb.request.TableBriefQueryRequest;
import ai.chat2db.server.web.api.controller.rdb.request.ProcedureDetailRequest;
import ai.chat2db.server.web.api.controller.rdb.request.ProcedurePageRequest;
import ai.chat2db.spi.model.Procedure;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.GetMapping;
@ -19,10 +21,15 @@ public class ProcedureController {
private ProcedureService procedureService;
@GetMapping("/list")
public WebPageResult<Procedure> list(@Valid TableBriefQueryRequest request) {
public WebPageResult<Procedure> list(@Valid ProcedurePageRequest request) {
ListResult<Procedure> procedureListResult = procedureService.procedures(request.getDatabaseName(),
request.getSchemaName());
return WebPageResult.of(procedureListResult.getData(), Long.valueOf(procedureListResult.getData().size()), 1,
procedureListResult.getData().size());
}
@GetMapping("/detail")
public DataResult<Procedure> detail(@Valid ProcedureDetailRequest request) {
return procedureService.detail(request.getDatabaseName(), request.getSchemaName(), request.getProcedureName());
}
}

View File

@ -1,10 +1,12 @@
package ai.chat2db.server.web.api.controller.rdb;
import ai.chat2db.server.domain.api.service.TriggerService;
import ai.chat2db.server.tools.base.wrapper.result.DataResult;
import ai.chat2db.server.tools.base.wrapper.result.ListResult;
import ai.chat2db.server.tools.base.wrapper.result.web.WebPageResult;
import ai.chat2db.server.web.api.aspect.ConnectionInfoAspect;
import ai.chat2db.server.web.api.controller.rdb.request.TableBriefQueryRequest;
import ai.chat2db.server.web.api.controller.rdb.request.TriggerDetailRequest;
import ai.chat2db.server.web.api.controller.rdb.request.TriggerPageRequest;
import ai.chat2db.spi.model.Trigger;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,9 +23,14 @@ public class TriggerController {
private TriggerService triggerService;
@GetMapping("/list")
public WebPageResult<Trigger> list(@Valid TableBriefQueryRequest request) {
public WebPageResult<Trigger> list(@Valid TriggerPageRequest request) {
ListResult<Trigger> listResult = triggerService.triggers(request.getDatabaseName(), request.getSchemaName());
return WebPageResult.of(listResult.getData(), Long.valueOf(listResult.getData().size()), 1,
listResult.getData().size());
}
@GetMapping("/detail")
public DataResult<Trigger> detail(@Valid TriggerDetailRequest request) {
return triggerService.detail(request.getDatabaseName(), request.getSchemaName(), request.getTriggerName());
}
}

View File

@ -0,0 +1,34 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequestInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class FunctionDetailRequest implements DataSourceBaseRequestInfo {
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间pg,oracle需要mysql不需要
*/
private String schemaName;
/**
* function name
*/
private String functionName;
/**
* if true, refresh the cache
*/
private boolean refresh;
}

View File

@ -0,0 +1,44 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import java.io.Serial;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequestInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class FunctionPageRequest extends PageQueryRequest implements DataSourceBaseRequestInfo {
@Serial
private static final long serialVersionUID = -364547173428396332L;
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间pg,oracle需要mysql不需要
*/
private String schemaName;
/**
* 模糊搜索词
*/
private String searchKey;
/**
* function name
*/
private String functionName;
/**
* if true, refresh the cache
*/
private boolean refresh;
}

View File

@ -0,0 +1,38 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import java.io.Serial;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequestInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class ProcedureDetailRequest implements DataSourceBaseRequestInfo {
@Serial
private static final long serialVersionUID = -364547173428396332L;
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间pg,oracle需要mysql不需要
*/
private String schemaName;
/**
* procedure name
*/
private String procedureName;
/**
* if true, refresh the cache
*/
private boolean refresh;
}

View File

@ -0,0 +1,44 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import java.io.Serial;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequestInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class ProcedurePageRequest extends PageQueryRequest implements DataSourceBaseRequestInfo {
@Serial
private static final long serialVersionUID = -364547173428396332L;
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间pg,oracle需要mysql不需要
*/
private String schemaName;
/**
* 模糊搜索词
*/
private String searchKey;
/**
* procedure name
*/
private String procedureName;
/**
* if true, refresh the cache
*/
private boolean refresh;
}

View File

@ -0,0 +1,38 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import java.io.Serial;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequestInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class TriggerDetailRequest implements DataSourceBaseRequestInfo {
@Serial
private static final long serialVersionUID = -364547173428396332L;
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间pg,oracle需要mysql不需要
*/
private String schemaName;
/**
* trigger name
*/
private String triggerName;
/**
* if true, refresh the cache
*/
private boolean refresh;
}

View File

@ -0,0 +1,43 @@
package ai.chat2db.server.web.api.controller.rdb.request;
import java.io.Serial;
import ai.chat2db.server.tools.base.wrapper.request.PageQueryRequest;
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequestInfo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@Data
public class TriggerPageRequest extends PageQueryRequest implements DataSourceBaseRequestInfo {
@Serial
private static final long serialVersionUID = -364547173428396332L;
/**
* 数据源id
*/
@NotNull
private Long dataSourceId;
/**
* DB名称
*/
private String databaseName;
/**
* 表所在空间pg,oracle需要mysql不需要
*/
private String schemaName;
/**
* 模糊搜索词
*/
private String searchKey;
/**
* trigger name
*/
private String triggerName;
/**
* if true, refresh the cache
*/
private boolean refresh;
}