aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-11-17 07:52:37 +0100
committerivarlovlie <git@ivarlovlie.no>2022-11-17 07:52:37 +0100
commitcba9c246b20c9b2d33546a48ac5878dc46e87f55 (patch)
treee79b5e98cc0cf370c6ebf1a898be7af464a5df7a /code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
parent9ddd3471b4222f0d2deceb25b46f609407397a20 (diff)
downloadgreatoffice-cba9c246b20c9b2d33546a48ac5878dc46e87f55.tar.xz
greatoffice-cba9c246b20c9b2d33546a48ac5878dc46e87f55.zip
refactor: Use explicit req/res classes instead of common dto
Diffstat (limited to 'code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs')
-rw-r--r--code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs b/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
index c4f2ee5..163ddb6 100644
--- a/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
+++ b/code/api/src/Endpoints/V1/ApiTokens/CreateTokenRoute.cs
@@ -2,7 +2,7 @@ using System.Text;
namespace IOL.GreatOffice.Api.Endpoints.V1.ApiTokens;
-public class CreateTokenRoute : RouteBaseSync.WithRequest<ApiAccessToken.ApiAccessTokenDto>.WithActionResult
+public class CreateTokenRoute : RouteBaseSync.WithRequest<CreateTokenRoute.Payload>.WithActionResult
{
private readonly MainAppDatabase _database;
private readonly AppConfiguration _configuration;
@@ -14,6 +14,15 @@ public class CreateTokenRoute : RouteBaseSync.WithRequest<ApiAccessToken.ApiAcce
_logger = logger;
}
+ public class Payload
+ {
+ public DateTime ExpiryDate { get; set; }
+ public bool AllowRead { get; set; }
+ public bool AllowCreate { get; set; }
+ public bool AllowUpdate { get; set; }
+ public bool AllowDelete { get; set; }
+ }
+
/// <summary>
/// Create a new api token with the provided claims.
/// </summary>
@@ -21,7 +30,7 @@ public class CreateTokenRoute : RouteBaseSync.WithRequest<ApiAccessToken.ApiAcce
/// <returns></returns>
[ApiVersion(ApiSpecV1.VERSION_STRING)]
[HttpPost("~/v{version:apiVersion}/api-tokens/create")]
- public override ActionResult Handle(ApiAccessToken.ApiAccessTokenDto request) {
+ public override ActionResult Handle(Payload request) {
var user = _database.Users.SingleOrDefault(c => c.Id == LoggedInUser.Id);
if (user == default) {
return NotFound(new KnownProblemModel("User does not exist"));