using GB5Shared.DTO.Framework.Login; using TCMSDAL.DTO; namespace TCMSDAL.Interfaces; public interface ITCMSTestEnvDAL { // ── MSERVERCONFIG queries (gb5system) ────────────────────────────────────── Task> GetTestEnvironmentsAsync(LoginDTO login, CancellationToken ct); Task GetTestEnvByIdAsync(int serverConfigId, CancellationToken ct); Task GetTestDbConnectionRawAsync(int serverConfigId, CancellationToken ct); Task ConnectionNameExistsAsync(string connectionName, CancellationToken ct); Task RegisterTestDbAsync(TCMSRegisterTestDbDTO dto, LoginDTO login, CancellationToken ct); Task DeregisterTestDbAsync(int serverConfigId, LoginDTO login, CancellationToken ct); Task> GetMServerSelectListAsync(CancellationToken ct); // ── TTESTENVRESETLOG (TCMS DB via IQueryExecutor) ───────────────────────── Task InsertResetLogAsync(TCMSTestEnvResetLogDTO log, LoginDTO login, CancellationToken ct); Task UpdateResetLogOutcomeAsync(int logId, int durationMs, bool success, string? errorMessage, LoginDTO login, CancellationToken ct); Task> GetResetHistoryAsync(int serverConfigId, LoginDTO login, CancellationToken ct); // ── DDL on target run-DB server ──────────────────────────────────────────── Task ExecuteDdlOnTargetServerAsync(string connectionString, string ddlSql, int dbType, CancellationToken ct); // ── Snapshot catalog queries (run on target server) ─────────────────────── Task> GetSnapshotsAsync(string adminConnectionString, string runDbName, int dbType, CancellationToken ct); }