mirror of
https://github.com/CodePhiliaX/Chat2DB.git
synced 2025-07-29 10:43:06 +08:00
Delete operations of functions
This commit is contained in:
@ -1,16 +1,20 @@
|
||||
package ai.chat2db.server.web.api.controller.rdb;
|
||||
|
||||
import ai.chat2db.server.domain.api.service.FunctionService;
|
||||
import ai.chat2db.server.tools.base.wrapper.result.ActionResult;
|
||||
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.converter.FunctionConverter;
|
||||
import ai.chat2db.server.web.api.controller.rdb.request.FunctionDetailRequest;
|
||||
import ai.chat2db.server.web.api.controller.rdb.request.FunctionPageRequest;
|
||||
import ai.chat2db.server.web.api.controller.rdb.request.FunctionUpdateRequest;
|
||||
import ai.chat2db.spi.model.Function;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@ -22,16 +26,25 @@ public class FunctionController {
|
||||
@Autowired
|
||||
private FunctionService functionService;
|
||||
|
||||
@Autowired
|
||||
private FunctionConverter functionConverter;
|
||||
|
||||
@GetMapping("/list")
|
||||
public WebPageResult<Function> list(@Valid FunctionPageRequest request) {
|
||||
ListResult<Function> functionListResult = functionService.functions(request.getDatabaseName(),
|
||||
request.getSchemaName());
|
||||
request.getSchemaName());
|
||||
return WebPageResult.of(functionListResult.getData(), Long.valueOf(functionListResult.getData().size()), 1,
|
||||
functionListResult.getData().size());
|
||||
functionListResult.getData().size());
|
||||
}
|
||||
|
||||
@GetMapping("/detail")
|
||||
public DataResult<Function> detail(@Valid FunctionDetailRequest request) {
|
||||
return functionService.detail(request.getDatabaseName(), request.getSchemaName(), request.getFunctionName());
|
||||
}
|
||||
|
||||
@PostMapping("/delete")
|
||||
public ActionResult delete(@Valid FunctionUpdateRequest request) {
|
||||
Function function = functionConverter.request2param(request);
|
||||
return functionService.delete(request.getDatabaseName(), request.getSchemaName(), function);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,15 @@
|
||||
package ai.chat2db.server.web.api.controller.rdb.converter;
|
||||
|
||||
import ai.chat2db.server.web.api.controller.rdb.request.FunctionUpdateRequest;
|
||||
import ai.chat2db.spi.model.Function;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
/**
|
||||
* @author Juechen
|
||||
* @version : FunctionConverter.java
|
||||
*/
|
||||
@Mapper(componentModel = "spring")
|
||||
public abstract class FunctionConverter {
|
||||
public abstract Function request2param(FunctionUpdateRequest request);
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package ai.chat2db.server.web.api.controller.rdb.request;
|
||||
|
||||
import ai.chat2db.server.web.api.controller.data.source.request.DataSourceBaseRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author Juechen
|
||||
* @version : FunctionUpdateRequest.java
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class FunctionUpdateRequest extends DataSourceBaseRequest {
|
||||
|
||||
private String functionName;
|
||||
private String functionBody;
|
||||
|
||||
}
|
Reference in New Issue
Block a user