feat(domain): herregistratie reminder sweep on a Quartz cron (S-17, closes #18) #121

Merged
not merged 9 commits from feat/18-herregistratie-reminder-sweep into main 2026-07-23 10:31:57 +00:00
Showing only changes of commit 1e27819386 - Show all commits
@@ -13,6 +13,18 @@ namespace Big.Application;
/// </summary>
public sealed class HerregistratieReminderSweep(IRegistrationStore store, TimeProvider clock)
{
public Task<IReadOnlyList<RegistrationId>> SweepAsync(CancellationToken ct = default)
=> Task.FromResult<IReadOnlyList<RegistrationId>>([]); // RED stub
public async Task<IReadOnlyList<RegistrationId>> SweepAsync(CancellationToken ct = default)
{
var due = await store.FindDueForHerregistratieReminderAsync(clock.GetUtcNow(), ct);
var reminded = new List<RegistrationId>(due.Count);
foreach (var registration in due)
{
registration.MarkHerregistratieReminderVerstuurd();
await store.SaveAsync(registration, ct);
reminded.Add(registration.Id);
}
return reminded;
}
}