ObjectBox
This commit is contained in:
1 parent
e548f62bde
commit
f8317be627
60 files changed
+2367
-15049
No files matched your search
+12
-27
@@ -5,20 +5,12 @@ import 'package:synchronized/synchronized.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:shared_map/shared_map.dart';
|
||||
import 'package:stadtbote/messages/pop_content_view_message.dart';
|
||||
import 'package:stadtbote/model/enqueued_message.dart';
|
||||
import 'package:stadtbote/model/log_entry.dart';
|
||||
import 'package:stadtbote/model/chat_message.dart';
|
||||
import 'package:stadtbote/model/pictures.dart';
|
||||
import 'package:stadtbote/model/rank.dart';
|
||||
import 'package:stadtbote/model/location_status.dart';
|
||||
import 'package:stadtbote/model/task_info.dart';
|
||||
import 'package:stadtbote/popups/accept_jobs_popup.dart';
|
||||
import 'package:stadtbote/tools/colored_safe_area.dart';
|
||||
import 'package:stadtbote/model/session_status.dart';
|
||||
import 'package:stadtbote/tools/connection_status.dart';
|
||||
import 'package:stadtbote/tools/messages/job_deleted_message.dart';
|
||||
import 'package:stadtbote/tools/messages/job_received_message.dart';
|
||||
@@ -31,6 +23,7 @@ import 'content_views/main_page.dart';
|
||||
import 'content_views/utils/content_view_widget.dart';
|
||||
import 'content_views/utils/widget_stack.dart';
|
||||
import 'model/job.dart';
|
||||
import 'objectbox.g.dart';
|
||||
import 'tools/constants.dart';
|
||||
import 'tools/util.dart';
|
||||
|
||||
@@ -62,17 +55,7 @@ Future<void> main() async {
|
||||
MQClient.instance.declareQueue(Constants.messageTopicBWVEnabled);
|
||||
|
||||
final dir = await getApplicationDocumentsDirectory();
|
||||
MyApp.isarInstance = await Isar.open([
|
||||
SessionStatusSchema,
|
||||
LocationStatusSchema,
|
||||
JobSchema,
|
||||
TaskInfoSchema,
|
||||
ChatMessageSchema,
|
||||
EnqueuedMessageSchema,
|
||||
LogEntrySchema,
|
||||
RankingSchema,
|
||||
PictureSchema
|
||||
], directory: dir.path, name: "database_v1");
|
||||
MyApp.objectBoxStore = await openStore(directory: dir.path);
|
||||
|
||||
await _clearLog();
|
||||
|
||||
@@ -85,9 +68,12 @@ Future<void> main() async {
|
||||
Future<void> _clearLog() async {
|
||||
var dateTime = DateTime.now().add(const Duration(days: -7));
|
||||
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.logEntrys.where().filter().timeLessThan(dateTime).deleteAll();
|
||||
});
|
||||
final box = MyApp.objectBoxStore.box<LogEntry>();
|
||||
final query = box.query(LogEntry_.time.lessThan(dateTime.millisecondsSinceEpoch)).build();
|
||||
final oldEntries = query.find();
|
||||
query.close();
|
||||
|
||||
box.removeMany(oldEntries.map((e) => e.id).toList());
|
||||
}
|
||||
|
||||
void _traceUncaughtExceptions(Object error, StackTrace stackTrace) {
|
||||
@@ -100,7 +86,7 @@ class MyApp extends StatefulWidget {
|
||||
|
||||
static final appNavigatorKey = GlobalKey<NavigatorState>();
|
||||
|
||||
static late Isar isarInstance;
|
||||
static late Store objectBoxStore;
|
||||
|
||||
static Position? _currentPosition;
|
||||
static final Lock _positionLock = Lock();
|
||||
@@ -394,12 +380,11 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin, Produc
|
||||
callback: (message) async {
|
||||
var removeJobMessage = message.payload as RemoveJobMessage;
|
||||
|
||||
var job = await MyApp.isarInstance.jobs.where().filter().idEqualTo(removeJobMessage.id).findFirst();
|
||||
final box = MyApp.objectBoxStore.box<Job>();
|
||||
var job = box.get(removeJobMessage.id);
|
||||
|
||||
if (job != null) {
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.where().filter().idEqualTo(removeJobMessage.id).deleteAll();
|
||||
});
|
||||
box.remove(removeJobMessage.id);
|
||||
|
||||
sendMessage(
|
||||
routingKey: Constants.messageTopicJobDeleted,
|
||||
|
||||
Reference in new issue
Block a user