public async Task <IActionResult> GetProfile()
        {
            var userToken = User.GetToken();

            (Result stateResult, UserInfo userInfo) = GetExecutionResult(() => userStateService.GetUserInformation(userToken));

            if (!stateResult.Succeeded)
            {
                return(InternalServerError(stateResult));
            }

            (Result rolesResult, string[] userRoles) = await identityService.GetUserRolesAsync(userToken);

            if (!rolesResult.Succeeded)
            {
                return(InternalServerError(rolesResult));
            }

            ProfileResponse response = BuildProfileResponse(userInfo, userRoles);

            return(Ok(response));
        }