import 'package:flutter_zxing_example/models/models.dart'; import 'package:hive_flutter/hive_flutter.dart'; class DbService { DbService._privateConstructor(); static final DbService instance = DbService._privateConstructor(); Future initializeApp() async { await Hive.initFlutter(); Hive.registerAdapter(CodeAdapter()); Hive.registerAdapter(EncodeAdapter()); await Hive.openBox('codes'); await Hive.openBox('encodes'); } Box getCodes() => Hive.box('codes'); Future deleteCodes() async { var items = getCodes(); await items.deleteAll(items.keys); return; } Future addCode(Code value) async { var items = getCodes(); if (!items.values.contains(value)) { return items.add(value); } return; } Future deleteCode(Code value) async { var items = getCodes(); await items.delete(value.key); return; } Box getEncodes() => Hive.box('encodes'); Future deleteEncodes() async { var items = getEncodes(); await items.deleteAll(items.keys); return; } Future addEncode(Encode value) async { var items = getEncodes(); if (!items.values.contains(value)) { return items.add(value); } return; } Future deleteEncode(Encode value) async { var items = getEncodes(); await items.delete(value.key); return; } }