fix: privatekey update actually creates a new key (#541)

Fixes #540
This commit is contained in:
lollipopkit🏳️‍⚧️
2024-08-16 21:00:34 +08:00
committed by GitHub
parent 7558b4806d
commit ef297673f3
9 changed files with 12 additions and 34 deletions

View File

@@ -1,20 +0,0 @@
import 'dart:async';
import 'package:flutter/foundation.dart';
abstract class Provider<T> {
const Provider();
/// (Re)Load data from store / network / etc.
@mustCallSuper
FutureOr<void> load() {
all.add(this);
debugPrint('$runtimeType added');
}
static final all = <Provider>[];
static Future<void> reload() {
return Future.wait(all.map((e) async => await e.load()));
}
}

View File

@@ -1,6 +1,5 @@
import 'package:fl_lib/fl_lib.dart';
import 'package:server_box/data/model/server/private_key_info.dart';
import 'package:server_box/data/provider/base.dart';
import 'package:server_box/data/res/store.dart';
class PrivateKeyProvider extends Provider {
@@ -31,10 +30,12 @@ class PrivateKeyProvider extends Provider {
final idx = pkis.value.indexWhere((e) => e.id == old.id);
if (idx == -1) {
pkis.value.add(newInfo);
Stores.key.put(newInfo);
Stores.key.delete(old);
} else {
pkis.value[idx] = newInfo;
Stores.key.put(newInfo);
}
pkis.notify();
Stores.key.put(newInfo);
}
}

View File

@@ -9,9 +9,6 @@ import 'package:server_box/core/utils/ssh_auth.dart';
import 'package:server_box/data/model/app/error.dart';
import 'package:server_box/data/model/app/shell_func.dart';
import 'package:server_box/data/model/server/system.dart';
import 'package:server_box/data/provider/base.dart';
// import 'package:server_box/data/model/sftp/req.dart';
// import 'package:server_box/data/res/provider.dart';
import 'package:server_box/data/res/store.dart';
import 'package:server_box/core/utils/server.dart';

View File

@@ -2,7 +2,6 @@ import 'dart:async';
import 'package:fl_lib/fl_lib.dart';
import 'package:server_box/data/model/sftp/worker.dart';
import 'package:server_box/data/provider/base.dart';
class SftpProvider extends Provider {
const SftpProvider._();

View File

@@ -1,6 +1,5 @@
import 'package:fl_lib/fl_lib.dart';
import 'package:server_box/data/model/server/snippet.dart';
import 'package:server_box/data/provider/base.dart';
import 'package:server_box/data/res/store.dart';
class SnippetProvider extends Provider {