dotnet-cqrs/Svrnty.CQRS.Events.Abstractions/Models/RetentionCleanupResult.cs

37 lines
1.0 KiB
C#

using System;
using Svrnty.CQRS.Events.Abstractions.Models;
namespace Svrnty.CQRS.Events.Abstractions.Models;
/// <summary>
/// Result of a retention policy cleanup operation.
/// Contains statistics about the cleanup process.
/// </summary>
public record RetentionCleanupResult
{
/// <summary>
/// Number of streams that were processed during cleanup.
/// </summary>
public required int StreamsProcessed { get; init; }
/// <summary>
/// Total number of events deleted across all streams.
/// </summary>
public required long EventsDeleted { get; init; }
/// <summary>
/// How long the cleanup operation took.
/// </summary>
public required TimeSpan Duration { get; init; }
/// <summary>
/// When the cleanup operation completed.
/// </summary>
public required DateTimeOffset CompletedAt { get; init; }
/// <summary>
/// Per-stream cleanup details (optional).
/// </summary>
public System.Collections.Generic.Dictionary<string, long>? EventsDeletedPerStream { get; init; }
}