mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 15:24:35 +01:00
#87 new: auto ask add system key (~/.ssh/id_rsa)
This commit is contained in:
@@ -1,6 +1,3 @@
|
||||
import 'dart:io';
|
||||
import 'package:toolbox/core/utils/misc.dart' show getHome, pathJoin;
|
||||
import 'package:toolbox/data/model/app/error.dart';
|
||||
import 'package:hive_flutter/hive_flutter.dart';
|
||||
|
||||
part 'private_key_info.g.dart';
|
||||
@@ -10,37 +7,25 @@ class PrivateKeyInfo {
|
||||
@HiveField(0)
|
||||
late String id;
|
||||
@HiveField(1)
|
||||
late String privateKey;
|
||||
late String key;
|
||||
@Deprecated('Never use this field')
|
||||
@HiveField(2)
|
||||
late String password;
|
||||
|
||||
PrivateKeyInfo(
|
||||
this.id,
|
||||
this.privateKey,
|
||||
this.password,
|
||||
);
|
||||
PrivateKeyInfo({
|
||||
required this.id,
|
||||
required this.key,
|
||||
});
|
||||
|
||||
PrivateKeyInfo.fromJson(Map<String, dynamic> json) {
|
||||
id = json["id"].toString();
|
||||
privateKey = json["private_key"].toString();
|
||||
password = json["password"].toString();
|
||||
key = json["private_key"].toString();
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = <String, dynamic>{};
|
||||
data["id"] = id;
|
||||
data["private_key"] = privateKey;
|
||||
data["password"] = password;
|
||||
data["private_key"] = key;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
class SystemPrivateKeyInfo extends PrivateKeyInfo {
|
||||
SystemPrivateKeyInfo() : super("System private key", "", "");
|
||||
|
||||
Future getKey() async {
|
||||
File idRsaFile = File(pathJoin(getHome(), ".ssh/id_rsa"));
|
||||
if (!await idRsaFile.exists()) {
|
||||
this.privateKey="";
|
||||
}
|
||||
this.privateKey= await idRsaFile.readAsString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,9 +17,8 @@ class PrivateKeyInfoAdapter extends TypeAdapter<PrivateKeyInfo> {
|
||||
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
|
||||
};
|
||||
return PrivateKeyInfo(
|
||||
fields[0] as String,
|
||||
fields[1] as String,
|
||||
fields[2] as String,
|
||||
id: fields[0] as String,
|
||||
key: fields[1] as String,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -30,8 +29,9 @@ class PrivateKeyInfoAdapter extends TypeAdapter<PrivateKeyInfo> {
|
||||
..writeByte(0)
|
||||
..write(obj.id)
|
||||
..writeByte(1)
|
||||
..write(obj.privateKey)
|
||||
..write(obj.key)
|
||||
..writeByte(2)
|
||||
// ignore: deprecated_member_use_from_same_package
|
||||
..write(obj.password);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user