diff --git a/SecurityService.Client/SecurityServiceClient.cs b/SecurityService.Client/SecurityServiceClient.cs index 6a0a227..ae5dd83 100644 --- a/SecurityService.Client/SecurityServiceClient.cs +++ b/SecurityService.Client/SecurityServiceClient.cs @@ -1,594 +1,490 @@ using Shared.Results; using SimpleResults; +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using SecurityService.DataTransferObjects; + +namespace SecurityService.Client; + +public class SecurityServiceClient : ClientProxyBase.ClientProxyBase, ISecurityServiceClient { + private String BaseAddress; + + private readonly Func BaseAddressResolver; + + public SecurityServiceClient(Func baseAddressResolver, + HttpClient httpClient, + Func serialise, + Func deserialise) : base(httpClient, serialise, deserialise) { + this.BaseAddressResolver = baseAddressResolver; + this.BaseAddress = baseAddressResolver("SecurityService"); + } -namespace SecurityService.Client -{ - using System; - using System.Collections.Generic; - using System.Net.Http; - using System.Net.Http.Headers; - using System.Text; - using System.Threading; - using System.Threading.Tasks; - using ClientProxyBase; - using DataTransferObjects; - using Shared.Logger.TennantContext; - - /// - /// - /// - /// - /// - public class SecurityServiceClient : ClientProxyBase, ISecurityServiceClient - { - #region Fields - - /// - /// The base address - /// - private String BaseAddress; - - /// - /// The base address resolver - /// - private readonly Func BaseAddressResolver; - - private readonly HttpClient HttpClient; - - #endregion - - #region Constructors - - /// - /// Initializes a new instance of the class. - /// - /// The base address resolver. - /// The HTTP client. - public SecurityServiceClient(Func baseAddressResolver, - HttpClient httpClient, - Func serialise, - Func deserialise) : base(httpClient, serialise, deserialise) - { - this.BaseAddressResolver = baseAddressResolver; - this.BaseAddress = baseAddressResolver("SecurityService"); - this.HttpClient = httpClient; - } - - #endregion - - //public void SetAccessToken(String accessToken) - //{ - // this.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken); - //} - - #region Methods - - public async Task CreateApiResource(String accessToken, - CreateApiResourceRequest createApiResourceRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/apiresources"); - - try - { - Result result = await this.Post(requestUri, createApiResourceRequest, accessToken, cancellationToken); - - if(result.IsFailed) - return ResultHelpers.CreateFailure(result); - - return Result.Success(); - } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error creating api resource {createApiResourceRequest.Name}.", ex); + public async Task CreateApiResource(String accessToken, + CreateApiResourceRequest createApiResourceRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/apiresources"); + + try { + Result result = await this.Post(requestUri, createApiResourceRequest, accessToken, cancellationToken); - throw exception; + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } + + return Result.Success(); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error creating api resource {createApiResourceRequest.Name}.", ex); - public async Task CreateApiScope(String accessToken, CreateApiScopeRequest createApiScopeRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/apiscopes"); + throw exception; + } + } - try - { - Result result = await this.Post(requestUri, createApiScopeRequest, accessToken, cancellationToken); + public async Task CreateApiScope(String accessToken, CreateApiScopeRequest createApiScopeRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/apiscopes"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Post(requestUri, createApiScopeRequest, accessToken, cancellationToken); - return Result.Success(); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error creating api scope {createApiScopeRequest.Name}.", ex); - throw exception; - } + return Result.Success(); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error creating api scope {createApiScopeRequest.Name}.", ex); - public async Task CreateClient(String accessToken, CreateClientRequest createClientRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/clients"); + throw exception; + } + } - try - { - Result result = await this.Post(requestUri, createClientRequest, accessToken, cancellationToken); + public async Task CreateClient(String accessToken, CreateClientRequest createClientRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/clients"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Post(requestUri, createClientRequest, accessToken, cancellationToken); - return Result.Success(); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error creating client {createClientRequest.ClientId}.", ex); - throw exception; - } + return Result.Success(); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error creating client {createClientRequest.ClientId}.", ex); - public async Task CreateIdentityResource(String accessToken, CreateIdentityResourceRequest createIdentityResourceRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/identityresources"); + throw exception; + } + } - try - { - Result result = await this.Post(requestUri, createIdentityResourceRequest, accessToken, cancellationToken); + public async Task CreateIdentityResource(String accessToken, CreateIdentityResourceRequest createIdentityResourceRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/identityresources"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Post(requestUri, createIdentityResourceRequest, accessToken, cancellationToken); - return Result.Success(); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error creating identity resource {createIdentityResourceRequest.DisplayName}.", ex); - throw exception; - } + return Result.Success(); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error creating identity resource {createIdentityResourceRequest.DisplayName}.", ex); - public async Task CreateRole(String accessToken, CreateRoleRequest createRoleRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/roles"); + throw exception; + } + } - try - { - Result result = await this.Post(requestUri, createRoleRequest, accessToken, cancellationToken); + public async Task CreateRole(String accessToken, CreateRoleRequest createRoleRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/roles"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Post(requestUri, createRoleRequest, accessToken, cancellationToken); - return Result.Success(); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error creating role {createRoleRequest.RoleName}.", ex); - throw exception; - } + return Result.Success(); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error creating role {createRoleRequest.RoleName}.", ex); - /// - /// Creates the user. - /// - /// The create user request. - /// The cancellation token. - /// - public async Task CreateUser(String accessToken, CreateUserRequest createUserRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/users"); + throw exception; + } + } - try - { - Result result = await this.Post(requestUri, createUserRequest, accessToken, cancellationToken); + public async Task CreateUser(String accessToken, CreateUserRequest createUserRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/users"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Post(requestUri, createUserRequest, accessToken, cancellationToken); - return Result.Success(); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error creating user {createUserRequest.EmailAddress}.", ex); - throw exception; - } + return Result.Success(); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error creating user {createUserRequest.EmailAddress}.", ex); - public async Task RequireUserMfa(String accessToken, String userId, CancellationToken cancellationToken) - { - return await this.Put(this.BuildRequestUrl($"/api/users/{userId}/mfa-policy"), new { }, accessToken, cancellationToken); + throw exception; } + } - public async Task RemoveUserMfa(String accessToken, String userId, CancellationToken cancellationToken) - { - return await this.Delete(this.BuildRequestUrl($"/api/users/{userId}/mfa-policy"), accessToken, cancellationToken); - } + public async Task RequireUserMfa(String accessToken, String userId, CancellationToken cancellationToken) => await this.Put(this.BuildRequestUrl($"/api/users/{userId}/mfa-policy"), new { }, accessToken, cancellationToken); - public async Task RequireRoleMfa(String accessToken, String roleId, CancellationToken cancellationToken) - { - return await this.Put(this.BuildRequestUrl($"/api/roles/{roleId}/mfa-policy"), new { }, accessToken, cancellationToken); - } + public async Task RemoveUserMfa(String accessToken, String userId, CancellationToken cancellationToken) => await this.Delete(this.BuildRequestUrl($"/api/users/{userId}/mfa-policy"), accessToken, cancellationToken); - public async Task RemoveRoleMfa(String accessToken, String roleId, CancellationToken cancellationToken) - { - return await this.Delete(this.BuildRequestUrl($"/api/roles/{roleId}/mfa-policy"), accessToken, cancellationToken); - } + public async Task RequireRoleMfa(String accessToken, String roleId, CancellationToken cancellationToken) => await this.Put(this.BuildRequestUrl($"/api/roles/{roleId}/mfa-policy"), new { }, accessToken, cancellationToken); - public async Task> GetApiResource(String accessToken, String apiResourceName, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl($"/api/apiresources/{apiResourceName}"); + public async Task RemoveRoleMfa(String accessToken, String roleId, CancellationToken cancellationToken) => await this.Delete(this.BuildRequestUrl($"/api/roles/{roleId}/mfa-policy"), accessToken, cancellationToken); - try { - Result result = await this.Get(requestUri, accessToken, cancellationToken); + public async Task> GetApiResource(String accessToken, String apiResourceName, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl($"/api/apiresources/{apiResourceName}"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); - - return Result.Success(result.Data); - } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error getting api resource {apiResourceName}.", ex); + try { + Result result = await this.Get(requestUri, accessToken, cancellationToken); - throw exception; + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } + + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error getting api resource {apiResourceName}.", ex); - public async Task>> GetApiResources(String accessToken, CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/apiresources"); + throw exception; + } + } - try - { - Result> result = await this.Get>(requestUri, accessToken, cancellationToken); + public async Task>> GetApiResources(String accessToken, CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/apiresources"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result> result = await this.Get>(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error getting api resources.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error getting api resources.", ex); - public async Task> GetApiScope(String accessToken, String apiScopeName, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl($"/api/apiscopes/{apiScopeName}"); + throw exception; + } + } - try - { - var result = await this.Get(requestUri, accessToken, cancellationToken); + public async Task> GetApiScope(String accessToken, String apiScopeName, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl($"/api/apiscopes/{apiScopeName}"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Get(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error getting api scope {apiScopeName}.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error getting api scope {apiScopeName}.", ex); - public async Task>> GetApiScopes(String accessToken, CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/apiscopes"); + throw exception; + } + } - try - { - var result = await this.Get>(requestUri, accessToken, cancellationToken); + public async Task>> GetApiScopes(String accessToken, CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/apiscopes"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result> result = await this.Get>(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error getting api scopes.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error getting api scopes.", ex); - public async Task> GetClient(String accessToken, String clientId, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl($"/api/clients/{clientId}"); + throw exception; + } + } - try - { - var result = await this.Get(requestUri, accessToken, cancellationToken); + public async Task> GetClient(String accessToken, String clientId, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl($"/api/clients/{clientId}"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Get(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error getting client {clientId}.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error getting client {clientId}.", ex); - public async Task>> GetClients(String accessToken, CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/clients"); + throw exception; + } + } - try - { - var result = await this.Get>(requestUri, accessToken, cancellationToken); + public async Task>> GetClients(String accessToken, CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/clients"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result> result = await this.Get>(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error getting clients.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error getting clients.", ex); - public async Task> GetIdentityResource(String accessToken, String identityResourceName, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl($"/api/identityresources/{identityResourceName}"); + throw exception; + } + } - try - { - var result = await this.Get(requestUri, accessToken, cancellationToken); + public async Task> GetIdentityResource(String accessToken, String identityResourceName, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl($"/api/identityresources/{identityResourceName}"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Get(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error getting identity resource {identityResourceName}.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error getting identity resource {identityResourceName}.", ex); - public async Task>> GetIdentityResources(String accessToken, CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/identityresources"); + throw exception; + } + } - try - { - var result = await this.Get>(requestUri, accessToken, cancellationToken); + public async Task>> GetIdentityResources(String accessToken, CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/identityresources"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result> result = await this.Get>(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error getting identity resources.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error getting identity resources.", ex); - public async Task> GetRole(String accessToken, String roleId, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl($"/api/roles/{roleId}"); + throw exception; + } + } - try - { - var result = await this.Get(requestUri, accessToken, cancellationToken); + public async Task> GetRole(String accessToken, String roleId, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl($"/api/roles/{roleId}"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Get(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error get role with Id {roleId}.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error get role with Id {roleId}.", ex); - public async Task>> GetRoles(String accessToken, CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/roles"); + throw exception; + } + } - try - { - var result = await this.Get>(requestUri, accessToken, cancellationToken); + public async Task>> GetRoles(String accessToken, CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/roles"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result> result = await this.Get>(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error get roles.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error get roles.", ex); - public async Task> GetToken(String username, - String password, - String clientId, - String clientSecret, - CancellationToken cancellationToken) - { - StringBuilder queryString = new StringBuilder(); + throw exception; + } + } - queryString.Append("grant_type=password"); - queryString.Append($"&client_id={clientId}"); - queryString.Append($"&client_secret={clientSecret}"); - queryString.Append($"&username={username}"); - queryString.Append($"&password={password}"); + public async Task> GetToken(String username, + String password, + String clientId, + String clientSecret, + CancellationToken cancellationToken) { + StringBuilder queryString = new(); - return await this.GetToken(queryString.ToString(), cancellationToken); - } + queryString.Append("grant_type=password"); + queryString.Append($"&client_id={clientId}"); + queryString.Append($"&client_secret={clientSecret}"); + queryString.Append($"&username={username}"); + queryString.Append($"&password={password}"); - public async Task> GetToken(String clientId, - String clientSecret, - CancellationToken cancellationToken) - { - StringBuilder queryString = new StringBuilder(); + return await this.GetToken(queryString.ToString(), cancellationToken); + } - queryString.Append("grant_type=client_credentials"); - queryString.Append($"&client_id={clientId}"); - queryString.Append($"&client_secret={clientSecret}"); + public async Task> GetToken(String clientId, + String clientSecret, + CancellationToken cancellationToken) { + StringBuilder queryString = new(); - return await this.GetToken(queryString.ToString(), cancellationToken); - } + queryString.Append("grant_type=client_credentials"); + queryString.Append($"&client_id={clientId}"); + queryString.Append($"&client_secret={clientSecret}"); - public async Task> GetToken(String clientId, - String clientSecret, - String refreshToken, - CancellationToken cancellationToken) - { - StringBuilder queryString = new StringBuilder(); + return await this.GetToken(queryString.ToString(), cancellationToken); + } - queryString.Append("grant_type=client_credentials"); - queryString.Append($"&client_id={clientId}"); - queryString.Append($"&client_secret={clientSecret}"); - queryString.Append($"&refresh_token={refreshToken}"); + public async Task> GetToken(String clientId, + String clientSecret, + String refreshToken, + CancellationToken cancellationToken) { + StringBuilder queryString = new(); - return await this.GetToken(queryString.ToString(), cancellationToken); - } + queryString.Append("grant_type=client_credentials"); + queryString.Append($"&client_id={clientId}"); + queryString.Append($"&client_secret={clientSecret}"); + queryString.Append($"&refresh_token={refreshToken}"); - public async Task> GetUser(String accessToken, String userId, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl($"/api/users/{userId}"); + return await this.GetToken(queryString.ToString(), cancellationToken); + } - try - { - Result result = await this.Get(requestUri, accessToken, cancellationToken); + public async Task> GetUser(String accessToken, String userId, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl($"/api/users/{userId}"); - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + try { + Result result = await this.Get(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception($"Error get user with Id {userId}.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new($"Error get user with Id {userId}.", ex); - public async Task>> GetUsers(String accessToken, String userName, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/api/users"); + throw exception; + } + } - try - { - if (string.IsNullOrEmpty(userName) == false) - { - requestUri = $"{requestUri}?username={userName}"; - } + public async Task>> GetUsers(String accessToken, String userName, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/api/users"); - var result = await this.Get>(requestUri, accessToken, cancellationToken); + try { + if (string.IsNullOrEmpty(userName) == false) { + requestUri = $"{requestUri}?username={userName}"; + } - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + Result> result = await this.Get>(requestUri, accessToken, cancellationToken); - return Result.Success(result.Data); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error get users.", ex); - throw exception; - } + return Result.Success(result.Data); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error get users.", ex); - private String BuildRequestUrl(String route) - { - if (string.IsNullOrEmpty(this.BaseAddress)) - { - this.BaseAddress = this.BaseAddressResolver("SecurityService"); - } + throw exception; + } + } - String requestUri = $"{this.BaseAddress}{route}"; - return requestUri; + private String BuildRequestUrl(String route) { + if (string.IsNullOrEmpty(this.BaseAddress)) { + this.BaseAddress = this.BaseAddressResolver("SecurityService"); } - private async Task> GetToken(String tokenRequest, - CancellationToken cancellationToken) - { - String requestUri = this.BuildRequestUrl("/connect/token"); + String requestUri = $"{this.BaseAddress}{route}"; + return requestUri; + } - try - { - StringContent httpContent = new StringContent(tokenRequest, Encoding.UTF8, "application/x-www-form-urlencoded"); + private async Task> GetToken(String tokenRequest, + CancellationToken cancellationToken) { + String requestUri = this.BuildRequestUrl("/connect/token"); - // Make the Http Call here - var result = await this.Post(requestUri, httpContent, cancellationToken); + try { + StringContent httpContent = new(tokenRequest, Encoding.UTF8, "application/x-www-form-urlencoded"); - - if (result.IsFailed) - return ResultHelpers.CreateFailure(result); + // Make the Http Call here + Result result = await this.Post(requestUri, httpContent, cancellationToken); - // call was successful so now deserialise the body to the response object - TokenResponse responseData = TokenResponse.Create(result.Data); - return Result.Success(responseData); + if (result.IsFailed) { + return ResultHelpers.CreateFailure(result); } - catch(Exception ex) - { - // An exception has occurred, add some additional information to the message - Exception exception = new Exception("Error getting token.", ex); - throw exception; - } + // call was successful so now deserialise the body to the response object + TokenResponse responseData = TokenResponse.Create(result.Data); + + return Result.Success(responseData); } + catch (Exception ex) { + // An exception has occurred, add some additional information to the message + Exception exception = new("Error getting token.", ex); - #endregion + throw exception; + } } -} +} \ No newline at end of file