ObjectBox
This commit is contained in:
1 parent
e548f62bde
commit
f8317be627
60 files changed
+2367
-15049
No files matched your search
+26
-11
@@ -1,14 +1,11 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:objectbox/objectbox.dart';
|
||||
import 'package:stadtbote/main.dart';
|
||||
import 'package:stadtbote/tools/util.dart';
|
||||
|
||||
part 'chat_message.g.dart';
|
||||
|
||||
@collection
|
||||
@JsonSerializable()
|
||||
@Entity()
|
||||
class ChatMessage {
|
||||
late Id id;
|
||||
@Id()
|
||||
int id = 0;
|
||||
|
||||
late int time;
|
||||
|
||||
@@ -18,16 +15,34 @@ class ChatMessage {
|
||||
|
||||
late String text;
|
||||
|
||||
late bool? read = false;
|
||||
bool read = false;
|
||||
|
||||
ChatMessage();
|
||||
|
||||
factory ChatMessage.fromJson(Map<String, dynamic> json) => _$ChatMessageFromJson(json);
|
||||
factory ChatMessage.fromJson(Map<String, dynamic> json) {
|
||||
final message = ChatMessage();
|
||||
message.id = json['id'] as int? ?? 0;
|
||||
message.time = json['time'] as int;
|
||||
message.from = json['from'] as String;
|
||||
message.subj = json['subj'] as String;
|
||||
message.text = json['text'] as String;
|
||||
message.read = json['read'] as bool? ?? false;
|
||||
return message;
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() => _$ChatMessageToJson(this);
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'id': id,
|
||||
'time': time,
|
||||
'from': from,
|
||||
'subj': subj,
|
||||
'text': text,
|
||||
'read': read,
|
||||
};
|
||||
}
|
||||
|
||||
static Future<ChatMessage> mergeFromJson(Map<String, dynamic> json) async {
|
||||
var availableMessage = await MyApp.isarInstance.chatMessages.filter().idEqualTo(json["id"]).findFirst();
|
||||
var availableMessage = MyApp.objectBoxStore.box<ChatMessage>().get(json["id"] as int);
|
||||
|
||||
if (availableMessage != null) {
|
||||
availableMessage.id = json["id"];
|
||||
|
||||
Reference in new issue
Block a user