relatica/lib/data/objectbox/objectbox_cache.dart

31 lines
903 B
Dart
Raw Normal View History

2023-03-12 01:50:31 +00:00
import 'dart:io';
import 'package:logging/logging.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
import '../../objectbox.g.dart';
class ObjectBoxCache {
static final _logger = Logger('ObjectBoxCache');
late final Store store;
ObjectBoxCache._create(this.store);
2023-03-12 01:50:31 +00:00
static Future<ObjectBoxCache> create(
{String baseDir = 'objectboxcache', String? subDir}) async {
final docsDir = await getApplicationSupportDirectory();
2023-03-12 01:50:31 +00:00
final path = p.join(docsDir.path, baseDir, subDir);
try {
Directory(path).createSync(recursive: true);
} catch (e) {
_logger.severe('Error creating ObjectCachePathDirectory: $e');
}
_logger.info('ObjectBoxCache path: $path');
2023-03-12 01:50:31 +00:00
final store = await openStore(
directory: path, macosApplicationGroup: 'T69YZGT58U.relatica');
return ObjectBoxCache._create(store);
}
}