using EAIAdminDAL.DTO; using GB5Shared.DTO.Framework.Login; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace EAIAdminDAL.CustomCode { public interface IEAIAgentRouteAdminDAL { Task> GetAgentRouteListAsync( string? search, LoginDTO login, CancellationToken ct = default); Task GetAgentRouteAsync( int agentRouteId, LoginDTO login, CancellationToken ct = default); Task InsertAgentRouteAsync( EAIAgentRouteAdminDTO dto, LoginDTO login, CancellationToken ct = default); Task UpdateAgentRouteAsync( EAIAgentRouteAdminDTO dto, LoginDTO login, CancellationToken ct = default); Task UpdateEAIRemoteIdAsync( int agentRouteId, long eaiRemoteId, LoginDTO login, CancellationToken ct = default); Task DeleteAgentRouteAsync( int agentRouteId, LoginDTO login, CancellationToken ct = default); Task SlugExistsAsync( string slug, int excludeAgentRouteId, LoginDTO login, CancellationToken ct = default); /// Resolves the gbEAI agent slug that serves (initiativeCode, capabilityCode) — /// matches on DefaultCapability or an exact token in the CSV Capabilities list. Returns /// null if no active route serves this capability. Task ResolveSlugForCapabilityAsync( string initiativeCode, string capabilityCode, LoginDTO login, CancellationToken ct = default); } }