forked from github/dataease
feat: 增加xpack包内部分api
This commit is contained in:
parent
034d12c697
commit
8484b44ffb
@ -1,11 +1,15 @@
|
||||
package io.dataease.config;
|
||||
|
||||
import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.base.Predicate;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.beans.factory.config.BeanPostProcessor;
|
||||
import org.springframework.context.annotation.*;
|
||||
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
|
||||
import springfox.documentation.RequestHandler;
|
||||
import springfox.documentation.builders.*;
|
||||
import springfox.documentation.oas.annotations.EnableOpenApi;
|
||||
import springfox.documentation.service.*;
|
||||
@ -15,11 +19,14 @@ import springfox.documentation.spring.web.plugins.Docket;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@EnableOpenApi
|
||||
@Configuration
|
||||
@Import(BeanValidatorPluginsConfiguration.class)
|
||||
public class Knife4jConfiguration implements BeanPostProcessor{
|
||||
|
||||
private static final String splitor = ",";
|
||||
|
||||
private final OpenApiExtensionResolver openApiExtensionResolver;
|
||||
|
||||
@Value("${version}")
|
||||
@ -54,12 +61,12 @@ public class Knife4jConfiguration implements BeanPostProcessor{
|
||||
|
||||
@Bean(value = "datasourceApi")
|
||||
public Docket datasourceApi() {
|
||||
return defaultApi("数据源管理", "io.dataease.datasource");
|
||||
return defaultApi("数据源管理", "io.dataease.controller.datasource");
|
||||
}
|
||||
|
||||
@Bean(value = "sysApi")
|
||||
public Docket sysApi() {
|
||||
return defaultApi("系统管理", "io.dataease.controller.sys");
|
||||
return defaultApi("系统管理", "io.dataease.controller.sys,io.dataease.plugins.server");
|
||||
}
|
||||
|
||||
private ApiInfo apiInfo(){
|
||||
@ -79,12 +86,12 @@ public class Knife4jConfiguration implements BeanPostProcessor{
|
||||
|
||||
List<SecurityContext> securityContexts = new ArrayList<>();
|
||||
securityContexts.add(securityContext());
|
||||
|
||||
Docket docket=new Docket(DocumentationType.OAS_30)
|
||||
.apiInfo(apiInfo())
|
||||
.groupName(groupName)
|
||||
.select()
|
||||
.apis(RequestHandlerSelectors.basePackage(packageName))
|
||||
/*.apis(RequestHandlerSelectors.basePackage(packageName))*/
|
||||
.apis(basePackage(packageName))
|
||||
.paths(PathSelectors.any())
|
||||
.build()
|
||||
.securityContexts(securityContexts).securitySchemes(securitySchemes)
|
||||
@ -120,4 +127,25 @@ public class Knife4jConfiguration implements BeanPostProcessor{
|
||||
return results;
|
||||
}
|
||||
|
||||
public static Predicate<RequestHandler> basePackage(final String basePackage) {
|
||||
return input -> declaringClass(input).transform(handlerPackage(basePackage)).or(true);
|
||||
}
|
||||
|
||||
private static Function<Class<?>, Boolean> handlerPackage(final String basePackage) {
|
||||
return input -> {
|
||||
// 循环判断匹配
|
||||
for (String strPackage : basePackage.split(splitor)) {
|
||||
boolean isMatch = input.getPackage().getName().startsWith(strPackage);
|
||||
if (isMatch) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
private static Optional<? extends Class<?>> declaringClass(RequestHandler input) {
|
||||
return Optional.fromNullable(input.declaringClass());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -44,7 +44,8 @@ public class IndexController {
|
||||
case valid:
|
||||
return "doc.html";
|
||||
default:
|
||||
return "nolic.html";
|
||||
// return "nolic.html";
|
||||
return "doc.html";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,9 +3,12 @@ package io.dataease.controller.dataset;
|
||||
import com.auth0.jwt.JWT;
|
||||
import com.auth0.jwt.interfaces.DecodedJWT;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import io.dataease.auth.annotation.DePermission;
|
||||
import io.dataease.auth.filter.F2CLinkFilter;
|
||||
import io.dataease.base.domain.DatasetTable;
|
||||
import io.dataease.base.domain.DatasetTableField;
|
||||
import io.dataease.commons.constants.DePermissionType;
|
||||
import io.dataease.commons.constants.ResourceAuthLevel;
|
||||
import io.dataease.commons.exception.DEException;
|
||||
import io.dataease.controller.request.dataset.DataSetTableRequest;
|
||||
import io.dataease.controller.request.dataset.MultFieldValuesRequest;
|
||||
@ -106,6 +109,7 @@ public class DataSetTableFieldController {
|
||||
dataSetTableFieldsService.batchEdit(list);
|
||||
}
|
||||
|
||||
@DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE)
|
||||
@ApiOperation("保存")
|
||||
@PostMapping("save")
|
||||
public DatasetTableField save(@RequestBody DatasetTableField datasetTableField) {
|
||||
|
@ -3,7 +3,10 @@ package io.dataease.controller.dataset;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import io.dataease.auth.annotation.DePermission;
|
||||
import io.dataease.base.domain.DatasetTableTask;
|
||||
import io.dataease.commons.constants.DePermissionType;
|
||||
import io.dataease.commons.constants.ResourceAuthLevel;
|
||||
import io.dataease.commons.utils.PageUtils;
|
||||
import io.dataease.commons.utils.Pager;
|
||||
import io.dataease.controller.request.dataset.DataSetTaskRequest;
|
||||
@ -32,6 +35,7 @@ public class DataSetTableTaskController {
|
||||
@Resource
|
||||
private DataSetTableTaskLogService dataSetTableTaskLogService;
|
||||
|
||||
@DePermission(type = DePermissionType.DATASET, value = "datasetTableTask.tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE)
|
||||
@ApiOperation("保存")
|
||||
@PostMapping("save")
|
||||
public DatasetTableTask save(@RequestBody DataSetTaskRequest dataSetTaskRequest) throws Exception {
|
||||
@ -70,6 +74,7 @@ public class DataSetTableTaskController {
|
||||
dataSetTableTaskService.updateDatasetTableTaskStatus(datasetTableTask);
|
||||
}
|
||||
|
||||
@DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE)
|
||||
@ApiOperation("执行任务")
|
||||
@PostMapping("/execTask")
|
||||
public void execTask(@RequestBody DatasetTableTask datasetTableTask) throws Exception{
|
||||
|
@ -3,7 +3,10 @@ package io.dataease.controller.dataset;
|
||||
import com.github.pagehelper.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import io.dataease.auth.annotation.DePermission;
|
||||
import io.dataease.base.domain.DatasetTableTaskLog;
|
||||
import io.dataease.commons.constants.DePermissionType;
|
||||
import io.dataease.commons.constants.ResourceAuthLevel;
|
||||
import io.dataease.commons.utils.PageUtils;
|
||||
import io.dataease.commons.utils.Pager;
|
||||
import io.dataease.controller.sys.base.BaseGridRequest;
|
||||
@ -28,6 +31,7 @@ public class DataSetTableTaskLogController {
|
||||
@Resource
|
||||
private DataSetTableTaskLogService dataSetTableTaskLogService;
|
||||
|
||||
@DePermission(type = DePermissionType.DATASET, value = "tableId", level = ResourceAuthLevel.DATASET_LEVEL_MANAGE)
|
||||
@ApiOperation("保存")
|
||||
@PostMapping("save")
|
||||
public DatasetTableTaskLog save(@RequestBody DatasetTableTaskLog datasetTableTaskLog) {
|
||||
|
@ -18,10 +18,11 @@ import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ApiIgnore
|
||||
@RestController
|
||||
@RequestMapping("plugin/dataset/columnPermissions")
|
||||
public class ColumnPermissionsController {
|
||||
|
@ -15,10 +15,11 @@ import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ApiIgnore
|
||||
@RestController
|
||||
@RequestMapping("plugin/dataset/rowPermissions")
|
||||
public class RowPermissionsController {
|
||||
|
@ -30,7 +30,9 @@ import io.dataease.plugins.xpack.oidc.dto.SSOToken;
|
||||
import io.dataease.plugins.xpack.oidc.dto.SSOUserInfo;
|
||||
import io.dataease.plugins.xpack.oidc.service.OidcXpackService;
|
||||
import io.dataease.service.sys.SysUserService;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/sso")
|
||||
@Controller
|
||||
public class SSOServer {
|
||||
|
@ -19,7 +19,9 @@ import io.dataease.plugins.xpack.theme.dto.ThemeDto;
|
||||
import io.dataease.plugins.xpack.theme.dto.ThemeItem;
|
||||
import io.dataease.plugins.xpack.theme.dto.ThemeRequest;
|
||||
import io.dataease.plugins.xpack.theme.service.ThemeXpackService;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/theme")
|
||||
@RestController
|
||||
public class ThemeServer {
|
||||
|
@ -17,9 +17,10 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.dataease.plugins.xpack.auth.service.AuthXpackService;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/auth")
|
||||
@RestController
|
||||
public class XAuthServer {
|
||||
|
@ -95,15 +95,15 @@ public class XDeptServer {
|
||||
}
|
||||
|
||||
|
||||
@RequiresPermissions("dept:del")
|
||||
|
||||
@ApiIgnore
|
||||
@ApiOperation("删除")
|
||||
@PostMapping("/nodesByDeptId/{deptId}")
|
||||
public List<XpackDeptTreeNode> nodesByDeptId(@PathVariable("deptId") Long deptId){
|
||||
DeptXpackService deptService = SpringContextUtil.getBean(DeptXpackService.class);
|
||||
return deptService.searchTree(deptId);
|
||||
}
|
||||
|
||||
@RequiresPermissions("dept:edit")
|
||||
@ApiOperation("移动")
|
||||
@PostMapping("/move")
|
||||
public void move(@RequestBody XpackMoveDept xpackMoveDept){
|
||||
|
@ -7,9 +7,11 @@ import io.dataease.plugins.xpack.display.service.DisplayXpackService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/api/display")
|
||||
@RestController
|
||||
public class XDisplayServer {
|
||||
|
@ -23,13 +23,14 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/task")
|
||||
@RestController
|
||||
public class XEmailTaskServer {
|
||||
|
@ -8,9 +8,10 @@ import io.dataease.plugins.xpack.ldap.dto.response.LdapInfo;
|
||||
import io.dataease.plugins.xpack.ldap.service.LdapXpackService;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/ldap")
|
||||
@RestController
|
||||
public class XLdapServer {
|
||||
|
@ -7,10 +7,12 @@ import io.dataease.plugins.xpack.oidc.service.OidcXpackService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/oidc")
|
||||
@RestController
|
||||
public class XOidcServer {
|
||||
|
@ -5,10 +5,12 @@ import io.dataease.plugins.config.SpringContextUtil;
|
||||
import io.dataease.plugins.xpack.ukey.dto.request.XpackUkeyDto;
|
||||
import io.dataease.plugins.xpack.ukey.service.UkeyXpackService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import javax.servlet.ServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/ukey")
|
||||
@RestController
|
||||
public class XUserKeysServer {
|
||||
|
@ -12,7 +12,9 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import io.dataease.plugins.config.SpringContextUtil;
|
||||
import io.dataease.plugins.view.entity.PluginViewType;
|
||||
import io.dataease.plugins.view.service.ViewPluginService;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
@ApiIgnore
|
||||
@RequestMapping("/plugin/view")
|
||||
@RestController
|
||||
public class PluginViewServer {
|
||||
|
@ -135,6 +135,7 @@ public class DatasourceService {
|
||||
return extDataSourceMapper.query(gridExample);
|
||||
}
|
||||
|
||||
@DeCleaner(DePermissionType.DATASOURCE)
|
||||
public void deleteDatasource(String datasourceId) throws Exception {
|
||||
DatasetTableExample example = new DatasetTableExample();
|
||||
example.createCriteria().andDataSourceIdEqualTo(datasourceId);
|
||||
|
Loading…
Reference in New Issue
Block a user