Esempio n. 1
0
        public async Task <IHttpActionResult> AssignMembers(int groupId, AssignScope scope, string search = null)
        {
            SearchFieldValidator.Validate(search);

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

            await _privilegesManager.Demand(Session.UserId, InstanceAdminPrivileges.ManageGroups);

            var result = await _groupRepository.AssignMembers(groupId, scope, search);

            return(Ok(new AssignResult()
            {
                TotalAssigned = result
            }));
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> RemoveMembersFromGroup(int groupId, [FromBody] AssignScope scope)
        {
            if (scope == null)
            {
                throw new BadRequestException(ErrorMessages.InvalidGroupMembersParameters, ErrorCodes.BadRequest);
            }

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

            await _privilegesManager.Demand(Session.UserId, InstanceAdminPrivileges.ManageGroups);

            var result = await _groupRepository.DeleteMembersFromGroupAsync(groupId, scope);

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