diff options
Diffstat (limited to 'src/server/Api/Internal/Account/DeleteTokenRoute.cs')
| -rw-r--r-- | src/server/Api/Internal/Account/DeleteTokenRoute.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/server/Api/Internal/Account/DeleteTokenRoute.cs b/src/server/Api/Internal/Account/DeleteTokenRoute.cs new file mode 100644 index 0000000..f423b6f --- /dev/null +++ b/src/server/Api/Internal/Account/DeleteTokenRoute.cs @@ -0,0 +1,24 @@ +namespace IOL.BookmarkThing.Server.Api.Internal.Account; + +public class DeleteTokenRoute : RouteBaseInternalSync.WithRequest<Guid>.WithActionResult +{ + private readonly AppDbContext _context; + + public DeleteTokenRoute(AppDbContext context) { + _context = context; + } + + [ApiVersionNeutral] + [ApiExplorerSettings(IgnoreApi = true)] + [HttpDelete("~/v{version:apiVersion}/account/delete-token")] + public override ActionResult Handle(Guid id) { + var token = _context.AccessTokens.SingleOrDefault(c => c.Id == id); + if (token == default) { + return NotFound(); + } + + _context.AccessTokens.Remove(token); + _context.SaveChanges(); + return Ok(); + } +} |
