private boolean hasViewPermission(String groupName) { return securityService.hasViewPermissionForGroup(userName, groupName); } }
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<CaseInsensitiveString> viewablePipelinesFor(Username username) { List<CaseInsensitiveString> pipelines = new ArrayList<>(); for (String group : goConfigService.allGroups()) { if (hasViewPermissionForGroup(CaseInsensitiveString.str(username.getUsername()), group)) { pipelines.addAll(goConfigService.pipelines(group)); } } return pipelines; }
public List<PipelineConfigs> viewableGroupsFor(Username username) { ArrayList<PipelineConfigs> list = new ArrayList<>(); for (PipelineConfigs pipelineConfigs : goConfigService.cruiseConfig().getGroups()) { if (securityService.hasViewPermissionForGroup(CaseInsensitiveString.str(username.getUsername()), pipelineConfigs.getGroup())) { list.add(pipelineConfigs); } } return list; }
public boolean hasViewPermissionForPipeline(Username username, String pipelineName) { String groupName = goConfigService.findGroupNameByPipeline(new CaseInsensitiveString(pipelineName)); if (groupName == null) { return true; } return hasViewPermissionForGroup(CaseInsensitiveString.str(username.getUsername()), groupName); }
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; }
private boolean hasViewOrOperatePermissionForGroup(Username username, String group) { return securityService.hasViewPermissionForGroup(CaseInsensitiveString.str(username.getUsername()), group) || securityService.hasOperatePermissionForGroup(username.getUsername(), group); }
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; } }
List<PipelineConfig> downstreamPipelines = new ArrayList<>(); for (PipelineConfigs pipelineGroup : goConfigService.groups()) { boolean hasViewPermissionForGroup = securityService.hasViewPermissionForGroup(CaseInsensitiveString.str(username.getUsername()), pipelineGroup.getGroup()); for (PipelineConfig pipelineConfig : pipelineGroup) { for (MaterialConfig currentMaterialConfig : pipelineConfig.materialConfigs()) {