public Map<CaseInsensitiveString, Permissions> pipelinesAndTheirPermissions() { return pipelinesInGroupsAndTheirPermissions(goConfigService.groups()); }
public Map<String, List<Pair<PipelineConfig, PipelineConfigs>>> getPackageUsageInPipelines() { return groups().getPackageUsageInPipelines(); }
public List<PipelineConfigs> getGroupsForUser(String userName) { List<PipelineConfigs> pipelineGroups = new ArrayList<>(); for (PipelineConfigs pipelineGroup : goConfigService.groups()) { if (securityService.hasViewPermissionForGroup(userName, pipelineGroup.getGroup())) { pipelineGroups.add(pipelineGroup); } } return pipelineGroups; }
public List<GoDashboardPipelineGroup> allPipelineGroupsForDashboard(DashboardFilter filter, Username user) { GoDashboardPipelines allPipelines = cache.allEntries(); List<GoDashboardPipelineGroup> pipelineGroups = new ArrayList<>(); goConfigService.groups().accept(group -> { GoDashboardPipelineGroup dashboardPipelineGroup = dashboardPipelineGroupFor(group, filter, user, allPipelines); if (dashboardPipelineGroup.hasPipelines()) { pipelineGroups.add(dashboardPipelineGroup); } }); return pipelineGroups; }
public MaterialConfigs getMaterialConfigs(String username) { MaterialConfigs materialConfigs = new MaterialConfigs(); Set<String> materialFingerprints = new HashSet<>(); for (PipelineConfigs pipelineGroup : goConfigService.groups()) { if (securityService.hasViewPermissionForGroup(username, pipelineGroup.getGroup())) { for (PipelineConfig pipelineConfig : pipelineGroup) { for (MaterialConfig currentMaterialConfig : pipelineConfig.materialConfigs()) { if (!materialFingerprints.contains(currentMaterialConfig.getFingerprint())) { materialConfigs.add(currentMaterialConfig); materialFingerprints.add(currentMaterialConfig.getFingerprint()); } } } } } return materialConfigs; }
@Override public boolean canContinue(CruiseConfig cruiseConfig) { if (goConfigService.groups().hasGroup(groupName) && !goConfigService.isUserAdminOfGroup(currentUser.getUsername(), groupName)) { result.forbidden(forbiddenToEditGroup(groupName), forbidden()); return false; } return true; } }
public MaterialConfig getMaterialConfig(String username, String materialFingerprint, OperationResult result) { MaterialConfig materialConfig = null; boolean hasViewPermissionForMaterial = false; for (PipelineConfigs pipelineGroup : goConfigService.groups()) { boolean hasViewPermissionForGroup = securityService.hasViewPermissionForGroup(username, pipelineGroup.getGroup()); for (PipelineConfig pipelineConfig : pipelineGroup) { for (MaterialConfig currentMaterialConfig : pipelineConfig.materialConfigs()) { if (currentMaterialConfig.getFingerprint().equals(materialFingerprint)) { materialConfig = currentMaterialConfig; if (hasViewPermissionForGroup) { hasViewPermissionForMaterial = true; break; } } } } } if (materialConfig == null) { result.notFound("Not Found", "Material not found", HealthStateType.general(HealthStateScope.GLOBAL)); return null; } if (!hasViewPermissionForMaterial) { result.forbidden("Unauthorized", "Do not have view permission to this material", HealthStateType.general(HealthStateScope.GLOBAL)); return null; } return materialConfig; } }
@Override public boolean canContinue(CruiseConfig cruiseConfig) { String groupName = goConfigService.findGroupNameByPipeline(pipelineConfig.name()); if (goConfigService.groups().hasGroup(groupName) && !goConfigService.isUserAdminOfGroup(currentUser.getUsername(), groupName)) { result.forbidden(LocalizedMessage.forbiddenToDelete("Pipeline", pipelineConfig.getName()), HealthStateType.forbidden()); return false; } return true; } }
boolean hasViewPermissionForMaterial = false; List<PipelineConfig> downstreamPipelines = new ArrayList<>(); for (PipelineConfigs pipelineGroup : goConfigService.groups()) { boolean hasViewPermissionForGroup = securityService.hasViewPermissionForGroup(CaseInsensitiveString.str(username.getUsername()), pipelineGroup.getGroup()); for (PipelineConfig pipelineConfig : pipelineGroup) {