private PrincipalRolesHandler(ServiceHost host, PrincipalRoleAssignment roleAssignment, String principalId) { this.setService(service); this.setPrincipalId(principalId); }
public static PrincipalRolesHandler create() { return new PrincipalRolesHandler(); }
private void doRoleAssignment(PrincipalRoleAssignment roleAssignment, String principalId) { TestContext ctx = testCreate(1); PrincipalRolesHandler.create() .setService(privilegedTestService) .setPrincipalId(principalId) .setRoleAssignment(roleAssignment) .update() .whenComplete((ignore, ex) -> { if (ex != null) { ctx.failIteration(ex); return; } ctx.completeIteration(); }); ctx.await(); } }
public DeferredResult<Void> update() { if ((roleAssignment.add == null || roleAssignment.add.isEmpty()) && (roleAssignment.remove == null || roleAssignment.remove.isEmpty())) { return DeferredResult.completed(null); } return PrincipalUtil.getPrincipal(service, encode(principalId)) .thenCompose(principal -> { if (principal.type == PrincipalType.GROUP) { return handleUserGroup(); } return handleUser(); }); }
private DeferredResult<Void> handleUserGroupRoleUnassignment(AuthRole role) { if (role == AuthRole.CLOUD_ADMIN) { return handleCloudAdminGroupUnassignment(); } return DeferredResult.failed(new LocalizableValidationException( ROLE_NOT_SUPPORTED_MESSAGE, ROLE_NOT_SUPPORTED_MESSAGE_CODE, role.name())); }
private DeferredResult<Void> handleUserGroupRoleAssignment(AuthRole role) { if (role == AuthRole.CLOUD_ADMIN) { return handleCloudAdminGroupAssignment(principalId); } return DeferredResult.failed(new LocalizableValidationException( ROLE_NOT_SUPPORTED_MESSAGE, ROLE_NOT_SUPPORTED_MESSAGE_CODE, role.name())); }
if (!PrincipalRolesHandler.isPrincipalRolesUpdate(patch)) { patch.fail(new LocalizableValidationException("Unsupported body content.", "auth.body.content.not.supported")); DeferredResult<Void> result = PrincipalRolesHandler.create() .setService(this) .setPrincipalId(principalId) .setRoleAssignment(body) .update();