diff options
Diffstat (limited to 'code/api/src/Endpoints')
4 files changed, 21 insertions, 35 deletions
diff --git a/code/api/src/Endpoints/Internal/Root/ReadConfigurationRoute.cs b/code/api/src/Endpoints/Internal/Root/ReadConfigurationRoute.cs index a02dbb8..14a4186 100644 --- a/code/api/src/Endpoints/Internal/Root/ReadConfigurationRoute.cs +++ b/code/api/src/Endpoints/Internal/Root/ReadConfigurationRoute.cs @@ -2,18 +2,14 @@ namespace IOL.GreatOffice.Api.Endpoints.Internal.Root; public class ReadConfigurationRoute : RouteBaseSync.WithoutRequest.WithActionResult { - private readonly VaultService _vaultService; - - public ReadConfigurationRoute(VaultService vaultService) + public ReadConfigurationRoute() { - _vaultService = vaultService; } [AllowAnonymous] [HttpGet("~/_/configuration")] public override ActionResult Handle() { - var config = _vaultService.GetCurrentAppConfiguration(); - return Content(JsonSerializer.Serialize(config.GetPublicObject()), "application/json"); + return Content(JsonSerializer.Serialize(Program.AppConfiguration.GetPublicObject()), "application/json"); } }
\ No newline at end of file diff --git a/code/api/src/Endpoints/Internal/Root/RefreshConfigurationRoute.cs b/code/api/src/Endpoints/Internal/Root/RefreshConfigurationRoute.cs deleted file mode 100644 index 2bbfd8f..0000000 --- a/code/api/src/Endpoints/Internal/Root/RefreshConfigurationRoute.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace IOL.GreatOffice.Api.Endpoints.Internal.Root; - -public class RefreshConfigurationRoute : RouteBaseAsync.WithoutRequest.WithoutResult -{ - private readonly VaultService _vaultService; - - public RefreshConfigurationRoute(VaultService vaultService) { - _vaultService = vaultService; - } - - [HttpGet("~/_/refresh-configuration")] - public override async Task HandleAsync(CancellationToken cancellationToken = default) { - await _vaultService.RefreshCurrentAppConfigurationAsync(); - } -}
\ No newline at end of file diff --git a/code/api/src/Endpoints/Internal/Root/ValidateRoute.cs b/code/api/src/Endpoints/Internal/Root/ValidateRoute.cs index 8f0882d..d8ec85a 100644 --- a/code/api/src/Endpoints/Internal/Root/ValidateRoute.cs +++ b/code/api/src/Endpoints/Internal/Root/ValidateRoute.cs @@ -6,11 +6,11 @@ public class ValidateRoute : RouteBaseSync.WithRequest<ValidateRoute.QueryParams private readonly string CanonicalFrontendUrl; private readonly ILogger<ValidateRoute> _logger; - public ValidateRoute(VaultService vaultService, EmailValidationService emailValidation, ILogger<ValidateRoute> logger) { + public ValidateRoute(EmailValidationService emailValidation, ILogger<ValidateRoute> logger) + { _emailValidation = emailValidation; _logger = logger; - var c = vaultService.GetCurrentAppConfiguration(); - CanonicalFrontendUrl = c.CANONICAL_FRONTEND_URL; + CanonicalFrontendUrl = Program.AppConfiguration.CANONICAL_FRONTEND_URL; } public class QueryParams @@ -20,9 +20,11 @@ public class ValidateRoute : RouteBaseSync.WithRequest<ValidateRoute.QueryParams } [HttpGet("~/_/validate")] - public override ActionResult Handle([FromQuery] QueryParams request) { + public override ActionResult Handle([FromQuery] QueryParams request) + { var isFulfilled = _emailValidation.FulfillEmailValidationRequest(request.Id, LoggedInUser.Id); - if (!isFulfilled) { + if (!isFulfilled) + { _logger.LogError("Email validation fulfillment failed for request {requestId} and user {userId}", request.Id, LoggedInUser.Id); return StatusCode(400, $""" <html> diff --git a/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs b/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs index 163ddb6..c28f534 100644 --- a/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs +++ b/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs @@ -5,12 +5,11 @@ namespace IOL.GreatOffice.Api.Endpoints.V1.ApiTokens; public class CreateTokenRoute : RouteBaseSync.WithRequest<CreateTokenRoute.Payload>.WithActionResult { private readonly MainAppDatabase _database; - private readonly AppConfiguration _configuration; private readonly ILogger<CreateTokenRoute> _logger; - public CreateTokenRoute(MainAppDatabase database, VaultService vaultService, ILogger<CreateTokenRoute> logger) { + public CreateTokenRoute(MainAppDatabase database, ILogger<CreateTokenRoute> logger) + { _database = database; - _configuration = vaultService.GetCurrentAppConfiguration(); _logger = logger; } @@ -30,19 +29,23 @@ public class CreateTokenRoute : RouteBaseSync.WithRequest<CreateTokenRoute.Paylo /// <returns></returns> [ApiVersion(ApiSpecV1.VERSION_STRING)] [HttpPost("~/v{version:apiVersion}/api-tokens/create")] - public override ActionResult Handle(Payload request) { + public override ActionResult Handle(Payload request) + { var user = _database.Users.SingleOrDefault(c => c.Id == LoggedInUser.Id); - if (user == default) { + if (user == default) + { return NotFound(new KnownProblemModel("User does not exist")); } - var token_entropy = _configuration.APP_AES_KEY; - if (token_entropy.IsNullOrWhiteSpace()) { + var tokenEntropy = Program.AppConfiguration.APP_AES_KEY; + if (tokenEntropy.IsNullOrWhiteSpace()) + { _logger.LogWarning("No token entropy is available, Basic auth is disabled"); return NotFound(); } - var accessToken = new ApiAccessToken() { + var accessToken = new ApiAccessToken() + { User = user, ExpiryDate = request.ExpiryDate.ToUniversalTime(), AllowCreate = request.AllowCreate, @@ -53,6 +56,6 @@ public class CreateTokenRoute : RouteBaseSync.WithRequest<CreateTokenRoute.Paylo _database.AccessTokens.Add(accessToken); _database.SaveChanges(); - return Ok(Convert.ToBase64String(Encoding.UTF8.GetBytes(accessToken.Id.ToString().EncryptWithAes(token_entropy)))); + return Ok(Convert.ToBase64String(Encoding.UTF8.GetBytes(accessToken.Id.ToString().EncryptWithAes(tokenEntropy)))); } }
\ No newline at end of file |
