feat(account): add deletion lifecycle
This commit is contained in:
@@ -46,7 +46,10 @@ builder.Services.AddSingleton<BackgroundTenantRunner>();
|
||||
builder.Services.AddSingleton(TimeProvider.System);
|
||||
builder.Services.AddScoped<UserOperationStore>();
|
||||
builder.Services.AddScoped<EmailSendAttemptStore>();
|
||||
builder.Services.AddScoped<AccountOwnedFileInventory>();
|
||||
builder.Services.AddScoped<AccountDataExportService>();
|
||||
builder.Services.AddSingleton<AccountDeletionTombstoneStore>();
|
||||
builder.Services.AddScoped<AccountDeletionService>();
|
||||
builder.Services.AddScoped<AiOperationAdmission>();
|
||||
builder.Services.AddScoped<StrategySnapshotService>();
|
||||
builder.Services.AddSingleton<IAiOperationHandler, StrategySnapshotOperationHandler>();
|
||||
@@ -170,6 +173,7 @@ builder.Services.AddHostedService<JobEnrichmentHostedService>();
|
||||
builder.Services.AddHostedService<SummarizerProbeHostedService>();
|
||||
builder.Services.AddHostedService<AiOperationHostedService>();
|
||||
builder.Services.AddHostedService<EmailSendAttemptRecoveryHostedService>();
|
||||
builder.Services.AddHostedService<AccountDeletionHostedService>();
|
||||
|
||||
builder.Services.AddHttpClient("jobimport")
|
||||
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
|
||||
@@ -552,6 +556,12 @@ app.Use(async (ctx, next) =>
|
||||
|
||||
await app.InitializeJobTrackerAsync();
|
||||
|
||||
await using (var deletionReplayScope = app.Services.CreateAsyncScope())
|
||||
{
|
||||
var staged = await deletionReplayScope.ServiceProvider.GetRequiredService<AccountDeletionService>().StageRestoredAccountsAsync(CancellationToken.None);
|
||||
if (staged > 0) app.Logger.LogWarning("Staged {Count} restored deleted accounts for mandatory tombstone replay.", staged);
|
||||
}
|
||||
|
||||
await using (var attachmentScope = app.Services.CreateAsyncScope())
|
||||
{
|
||||
var result = await attachmentScope.ServiceProvider.GetRequiredService<IAttachmentStorage>()
|
||||
|
||||
Reference in New Issue
Block a user