mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
@@ -7,7 +7,6 @@ import 'package:logging/logging.dart';
|
|||||||
import 'package:server_box/data/model/server/private_key_info.dart';
|
import 'package:server_box/data/model/server/private_key_info.dart';
|
||||||
import 'package:server_box/data/model/server/server_private_info.dart';
|
import 'package:server_box/data/model/server/server_private_info.dart';
|
||||||
import 'package:server_box/data/model/server/snippet.dart';
|
import 'package:server_box/data/model/server/snippet.dart';
|
||||||
import 'package:server_box/data/provider/base.dart';
|
|
||||||
import 'package:server_box/data/res/misc.dart';
|
import 'package:server_box/data/res/misc.dart';
|
||||||
import 'package:server_box/data/res/rebuild.dart';
|
import 'package:server_box/data/res/rebuild.dart';
|
||||||
import 'package:server_box/data/res/store.dart';
|
import 'package:server_box/data/res/store.dart';
|
||||||
|
|||||||
@@ -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()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'package:fl_lib/fl_lib.dart';
|
import 'package:fl_lib/fl_lib.dart';
|
||||||
import 'package:server_box/data/model/server/private_key_info.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';
|
import 'package:server_box/data/res/store.dart';
|
||||||
|
|
||||||
class PrivateKeyProvider extends Provider {
|
class PrivateKeyProvider extends Provider {
|
||||||
@@ -31,10 +30,12 @@ class PrivateKeyProvider extends Provider {
|
|||||||
final idx = pkis.value.indexWhere((e) => e.id == old.id);
|
final idx = pkis.value.indexWhere((e) => e.id == old.id);
|
||||||
if (idx == -1) {
|
if (idx == -1) {
|
||||||
pkis.value.add(newInfo);
|
pkis.value.add(newInfo);
|
||||||
|
Stores.key.put(newInfo);
|
||||||
|
Stores.key.delete(old);
|
||||||
} else {
|
} else {
|
||||||
pkis.value[idx] = newInfo;
|
pkis.value[idx] = newInfo;
|
||||||
|
Stores.key.put(newInfo);
|
||||||
}
|
}
|
||||||
pkis.notify();
|
pkis.notify();
|
||||||
Stores.key.put(newInfo);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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/error.dart';
|
||||||
import 'package:server_box/data/model/app/shell_func.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/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/data/res/store.dart';
|
||||||
|
|
||||||
import 'package:server_box/core/utils/server.dart';
|
import 'package:server_box/core/utils/server.dart';
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import 'dart:async';
|
|||||||
|
|
||||||
import 'package:fl_lib/fl_lib.dart';
|
import 'package:fl_lib/fl_lib.dart';
|
||||||
import 'package:server_box/data/model/sftp/worker.dart';
|
import 'package:server_box/data/model/sftp/worker.dart';
|
||||||
import 'package:server_box/data/provider/base.dart';
|
|
||||||
|
|
||||||
class SftpProvider extends Provider {
|
class SftpProvider extends Provider {
|
||||||
const SftpProvider._();
|
const SftpProvider._();
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'package:fl_lib/fl_lib.dart';
|
import 'package:fl_lib/fl_lib.dart';
|
||||||
import 'package:server_box/data/model/server/snippet.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';
|
import 'package:server_box/data/res/store.dart';
|
||||||
|
|
||||||
class SnippetProvider extends Provider {
|
class SnippetProvider extends Provider {
|
||||||
|
|||||||
@@ -203,8 +203,9 @@ class _PrivateKeyEditPageState extends State<PrivateKeyEditPage> {
|
|||||||
try {
|
try {
|
||||||
final decrypted = await Computer.shared.start(decyptPem, [key, pwd]);
|
final decrypted = await Computer.shared.start(decyptPem, [key, pwd]);
|
||||||
final pki = PrivateKeyInfo(id: name, key: decrypted);
|
final pki = PrivateKeyInfo(id: name, key: decrypted);
|
||||||
if (widget.pki != null) {
|
final originPki = widget.pki;
|
||||||
PrivateKeyProvider.update(widget.pki!, pki);
|
if (originPki != null) {
|
||||||
|
PrivateKeyProvider.update(originPki, pki);
|
||||||
} else {
|
} else {
|
||||||
PrivateKeyProvider.add(pki);
|
PrivateKeyProvider.add(pki);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -389,9 +389,11 @@ packages:
|
|||||||
fl_lib:
|
fl_lib:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
path: "../fl_lib"
|
path: "."
|
||||||
relative: true
|
ref: "v1.0.141"
|
||||||
source: path
|
resolved-ref: "2fb1532cd2fd08dd807e9776b2b50b5d8ee94388"
|
||||||
|
url: "https://github.com/lppcg/fl_lib"
|
||||||
|
source: git
|
||||||
version: "0.0.1"
|
version: "0.0.1"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ dependencies:
|
|||||||
fl_lib:
|
fl_lib:
|
||||||
git:
|
git:
|
||||||
url: https://github.com/lppcg/fl_lib
|
url: https://github.com/lppcg/fl_lib
|
||||||
ref: v1.0.140
|
ref: v1.0.141
|
||||||
|
|
||||||
dependency_overrides:
|
dependency_overrides:
|
||||||
# dartssh2:
|
# dartssh2:
|
||||||
|
|||||||
Reference in New Issue
Block a user