using FrameworkDAL.DTO.Playground;
using GB5Shared.DTO.Framework.Login;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace FrameworkDAL.CustomCode.Playground
{
public interface IPlaygroundDAL
{
///
/// Returns all active MACTION rows wired to an EventType (via MEVENTTYPEACTION/DETAIL).
/// Used in Live mode to know which actions to queue.
///
Task> GetActionsByEventTypeAsync(
int eventTypeId, LoginDTO login, CancellationToken ct = default);
/// Aggregate TEVENTACTIONRUN RunStatus counts for a playground run.
Task> GetTaskStatusCountsAsync(
string runId, LoginDTO login, CancellationToken ct = default);
/// Aggregate TACTIONOUTBOX SendStatus counts for a playground run.
Task> GetActionStatusCountsAsync(
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 TEVENTACTIONRUN.RUNSTATUS=0 and TACTIONOUTBOX.SENDSTATUS=0
/// so ActionProcessorWorker will re-pick up the failed run.
///
Task ResetActionRunAsync(
int actionRunId, LoginDTO login, CancellationToken ct = default);
}
}