using FrameworkDAL.DTO.Playground; using GB5Shared.DTO.Framework.Login; using System.Threading; using System.Threading.Tasks; namespace FrameworkBLL.Playground { public interface IPlaygroundBLL { /// /// Fire a trigger event into the real pipeline. /// In Live mode: loads real MACTION rows for the EventTypeId and creates /// TEVENTACTIONRUN + TACTIONOUTBOX rows (up to RecordLimit). /// In Mock mode: creates synthetic rows for the requested action type. /// Returns a PlaygroundRunId (short GUID) that identifies all created rows. /// Task TriggerEventAsync( TriggerEventDTO dto, LoginDTO login, CancellationToken ct = default); /// /// Aggregate pipeline stage status for a playground run. /// Polls TEVENTACTIONRUN and TACTIONOUTBOX by PlaygroundRunId. /// Task GetPipelineStatusAsync( string runId, LoginDTO login, CancellationToken ct = default); /// /// Paged list of action run rows for the Queue Monitor table. /// Task GetActionQueueAsync( string runId, LoginDTO login, CancellationToken ct = default); /// /// Reset a failed action run so ActionProcessorWorker will retry it. /// Task RetryActionAsync( int actionRunId, LoginDTO login, CancellationToken ct = default); } }