Files
flutter_server_box/lib/data/store/snippet.dart
lollipopkit🏳️‍⚧️ d88e97e699 new: use generated ids for servers (#765)
* new: use generated ids for servers
Fixes #743

* fix: deps.

* fix: migrate related settings

* fix: restore servers from json
2025-05-16 21:50:44 +08:00

39 lines
776 B
Dart

import 'package:fl_lib/fl_lib.dart';
import 'package:server_box/data/model/server/snippet.dart';
class SnippetStore extends HiveStore {
SnippetStore._() : super('snippet');
static final instance = SnippetStore._();
void put(Snippet snippet) {
set(snippet.name, snippet);
}
List<Snippet> fetch() {
final ss = <Snippet>{};
for (final key in keys()) {
final s = box.get(key);
if (s != null && s is Snippet) {
ss.add(s);
}
}
return ss.toList();
}
void delete(Snippet s) {
remove(s.name);
}
void update(Snippet old, Snippet newInfo) {
if (!have(old)) {
throw Exception('Old snippet: $old not found');
}
delete(old);
put(newInfo);
}
bool have(Snippet s) => get(s.name) != null;
}