using System.Threading; using System.Threading.Tasks; using GB5Shared.DTO.Framework.Login; using GB5Shared.DTO.WorkFlow; namespace GB5Shared.WorkFlow.Wip { /// /// Dispatches approved WIP records by replaying the original API call. /// Implemented by HttpWipApprovalDispatcher in FrameworkBLL using IHttpClientFactory. /// Called by WorkFlowBLL after the workflow action transaction is committed. /// public interface IWipApprovalDispatcher { /// /// Replays the original entity save API call for the given WIP dispatch info. /// Posts to with: /// - Header X-Wip-Approval: {WipId} (bypass WIP check on target endpoint) /// - Body: merged JSON of approver LoginDTO + original DataJson (STATUS patched to 1) /// Task DispatchAsync( WipDispatchInfo dispatch, LoginDTO approverLogin, CancellationToken ct = default); } }