using Quartz; namespace IOL.GreatOffice.Api.Jobs; public class TokenCleanupJob : IJob { private readonly ILogger _logger; private readonly AppDbContext _context; public TokenCleanupJob(ILogger 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; } }