aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Endpoints/V1
diff options
context:
space:
mode:
Diffstat (limited to 'code/api/src/Endpoints/V1')
-rw-r--r--code/api/src/Endpoints/V1/ApiSpecV1.cs26
-rw-r--r--code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs4
-rw-r--r--code/api/src/Endpoints/V1/ApiTokens/DeleteTokenRoute.cs4
-rw-r--r--code/api/src/Endpoints/V1/RouteBaseAsync.cs118
-rw-r--r--code/api/src/Endpoints/V1/RouteBaseSync.cs78
-rw-r--r--code/api/src/Endpoints/V1/V1_EndpointBase.cs8
6 files changed, 119 insertions, 119 deletions
diff --git a/code/api/src/Endpoints/V1/ApiSpecV1.cs b/code/api/src/Endpoints/V1/ApiSpecV1.cs
index e4f9cc9..7a54eb0 100644
--- a/code/api/src/Endpoints/V1/ApiSpecV1.cs
+++ b/code/api/src/Endpoints/V1/ApiSpecV1.cs
@@ -2,17 +2,17 @@ namespace IOL.GreatOffice.Api.Endpoints.V1;
public static class ApiSpecV1
{
- private const int MAJOR = 1;
- private const int MINOR = 0;
- public const string VERSION_STRING = "1.0";
+ private const int MAJOR = 1;
+ private const int MINOR = 0;
+ public const string VERSION_STRING = "1.0";
- public static ApiSpecDocument Document => new() {
- Version = new ApiVersion(MAJOR, MINOR),
- VersionName = VERSION_STRING,
- SwaggerPath = $"/swagger/{VERSION_STRING}/swagger.json",
- OpenApiInfo = new OpenApiInfo {
- Title = AppConstants.API_NAME,
- Version = VERSION_STRING
- }
- };
-}
+ public static ApiSpecDocument Document => new() {
+ Version = new ApiVersion(MAJOR, MINOR),
+ VersionName = VERSION_STRING,
+ SwaggerPath = $"/swagger/{VERSION_STRING}/swagger.json",
+ OpenApiInfo = new OpenApiInfo {
+ Title = AppConstants.API_NAME,
+ Version = VERSION_STRING
+ }
+ };
+} \ No newline at end of file
diff --git a/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs b/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
index c28f534..b9876c6 100644
--- a/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
+++ b/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
@@ -31,7 +31,7 @@ public class CreateTokenRoute : RouteBaseSync.WithRequest<CreateTokenRoute.Paylo
[HttpPost("~/v{version:apiVersion}/api-tokens/create")]
public override ActionResult Handle(Payload request)
{
- var user = _database.Users.SingleOrDefault(c => c.Id == LoggedInUser.Id);
+ var user = _database.Users.FirstOrDefault(c => c.Id == LoggedInUser.Id);
if (user == default)
{
return NotFound(new KnownProblemModel("User does not exist"));
@@ -58,4 +58,4 @@ public class CreateTokenRoute : RouteBaseSync.WithRequest<CreateTokenRoute.Paylo
_database.SaveChanges();
return Ok(Convert.ToBase64String(Encoding.UTF8.GetBytes(accessToken.Id.ToString().EncryptWithAes(tokenEntropy))));
}
-} \ No newline at end of file
+}
diff --git a/code/api/src/Endpoints/V1/ApiTokens/DeleteTokenRoute.cs b/code/api/src/Endpoints/V1/ApiTokens/DeleteTokenRoute.cs
index ee19e40..62f7c8d 100644
--- a/code/api/src/Endpoints/V1/ApiTokens/DeleteTokenRoute.cs
+++ b/code/api/src/Endpoints/V1/ApiTokens/DeleteTokenRoute.cs
@@ -18,7 +18,7 @@ public class DeleteTokenRoute : RouteBaseSync.WithRequest<Guid>.WithActionResult
[ApiVersion(ApiSpecV1.VERSION_STRING)]
[HttpDelete("~/v{version:apiVersion}/api-tokens/delete")]
public override ActionResult Handle(Guid id) {
- var token = _database.AccessTokens.SingleOrDefault(c => c.Id == id);
+ var token = _database.AccessTokens.FirstOrDefault(c => c.Id == id);
if (token == default) {
_logger.LogWarning("A deletion request of an already deleted (maybe) api token was received.");
return NotFound();
@@ -28,4 +28,4 @@ public class DeleteTokenRoute : RouteBaseSync.WithRequest<Guid>.WithActionResult
_database.SaveChanges();
return Ok();
}
-} \ No newline at end of file
+}
diff --git a/code/api/src/Endpoints/V1/RouteBaseAsync.cs b/code/api/src/Endpoints/V1/RouteBaseAsync.cs
index 33b6f5f..cc30aa6 100644
--- a/code/api/src/Endpoints/V1/RouteBaseAsync.cs
+++ b/code/api/src/Endpoints/V1/RouteBaseAsync.cs
@@ -5,69 +5,69 @@ namespace IOL.GreatOffice.Api.Endpoints.V1;
/// </summary>
public class RouteBaseAsync
{
- public class WithRequest<TRequest>
- {
- public abstract class WithResult<TResponse> : V1_EndpointBase
- {
- public abstract Task<TResponse> HandleAsync(
- TRequest request,
- CancellationToken cancellationToken = default
- );
- }
+ public class WithRequest<TRequest>
+ {
+ public abstract class WithResult<TResponse> : V1_EndpointBase
+ {
+ public abstract Task<TResponse> HandleAsync(
+ TRequest request,
+ CancellationToken cancellationToken = default
+ );
+ }
- public abstract class WithoutResult : V1_EndpointBase
- {
- public abstract Task HandleAsync(
- TRequest request,
- CancellationToken cancellationToken = default
- );
- }
+ public abstract class WithoutResult : V1_EndpointBase
+ {
+ public abstract Task HandleAsync(
+ TRequest request,
+ CancellationToken cancellationToken = default
+ );
+ }
- public abstract class WithActionResult<TResponse> : V1_EndpointBase
- {
- public abstract Task<ActionResult<TResponse>> HandleAsync(
- TRequest request,
- CancellationToken cancellationToken = default
- );
- }
+ public abstract class WithActionResult<TResponse> : V1_EndpointBase
+ {
+ public abstract Task<ActionResult<TResponse>> HandleAsync(
+ TRequest request,
+ CancellationToken cancellationToken = default
+ );
+ }
- public abstract class WithActionResult : V1_EndpointBase
- {
- public abstract Task<ActionResult> HandleAsync(
- TRequest request,
- CancellationToken cancellationToken = default
- );
- }
- }
+ public abstract class WithActionResult : V1_EndpointBase
+ {
+ public abstract Task<ActionResult> HandleAsync(
+ TRequest request,
+ CancellationToken cancellationToken = default
+ );
+ }
+ }
- public static class WithoutRequest
- {
- public abstract class WithResult<TResponse> : V1_EndpointBase
- {
- public abstract Task<TResponse> HandleAsync(
- CancellationToken cancellationToken = default
- );
- }
+ public static class WithoutRequest
+ {
+ public abstract class WithResult<TResponse> : V1_EndpointBase
+ {
+ public abstract Task<TResponse> HandleAsync(
+ CancellationToken cancellationToken = default
+ );
+ }
- public abstract class WithoutResult : V1_EndpointBase
- {
- public abstract Task HandleAsync(
- CancellationToken cancellationToken = default
- );
- }
+ public abstract class WithoutResult : V1_EndpointBase
+ {
+ public abstract Task HandleAsync(
+ CancellationToken cancellationToken = default
+ );
+ }
- public abstract class WithActionResult<TResponse> : V1_EndpointBase
- {
- public abstract Task<ActionResult<TResponse>> HandleAsync(
- CancellationToken cancellationToken = default
- );
- }
+ public abstract class WithActionResult<TResponse> : V1_EndpointBase
+ {
+ public abstract Task<ActionResult<TResponse>> HandleAsync(
+ CancellationToken cancellationToken = default
+ );
+ }
- public abstract class WithActionResult : V1_EndpointBase
- {
- public abstract Task<ActionResult> HandleAsync(
- CancellationToken cancellationToken = default
- );
- }
- }
-}
+ public abstract class WithActionResult : V1_EndpointBase
+ {
+ public abstract Task<ActionResult> HandleAsync(
+ CancellationToken cancellationToken = default
+ );
+ }
+ }
+} \ No newline at end of file
diff --git a/code/api/src/Endpoints/V1/RouteBaseSync.cs b/code/api/src/Endpoints/V1/RouteBaseSync.cs
index 6a86074..3a06d14 100644
--- a/code/api/src/Endpoints/V1/RouteBaseSync.cs
+++ b/code/api/src/Endpoints/V1/RouteBaseSync.cs
@@ -5,49 +5,49 @@ namespace IOL.GreatOffice.Api.Endpoints.V1;
/// </summary>
public static class RouteBaseSync
{
- public static class WithRequest<TRequest>
- {
- public abstract class WithResult<TResponse> : V1_EndpointBase
- {
- public abstract TResponse Handle(TRequest request);
- }
+ public static class WithRequest<TRequest>
+ {
+ public abstract class WithResult<TResponse> : V1_EndpointBase
+ {
+ public abstract TResponse Handle(TRequest request);
+ }
- public abstract class WithoutResult : V1_EndpointBase
- {
- public abstract void Handle(TRequest request);
- }
+ public abstract class WithoutResult : V1_EndpointBase
+ {
+ public abstract void Handle(TRequest request);
+ }
- public abstract class WithActionResult<TResponse> : V1_EndpointBase
- {
- public abstract ActionResult<TResponse> Handle(TRequest request);
- }
+ public abstract class WithActionResult<TResponse> : V1_EndpointBase
+ {
+ public abstract ActionResult<TResponse> Handle(TRequest request);
+ }
- public abstract class WithActionResult : V1_EndpointBase
- {
- public abstract ActionResult Handle(TRequest request);
- }
- }
+ public abstract class WithActionResult : V1_EndpointBase
+ {
+ public abstract ActionResult Handle(TRequest request);
+ }
+ }
- public static class WithoutRequest
- {
- public abstract class WithResult<TResponse> : V1_EndpointBase
- {
- public abstract TResponse Handle();
- }
+ public static class WithoutRequest
+ {
+ public abstract class WithResult<TResponse> : V1_EndpointBase
+ {
+ public abstract TResponse Handle();
+ }
- public abstract class WithoutResult : V1_EndpointBase
- {
- public abstract void Handle();
- }
+ public abstract class WithoutResult : V1_EndpointBase
+ {
+ public abstract void Handle();
+ }
- public abstract class WithActionResult<TResponse> : V1_EndpointBase
- {
- public abstract ActionResult<TResponse> Handle();
- }
+ public abstract class WithActionResult<TResponse> : V1_EndpointBase
+ {
+ public abstract ActionResult<TResponse> Handle();
+ }
- public abstract class WithActionResult : V1_EndpointBase
- {
- public abstract ActionResult Handle();
- }
- }
-}
+ public abstract class WithActionResult : V1_EndpointBase
+ {
+ public abstract ActionResult Handle();
+ }
+ }
+} \ No newline at end of file
diff --git a/code/api/src/Endpoints/V1/V1_EndpointBase.cs b/code/api/src/Endpoints/V1/V1_EndpointBase.cs
index 08ce4ab..a5835a5 100644
--- a/code/api/src/Endpoints/V1/V1_EndpointBase.cs
+++ b/code/api/src/Endpoints/V1/V1_EndpointBase.cs
@@ -7,11 +7,11 @@ namespace IOL.GreatOffice.Api.Endpoints.V1;
public class V1_EndpointBase : EndpointBase
{
private const string AuthSchemes = CookieAuthenticationDefaults.AuthenticationScheme + "," + AppConstants.BASIC_AUTH_SCHEME;
-
+
protected bool IsApiCall() {
- if (!Request.Headers.ContainsKey("Authorization")) return false;
+ if (!Request.Headers.TryGetValue("Authorization", out var value)) return false;
try {
- var authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
+ var authHeader = AuthenticationHeaderValue.Parse(value);
if (authHeader.Parameter == null) return false;
} catch {
return false;
@@ -21,7 +21,7 @@ public class V1_EndpointBase : EndpointBase
}
protected bool HasApiPermission(string permission_key) {
- var permission_claim = User.Claims.SingleOrDefault(c => c.Type == permission_key);
+ var permission_claim = User.Claims.FirstOrDefault(c => c.Type == permission_key);
return permission_claim is {
Value: "True"
};