using GB5Shared.DTO.Framework.Login; using TCMSDAL.DTO; namespace TCMSBLL.Interfaces; public interface ITCMSTraceabilityBLL { // ── Screen links (QA admin) ─────────────────────────────────────────────── Task LinkScreenAsync(TCMSSaveLinkDTO dto, LoginDTO login, CancellationToken ct); Task UnlinkScreenAsync(int screenLinkId, LoginDTO login, CancellationToken ct); Task> GetScreenLinksForTestCaseAsync(int testCaseId, LoginDTO login, CancellationToken ct); // ── API links (QA admin) ────────────────────────────────────────────────── Task LinkApiAsync(TCMSSaveApiLinkDTO dto, LoginDTO login, CancellationToken ct); Task UnlinkApiAsync(int apiLinkId, LoginDTO login, CancellationToken ct); Task> GetApiLinksForTestCaseAsync(int testCaseId, LoginDTO login, CancellationToken ct); // ── Read (coverage widget + traceability view) ──────────────────────────── Task GetByScreenAsync(string screenRoute, LoginDTO login, CancellationToken ct); Task GetByApiOperationAsync(long apiOperationId, LoginDTO login, CancellationToken ct); Task> GetScreenTreeAsync(LoginDTO login, CancellationToken ct); // ── Gap detection ───────────────────────────────────────────────────────── Task> GetCoverageGapsAsync(LoginDTO login, CancellationToken ct); }