示例#1
0
        //GET/api/auth/getuserroles
        public async Task <IActionResult> GetUserRoles([FromQuery] string userId)
        {
            //HERE -> CustomException skapar inte en user klass när user är null
            if (String.IsNullOrEmpty(userId))
            {
                return(new JsonResult(await Errors
                                      .GetGenericErrorResponse(
                                          new GetUserRolesResponse()
                {
                    Email = "no_email",
                    Roles = new List <string>(),
                    UserId = userId,
                    StatusCode = 400,
                    Error = "UserId can not be empty",
                    Description = "UserId cannot be empty.",
                    Code = "userId_can_not_be_empty"
                })));
            }

            User user = await _accountsService.GetUser(userId);

            if (user == null)
            {
                return(new JsonResult(await Errors
                                      .GetGenericErrorResponse(
                                          new GetUserRolesResponse()
                {
                    Email = "no_email",
                    Roles = new List <string>(),
                    UserId = userId,
                    StatusCode = 404,
                    Error = "User is not found",
                    Description = "User can not be found.",
                    Code = "user_is_not_found"
                })));
            }

            RolesForUser userRoles = await _accountsService.GetUserRoles(user);

            return(new JsonResult(
                       Wrappyfier
                       .WrapGetUserRoles(
                           user.Id,
                           user.Email,
                           userRoles.Roles.ToList(),
                           200)));
        }