using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using SwBLL.Provisioning; using SwDAL.DTO.DbServer; namespace SwBLL.DbServer; public interface IDbServerBLL { Task GetById(int dbServerId, LoginDTO loginDTO, CancellationToken ct); /// Returns DTO including DbUsername/DbPassword — for provisioning/DML use only. Never expose via SL. Task GetByIdWithCredentials(int dbServerId, LoginDTO loginDTO, CancellationToken ct); Task GetList(CriteriaDTO criteria, string? searchText, int pageOffset, int pageSize, LoginDTO loginDTO, CancellationToken ct = default); Task GetSelectListDbServer(int firstNumber, int maxResult, CriteriaDTO criteriaDTO, LoginDTO loginDTO); Task Save(DbServerDTO dto, LoginDTO loginDTO, CancellationToken ct); Task Delete(int dbServerId, LoginDTO loginDTO, CancellationToken ct); /// Introspects the schema of a remote database connected via the given DbServer. Task> GetServerObjectsAsync( int dbServerId, string databaseName, LoginDTO loginDTO, CancellationToken ct); Task GetListDBServer(CriteriaDTO criteriaDTO, LoginDTO login, CancellationToken ct); Task> GetServerHostNameList(LoginDTO loginDTO, CancellationToken ct); Task> GetDatabaseListByHostName(string hostName, LoginDTO loginDTO, CancellationToken ct); }