ObjectBox
This commit is contained in:
1 parent
e548f62bde
commit
f8317be627
60 files changed
+2367
-15049
No files matched your search
@@ -2,13 +2,12 @@ import 'package:dart_mq/dart_mq.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_chat_ui/flutter_chat_ui.dart';
|
||||
import 'package:flutter_chat_types/flutter_chat_types.dart' as types;
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||
import 'package:stadtbote/main.dart';
|
||||
import 'package:stadtbote/messages/pop_content_view_message.dart';
|
||||
import 'package:stadtbote/model/chat_message.dart' as sbmessage;
|
||||
import 'package:stadtbote/model/chat_message.dart';
|
||||
import 'package:stadtbote/model/session_status.dart';
|
||||
import 'package:stadtbote/objectbox.g.dart';
|
||||
import 'package:stadtbote/network_messages/messages_showed.dart';
|
||||
import 'package:stadtbote/tools/constants.dart';
|
||||
import 'package:stadtbote/tools/messages/publish_payload_message.dart';
|
||||
@@ -49,7 +48,9 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
|
||||
super.initState();
|
||||
|
||||
Future.delayed(const Duration(seconds: 0), () async {
|
||||
var status = await MyApp.isarInstance.sessionStatus.where().findFirst();
|
||||
final box = MyApp.objectBoxStore.box<SessionStatus>();
|
||||
final sessions = box.getAll();
|
||||
var status = sessions.isNotEmpty ? sessions.first : null;
|
||||
_sid = status != null ? status.sid : 'Unbekannt';
|
||||
|
||||
_sendMessagesReadMessage();
|
||||
@@ -97,9 +98,8 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
|
||||
message.read = true;
|
||||
message.id = await sbmessage.ChatMessage.getNextId();
|
||||
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.chatMessages.put(message);
|
||||
});
|
||||
final box = MyApp.objectBoxStore.box<sbmessage.ChatMessage>();
|
||||
box.put(message);
|
||||
|
||||
sendMessage(
|
||||
routingKey: Constants.messageTopicPublishPayload,
|
||||
@@ -124,7 +124,9 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
|
||||
Future<void> _fetchMessages() async {
|
||||
_messages.clear();
|
||||
|
||||
var messages = await MyApp.isarInstance.chatMessages.where().findAll();
|
||||
final box = MyApp.objectBoxStore.box<sbmessage.ChatMessage>();
|
||||
var messages = box.getAll();
|
||||
|
||||
for (var message in messages) {
|
||||
_messages.add(types.TextMessage(
|
||||
author: message.from == _sid ? _user : _central,
|
||||
@@ -136,9 +138,7 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
|
||||
_messages.sort((a, b) => b.createdAt! > a.createdAt! ? 1 : 0);
|
||||
|
||||
message.read = true;
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.chatMessages.put(message);
|
||||
});
|
||||
box.put(message);
|
||||
}
|
||||
|
||||
setState(() {});
|
||||
@@ -177,13 +177,8 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
|
||||
child: getDefaultButton(
|
||||
'Ja',
|
||||
() async => {
|
||||
await MyApp.isarInstance.writeTxn(
|
||||
() async => {
|
||||
await MyApp.isarInstance
|
||||
.chatMessages
|
||||
.delete(int.parse(
|
||||
message.id))
|
||||
}),
|
||||
MyApp.objectBoxStore.box<sbmessage.ChatMessage>()
|
||||
.remove(int.parse(message.id)),
|
||||
_fetchMessages(),
|
||||
setState(() {}),
|
||||
Navigator.of(MyApp.appNavigatorKey
|
||||
@@ -201,10 +196,10 @@ class _MessagesPageState extends State<MessagesPage> with ProducerMixin {
|
||||
}
|
||||
|
||||
void _sendMessagesReadMessage() async {
|
||||
var unreadChatMessages = await MyApp.isarInstance.chatMessages
|
||||
.filter()
|
||||
.readEqualTo(false)
|
||||
.findAll();
|
||||
final box = MyApp.objectBoxStore.box<sbmessage.ChatMessage>();
|
||||
final query = box.query(ChatMessage_.read.equals(false)).build();
|
||||
var unreadChatMessages = query.find();
|
||||
query.close();
|
||||
|
||||
if (unreadChatMessages.isNotEmpty) {
|
||||
List<String> chatMessageIds = [];
|
||||
|
||||
Reference in new issue
Block a user