summaryrefslogtreecommitdiffstats
path: root/src/server/Jobs/TokenCleanupJob.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-01-23 18:42:59 +0100
committerivarlovlie <git@ivarlovlie.no>2022-01-23 18:42:59 +0100
commit2d1d7019cbe051d2a42350a6f9d50e1f4ed8bd11 (patch)
tree9a2dd00e28484d891ad683827790d5b839f6c45a /src/server/Jobs/TokenCleanupJob.cs
parentad8a8095e3942dc8c33c89a41a3ad31200a60472 (diff)
downloadbookmark-thing-2d1d7019cbe051d2a42350a6f9d50e1f4ed8bd11.tar.xz
bookmark-thing-2d1d7019cbe051d2a42350a6f9d50e1f4ed8bd11.zip
feat: Remove stale tokens on a regular basis
Diffstat (limited to 'src/server/Jobs/TokenCleanupJob.cs')
-rw-r--r--src/server/Jobs/TokenCleanupJob.cs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/server/Jobs/TokenCleanupJob.cs b/src/server/Jobs/TokenCleanupJob.cs
new file mode 100644
index 0000000..99e7d0d
--- /dev/null
+++ b/src/server/Jobs/TokenCleanupJob.cs
@@ -0,0 +1,19 @@
+namespace IOL.BookmarkThing.Server.Jobs;
+
+public class TokenCleanupJob : IJob
+{
+ private readonly ILogger<TokenCleanupJob> _logger;
+ private readonly AppDbContext _context;
+
+ public TokenCleanupJob(ILogger<TokenCleanupJob> logger, AppDbContext context) {
+ _logger = logger;
+ _context = context;
+ }
+
+ public Task Execute(IJobExecutionContext context) {
+ var staleTokens = _context.AccessTokens.Where(c => c.HasExpired);
+ _logger.LogInformation("Removing {0} stale tokens", staleTokens.Count());
+ _context.AccessTokens.RemoveRange();
+ return Task.CompletedTask;
+ }
+}