using MTWireGuard.Models; using MTWireGuard.Models.Mikrotik; namespace MTWireGuard.Repositories { public interface IMikrotikRepository : IDisposable { Task> GetLogsAsync(); Task> GetServersAsync(); Task GetServer(string Name); Task> GetServersTraffic(); Task> GetUsersAsync(); Task GetUser(int id); Task GetUserTunnelConfig(int id); Task GetQRCodeBase64(int id); Task GetInfo(); Task GetName(); Task TryConnectAsync(); Task> GetActiveSessions(); Task> GetJobs(); Task GetCurrentSessionID(); Task KillJob(string JobID); Task CreateServer(ServerCreateModel server); Task CreateUser(UserCreateModel peer); Task SyncUser(UserSyncModel user); Task UpdateUser(UserUpdateModel user); Task UpdateServer(ServerUpdateModel server); Task EnableServer(int id); Task DisableServer(int id); Task EnableUser(int id); Task DisableUser(int id); Task DeleteServer(int id); Task DeleteUser(int id); } }