Esempio n. 1
0
        public async Task <ActionResult <UserCredentialsUpdateApiModel> > EditRoles(
            [FromBody] UserRolesBindingModel binding, [FromRoute] string userName)
        {
            await _userService.UpdateUserRolesAsync(userName, binding.Roles);

            return(Ok(await GetAdminUserResultAsync(userName)));
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> RemoveRolesFromUser(string id, [FromBody] UserRolesBindingModel model)
        {
            if (model == null)
            {
                return(BadRequest("Payload is empty!"));
            }

            var user = await UserManager.FindByIdAsync(id);

            if (user == null)
            {
                return(NotFound());
            }

            var rolesNotExists = model.Roles.Except(RoleManager.Roles.Select(x => x.Name)).ToArray();

            if (rolesNotExists.Any())
            {
                ModelState.AddModelError("", $"Roles '{string.Join(",", rolesNotExists)}' does not exixts.");
                return(BadRequest(ModelState));
            }

            var currentUserRoles = await UserManager.GetRolesAsync(user.Id);

            var rolesToRemove = currentUserRoles.Intersect(model.Roles).ToArray();

            await UserManager.RemoveFromRolesAsync(user.Id, rolesToRemove);

            var userRoles     = user.Roles;
            var userRolesList = new List <Role>();

            foreach (var userRole in userRoles)
            {
                var role = await RoleManager.FindByIdAsync(userRole.RoleId);

                userRolesList.Add(role);
            }

            var userRolesDto = userRolesList.Select(RoleFactory.GetModel <RoleForAdminDto>);

            return(Ok(userRolesDto));
        }
Esempio n. 3
0
 public async Task <IHttpActionResult> RemoveRolesFromUser(string id, UserRolesBindingModel model)
 => Ok(await _userService.RemoveRolesFromUser(id, model.Roles));
Esempio n. 4
0
 public async Task <IHttpActionResult> AddRolesToUser(string id, UserRolesBindingModel model)
 => Ok(await _userService.AddRolesToUser(id, model.Roles));