mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
BBreaking change
This commit is contained in:
33
lib/data/store/private_key.dart
Normal file
33
lib/data/store/private_key.dart
Normal file
@@ -0,0 +1,33 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:toolbox/core/persistant_store.dart';
|
||||
import 'package:toolbox/data/model/private_key_info.dart';
|
||||
|
||||
class PrivateKeyStore extends PersistentStore {
|
||||
void put(PrivateKeyInfo info) {
|
||||
final ss = fetch();
|
||||
if (!have(info)) ss.add(info);
|
||||
box.put('key', json.encode(ss));
|
||||
}
|
||||
|
||||
List<PrivateKeyInfo> fetch() {
|
||||
return getPrivateKeyInfoList(
|
||||
json.decode(box.get('key', defaultValue: '[]')!))!;
|
||||
}
|
||||
|
||||
void delete(PrivateKeyInfo s) {
|
||||
final ss = fetch();
|
||||
ss.removeAt(index(s));
|
||||
box.put('key', json.encode(ss));
|
||||
}
|
||||
|
||||
void update(PrivateKeyInfo old, PrivateKeyInfo newInfo) {
|
||||
final ss = fetch();
|
||||
ss[index(old)] = newInfo;
|
||||
box.put('key', json.encode(ss));
|
||||
}
|
||||
|
||||
int index(PrivateKeyInfo s) => fetch().indexWhere((e) => e.id == s.id);
|
||||
|
||||
bool have(PrivateKeyInfo s) => index(s) != -1;
|
||||
}
|
||||
Reference in New Issue
Block a user