public KubeProfileEditController()

in teamcity-kubernetes-plugin-server/src/main/java/jetbrains/buildServer/clouds/kubernetes/web/KubeProfileEditController.java [59:94]


    public KubeProfileEditController(@NotNull final SBuildServer server,
                                     @NotNull final WebControllerManager web,
                                     @NotNull final PluginDescriptor pluginDescriptor,
                                     @NotNull final AgentPoolManager agentPoolManager,
                                     @NotNull final KubeAuthStrategyProvider authStrategyProvider,
                                     @NotNull final BuildAgentPodTemplateProviders podTemplateProviders,
                                     @NotNull final KubernetesCredentialsFactory credentialsFactory,
                                     @NotNull final AuthorizationInterceptor authInterceptor,
                                     @NotNull final ProjectManager projectManager,
                                     @NotNull final ProjectIdentifiersManager identifiersManager){
        super(server);
        myPluginDescriptor = pluginDescriptor;
        myCredentialsFactory = credentialsFactory;
        String path = pluginDescriptor.getPluginResourcesPath(EDIT_KUBE_HTML);
        myAgentPoolManager = agentPoolManager;
        myAuthStrategyProvider = authStrategyProvider;
        myPodTemplateProviders = podTemplateProviders;
        myIdentifiersManager = identifiersManager;
        web.registerController(path, this);
        authInterceptor.addPathBasedPermissionsChecker(path, new RequestPermissionsCheckerEx() {
            @Override
            public void checkPermissions(@NotNull SecurityContextEx securityContext, @NotNull HttpServletRequest request) {
                if (!isTestConnection(request)) {
                    return;
                }

                final String projectId = request.getParameter("projectId");
                final SProject project = projectManager.findProjectByExternalId(projectId);
                if (project == null) {
                    throw new AccessDeniedException(securityContext.getAuthorityHolder(), String.format("No project with id '%s' found", projectId));
                } else {
                    securityContext.getAccessChecker().checkCanEditProject(project);
                }
            }
        });
    }