mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-09-30 21:13:12 +00:00
34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
using System.Security.Claims;
|
|
|
|
namespace SeaHaven.Services.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Controller-facing admin surface for work-order reconciliation. Every method enforces an
|
|
/// authenticated Admin principal at service entry before any data-service call, independent of
|
|
/// any HTTP-layer authorization filter.
|
|
/// </summary>
|
|
public interface IWorkOrderReconciliationService
|
|
{
|
|
Task<WorkOrderReconciliationTriggerResult> TriggerAsync(
|
|
ClaimsPrincipal user,
|
|
string reason,
|
|
CancellationToken cancellationToken);
|
|
|
|
Task<WorkOrderReconciliationStatus> GetStatusAsync(
|
|
ClaimsPrincipal user,
|
|
CancellationToken cancellationToken);
|
|
}
|
|
|
|
public sealed record WorkOrderReconciliationTriggerResult(bool Queued, Guid RunId);
|
|
|
|
public sealed record WorkOrderReconciliationStatus(
|
|
Guid? RunId,
|
|
string State,
|
|
string? Reason,
|
|
DateTimeOffset? RequestedAt,
|
|
DateTimeOffset? StartedAt,
|
|
DateTimeOffset? CompletedAt,
|
|
int WorkOrdersProcessed,
|
|
int CommentsProcessed,
|
|
string? ErrorCode);
|
|
}
|