|
@@ -2,8 +2,11 @@ package cn.reghao.devops.manager.app.service.bd.impl;
|
|
|
|
|
|
|
|
import cn.reghao.devops.common.build.chain.BuildHandlers;
|
|
import cn.reghao.devops.common.build.chain.BuildHandlers;
|
|
|
import cn.reghao.devops.common.build.model.AppDto;
|
|
import cn.reghao.devops.common.build.model.AppDto;
|
|
|
|
|
+import cn.reghao.devops.common.build.model.constant.EnvType;
|
|
|
|
|
+import cn.reghao.devops.manager.account.service.UserContext;
|
|
|
import cn.reghao.devops.manager.app.model.po.AppBuilding;
|
|
import cn.reghao.devops.manager.app.model.po.AppBuilding;
|
|
|
import cn.reghao.devops.manager.app.model.po.config.AppConfig;
|
|
import cn.reghao.devops.manager.app.model.po.config.AppConfig;
|
|
|
|
|
+import cn.reghao.devops.manager.app.service.PermissionCheck;
|
|
|
import cn.reghao.devops.manager.app.service.bd.BuildDeployNotify;
|
|
import cn.reghao.devops.manager.app.service.bd.BuildDeployNotify;
|
|
|
import cn.reghao.devops.manager.app.service.bd.DeployApp;
|
|
import cn.reghao.devops.manager.app.service.bd.DeployApp;
|
|
|
import cn.reghao.devops.manager.app.service.bd.BuildStat;
|
|
import cn.reghao.devops.manager.app.service.bd.BuildStat;
|
|
@@ -15,17 +18,15 @@ import cn.reghao.devops.common.build.chain.Bootstrap;
|
|
|
import cn.reghao.devops.common.build.chain.Handler;
|
|
import cn.reghao.devops.common.build.chain.Handler;
|
|
|
import cn.reghao.devops.manager.account.model.constant.RoleType;
|
|
import cn.reghao.devops.manager.account.model.constant.RoleType;
|
|
|
import cn.reghao.devops.manager.account.model.po.User;
|
|
import cn.reghao.devops.manager.account.model.po.User;
|
|
|
-import cn.reghao.devops.manager.account.model.po.UserAuthority;
|
|
|
|
|
import cn.reghao.jutil.jdk.result.Result;
|
|
import cn.reghao.jutil.jdk.result.Result;
|
|
|
import cn.reghao.jutil.jdk.result.ResultStatus;
|
|
import cn.reghao.jutil.jdk.result.ResultStatus;
|
|
|
import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;
|
|
import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;
|
|
|
import cn.reghao.jutil.tool.id.IdGenerator;
|
|
import cn.reghao.jutil.tool.id.IdGenerator;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.security.core.Authentication;
|
|
|
|
|
-import org.springframework.security.core.context.SecurityContextHolder;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Set;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
import java.util.concurrent.ExecutorService;
|
|
|
|
|
|
|
@@ -62,16 +63,7 @@ public class BuildAppImpl implements BuildApp {
|
|
|
throw new Exception(appId + " 不存在");
|
|
throw new Exception(appId + " 不存在");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- Authentication authToken = SecurityContextHolder.getContext().getAuthentication();
|
|
|
|
|
- if (authToken == null) {
|
|
|
|
|
- throw new Exception("未登录");
|
|
|
|
|
- } else {
|
|
|
|
|
- boolean isAdmin = authToken.getAuthorities().contains(new UserAuthority(RoleType.ROLE_ADMIN.name()));
|
|
|
|
|
- if ("prod".equals(appConfig.getEnv()) && !isAdmin) {
|
|
|
|
|
- throw new Exception("没有权限");
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- User user = (User) authToken.getDetails();
|
|
|
|
|
|
|
+ User user = PermissionCheck.check(appConfig.getEnv());
|
|
|
String buildBy = user.getScreenName();
|
|
String buildBy = user.getScreenName();
|
|
|
AppDto appDto = appConfig.getAppDto();
|
|
AppDto appDto = appConfig.getAppDto();
|
|
|
localBuild(appDto, buildBy, deploy);
|
|
localBuild(appDto, buildBy, deploy);
|