示例#1
0
        public async Task <IHttpActionResult> DeleteRoleAssignment(int projectId, [FromBody] OperationScope scope, string search = null)
        {
            SearchFieldValidator.Validate(search);

            if (scope == null)
            {
                throw new BadRequestException(ErrorMessages.InvalidDeleteRoleAssignmentsParameters, ErrorCodes.BadRequest);
            }

            if (scope.IsEmpty())
            {
                return(Ok(DeleteResult.Empty));
            }

            await _privilegesManager.DemandAny(Session.UserId, projectId,
                                               InstanceAdminPrivileges.AccessAllProjectsAdmin, ProjectAdminPrivileges.ManageGroupsAndRoles);

            var result = await _instanceRepository.DeleteRoleAssignmentsAsync(projectId, scope, search);

            return(Ok(new DeleteResult {
                TotalDeleted = result
            }));
        }