public async Task GetUserRolesAsync()

in src/Services/User/User.Infrastructure/Identity/IdentityService.cs [215:237]


        public async Task<(Result Result, string[] UserRoles)> GetUserRolesAsync(string userToken)
        {
            logger.LogInformation("Start retrieving the role for user with token {userToken}.", userToken);

            (Result searchResult, ApplicationUser user) = await FindUserByTokenAsync(userToken);

            if (!searchResult.Succeeded)
            {
                logger.LogError("Error retrieving roles for user with token {userToken}. Errors: {@message}",
                    userToken,
                    searchResult.Errors);

                return (searchResult, Array.Empty<string>());
            }

            IList<string> roles = await userManager.GetRolesAsync(user);

            logger.LogInformation("Successfully retrieved roles for {userName} user with token {userToken}.",
                user.UserName,
                userToken);

            return (Result.Success(), roles.ToArray());
        }