feature: Prometheus Metrics, Supervisor Dashboard, and Promotion Retry Job
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
/// <summary>
|
||||
/// A single audit trail event for a digitization batch.
|
||||
/// Includes the actor's username and full name for display
|
||||
/// without requiring a separate user lookup.
|
||||
/// </summary>
|
||||
public record BatchEventResponse(
|
||||
Guid Id,
|
||||
Guid BatchId,
|
||||
string EventType,
|
||||
Guid ActorUserId,
|
||||
string ActorUsername,
|
||||
string ActorFullName,
|
||||
DateTimeOffset OccurredAt,
|
||||
string? MetadataJson
|
||||
);
|
||||
@@ -0,0 +1,15 @@
|
||||
/// <summary>
|
||||
/// Cursor-paginated result set. The cursor is the OccurredAt timestamp
|
||||
/// of the last item in this page. Pass it as the "after" query parameter
|
||||
/// to get the next page.
|
||||
///
|
||||
/// This uses the N+1 fetch pattern: fetch pageSize+1 rows, return pageSize,
|
||||
/// and use the existence of the extra row to determine HasMore without
|
||||
/// a separate COUNT query.
|
||||
/// </summary>
|
||||
public record CursorPagedResult<T>(
|
||||
IReadOnlyList<T> Items,
|
||||
int PageSize,
|
||||
string? NextCursor,
|
||||
bool HasMore
|
||||
);
|
||||
Reference in New Issue
Block a user