2023-01-18 20:10:38 +00:00
|
|
|
import 'package:logging/logging.dart';
|
2023-01-18 05:15:52 +00:00
|
|
|
import 'package:objectbox/objectbox.dart';
|
|
|
|
import 'package:path/path.dart' as p;
|
|
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
|
|
|
|
import '../../objectbox.g.dart';
|
|
|
|
|
|
|
|
class ObjectBoxCache {
|
2023-01-18 20:10:38 +00:00
|
|
|
static final _logger = Logger('ObjectBoxCache');
|
2023-01-18 05:15:52 +00:00
|
|
|
late final Store store;
|
|
|
|
|
|
|
|
ObjectBoxCache._create(this.store);
|
|
|
|
|
|
|
|
static Future<ObjectBoxCache> create() async {
|
|
|
|
final docsDir = await getApplicationSupportDirectory();
|
|
|
|
|
|
|
|
final path = p.join(docsDir.path, 'objectboxcache');
|
2023-01-18 20:10:38 +00:00
|
|
|
_logger.info('ObjectBoxCache path: $path');
|
2023-01-20 03:37:00 +00:00
|
|
|
final store =
|
|
|
|
await openStore(directory: path, macosApplicationGroup: 'relatica');
|
2023-01-18 05:15:52 +00:00
|
|
|
return ObjectBoxCache._create(store);
|
|
|
|
}
|
|
|
|
}
|