Adding Hive persistence

This commit is contained in:
Ankit Mahato
2023-03-27 12:17:30 +05:30
parent e9b3b04ffd
commit bb698539fe
5 changed files with 153 additions and 18 deletions

View File

@ -0,0 +1,31 @@
import 'package:hive_flutter/hive_flutter.dart';
// constants
const String kDataBox = "data";
// sequence of ids
const String kDataBoxIds = "ids";
Future<void> openBoxes() async {
await Hive.initFlutter();
await Hive.openBox(kDataBox);
}
class HiveHandler {
late final Box dataBox;
HiveHandler() {
dataBox = Hive.box(kDataBox);
}
List<String>? getIds() => dataBox.get(kDataBoxIds) as List<String>?;
Future<void> setIds(List<String>? ids) => dataBox.put(kDataBoxIds, ids);
Map<String, dynamic>? getRequestModel(String id) =>
dataBox.get(id) as Map<String, dynamic>?;
Future<void> setRequestModel(
String id, Map<String, dynamic>? requestModelJson) =>
dataBox.put(id, requestModelJson);
Future<int> clear() => dataBox.clear();
}