import 'dart:io'; import 'package:path/path.dart' as p; import 'package:path_provider/path_provider.dart'; import 'package:barcode_scanner/backend/objectbox/objectbox.g.dart'; late ObjectboxManager objectboxManager; class ObjectboxManager { /// The Store of this app. late final Store store; ObjectboxManager._create(this.store); /// Create an instance of ObjectBox to use throughout the app. static Future create() async { Directory directory; if (Platform.isIOS) { directory = await getLibraryDirectory(); } else { directory = await getApplicationSupportDirectory(); } // Future openStore() {...} is defined in the generated objectbox.g.dart final store = await openStore( directory: p.join(directory.path, "objectbox_db"), ); return ObjectboxManager._create(store); } /// Call it before `runApp()` in main.dart static Future init() async { objectboxManager = await ObjectboxManager.create(); } }