Files
flutter_server_box/lib/data/store/container.dart
lollipopkit🏳️‍⚧️ 0c1ada0067 fix: cloud sync (#769)
2025-06-04 00:11:31 +08:00

46 lines
1.1 KiB
Dart

import 'package:fl_lib/fl_lib.dart';
import 'package:server_box/data/model/container/type.dart';
import 'package:server_box/data/res/store.dart';
const _keyConfig = 'providerConfig';
class ContainerStore extends HiveStore {
ContainerStore._() : super('docker');
static final instance = ContainerStore._();
String? fetch(String? id) {
return box.get(id);
}
void put(String id, String host) {
set(id, host);
}
ContainerType getType([String id = '']) {
final cfg = box.get(_keyConfig + id);
if (cfg != null) {
final type =
ContainerType.values.firstWhereOrNull((e) => e.toString() == cfg);
if (type != null) return type;
}
return defaultType;
}
ContainerType get defaultType {
if (Stores.setting.usePodman.get()) return ContainerType.podman;
return ContainerType.docker;
}
void setType(ContainerType type, [String id = '']) {
if (type == defaultType) {
// box.delete(_keyConfig + id);
remove(_keyConfig + id);
} else {
// box.put(_keyConfig + id, type.toString());
set(_keyConfig + id, type.toString());
}
}
}