This commit is contained in:
lollipopkit
2023-05-08 16:25:31 +08:00
parent a2361da560
commit 7f16c27dcf
25 changed files with 634 additions and 572 deletions

View File

@@ -22,15 +22,18 @@ typedef ServersMap = Map<String, Server>;
class ServerProvider extends BusyProvider {
final ServersMap _servers = {};
ServersMap get servers => _servers;
final _limiter = TryLimiter();
Timer? _timer;
final _logger = Logger('SERVER');
final _store = locator<ServerStore>();
Future<void> loadLocalData() async {
setBusyState(true);
final infos = locator<ServerStore>().fetch();
final infos = _store.fetch();
for (final info in infos) {
_servers[info.id] = genServer(info);
}
@@ -103,20 +106,20 @@ class ServerProvider extends BusyProvider {
void addServer(ServerPrivateInfo spi) {
_servers[spi.id] = genServer(spi);
notifyListeners();
locator<ServerStore>().put(spi);
_store.put(spi);
refreshData(spi: spi);
}
void delServer(String id) {
_servers.remove(id);
notifyListeners();
locator<ServerStore>().delete(id);
_store.delete(id);
}
Future<void> updateServer(
ServerPrivateInfo old, ServerPrivateInfo newSpi) async {
_servers.remove(old.id);
locator<ServerStore>().update(old, newSpi);
_store.update(old, newSpi);
_servers[newSpi.id] = genServer(newSpi);
_servers[newSpi.id]?.client = await genClient(newSpi);
notifyListeners();