using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using GB5Shared.DTO.Framework.Login;
using GB5Shared.DTO.GOP;
namespace FrameworkBLL.GOP
{
///
/// Read-only monitoring BLL for GOP execution data.
/// Covers execution headers, node logs, state logs, DLQ, and remediation.
///
public interface IGopExecutionMonitorBLL
{
// ── Execution ─────────────────────────────────────────────────────────────
Task> GetExecutionList(
string? status, int page, int pageSize,
LoginDTO loginDTO, CancellationToken ct = default);
Task GetExecutionDetail(
int executionId, LoginDTO loginDTO, CancellationToken ct = default);
Task> GetExecutionNodeLogs(
int executionId, LoginDTO loginDTO, CancellationToken ct = default);
Task> GetExecutionStateLogs(
int executionId, LoginDTO loginDTO, CancellationToken ct = default);
// ── Dead Letter Queue ─────────────────────────────────────────────────────
Task> GetDeadLetterList(
LoginDTO loginDTO, CancellationToken ct = default);
// ── Remediation ───────────────────────────────────────────────────────────
Task> GetOpenRemediations(
LoginDTO loginDTO, CancellationToken ct = default);
Task ResolveRemediation(
int remediationId, string resolutionNotes,
LoginDTO loginDTO, CancellationToken ct = default);
// ── Dashboard ─────────────────────────────────────────────────────────────
Task> GetQueueDashboard(
LoginDTO loginDTO, CancellationToken ct = default);
}
}