private static Permissions grantPermissionToUser(String username, Permissions permissions) throws GenericException, NotFoundException, RequestNotValidException, AuthorizationDeniedException { Set<Permissions.PermissionType> allPermissions = Stream .of(Permissions.PermissionType.CREATE, Permissions.PermissionType.DELETE, Permissions.PermissionType.GRANT, Permissions.PermissionType.READ, Permissions.PermissionType.UPDATE) .collect(Collectors.toSet()); permissions.setUserPermissions(username, allPermissions); return permissions; }
public static Permissions getIngestPermissions(String username) { Permissions permissions = new Permissions(); permissions.setUserPermissions(username, new HashSet<>(Arrays.asList(Permissions.PermissionType.CREATE, Permissions.PermissionType.READ, Permissions.PermissionType.UPDATE, Permissions.PermissionType.DELETE, Permissions.PermissionType.GRANT))); permissions.setGroupPermissions(RodaConstants.ADMINISTRATORS, new HashSet<>(Arrays.asList(Permissions.PermissionType.CREATE, Permissions.PermissionType.READ, Permissions.PermissionType.UPDATE, Permissions.PermissionType.DELETE, Permissions.PermissionType.GRANT))); return permissions; } }
private static Optional<String> createGhost(String ancestor, Optional<String> parent, ModelService model, IndexService index, String jobId) throws NotFoundException, GenericException, RequestNotValidException, AlreadyExistsException, AuthorizationDeniedException { String username = getJobUsername(jobId, index); Permissions permissions = new Permissions(); permissions.setUserPermissions(username, new HashSet<>(Arrays.asList(Permissions.PermissionType.CREATE, Permissions.PermissionType.READ, Permissions.PermissionType.UPDATE, Permissions.PermissionType.DELETE, Permissions.PermissionType.GRANT))); boolean isGhost = true; AIP ghostAIP = model.createAIP(parent.orElse(null), "", permissions, Arrays.asList(ancestor), jobId, true, username, isGhost); return Optional.ofNullable(ghostAIP.getId()); }
public static Permissions grantAllPermissions(String username, Permissions permissions, Permissions parentPermissions) throws GenericException, NotFoundException, RequestNotValidException, AuthorizationDeniedException { Permissions grantedPermissions = grantPermissionToUser(username, permissions); for (String name : parentPermissions.getUsernames()) { grantedPermissions.setUserPermissions(name, parentPermissions.getUserPermissions(name)); } for (String name : parentPermissions.getGroupnames()) { grantedPermissions.setGroupPermissions(name, parentPermissions.getGroupPermissions(name)); } return grantedPermissions; }
private Permissions addParentPermissions(Permissions permissions, String parentId) throws RequestNotValidException, NotFoundException, GenericException, AuthorizationDeniedException { if (parentId != null) { AIP parentAIP = this.retrieveAIP(parentId); Set<String> parentGroupnames = parentAIP.getPermissions().getGroupnames(); Set<String> parentUsernames = parentAIP.getPermissions().getUsernames(); Set<String> groupnames = permissions.getGroupnames(); Set<String> usernames = permissions.getUsernames(); for (String user : parentUsernames) { if (!usernames.contains(user)) { permissions.setUserPermissions(user, parentAIP.getPermissions().getUserPermissions(user)); } } for (String group : parentGroupnames) { if (!groupnames.contains(group)) { permissions.setGroupPermissions(group, parentAIP.getPermissions().getGroupPermissions(group)); } } } return permissions; }
permissions.setUserPermissions(user, Sets.newHashSet(PermissionType.READ));