fix: jump server (#190)

This commit is contained in:
lollipopkit
2023-10-30 17:10:29 +08:00
parent 4971239bfc
commit bff799afd9
9 changed files with 103 additions and 73 deletions

View File

@@ -1,5 +1,8 @@
import 'dart:async';
import 'package:toolbox/data/res/logger.dart';
import 'package:toolbox/data/res/store.dart';
import '../../../core/utils/server.dart';
import '../server/server_private_info.dart';
import 'worker.dart';
@@ -10,6 +13,8 @@ class SftpReq {
final String localPath;
final SftpReqType type;
String? privateKey;
ServerPrivateInfo? jumpSpi;
String? jumpPrivateKey;
SftpReq(
this.spi,
@@ -17,8 +22,13 @@ class SftpReq {
this.localPath,
this.type,
) {
if (spi.pubKeyId != null) {
privateKey = getPrivateKey(spi.pubKeyId!);
final keyId = spi.keyId;
if (keyId != null) {
privateKey = getPrivateKey(keyId);
}
if (spi.jumpId != null) {
jumpSpi = Stores.server.box.get(spi.jumpId);
jumpPrivateKey = Stores.key.get(jumpSpi?.keyId)?.key;
}
}
}
@@ -83,7 +93,9 @@ class SftpReqStatus {
break;
default:
error = Exception('sftp worker event: $event');
Loggers.app.warning(error);
dispose();
break;
}
notifyListeners();
}