Erweiterungen
This commit is contained in:
1 parent
47f31b7a5a
commit
c69a5644a1
5 files changed
+128
-18
No files matched your search
@@ -1,5 +1,6 @@
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:stadtbote/main.dart';
|
||||
import 'package:stadtbote/tools/util.dart';
|
||||
|
||||
part 'message.g.dart';
|
||||
@@ -17,12 +18,33 @@ class Message {
|
||||
|
||||
late List<String> text;
|
||||
|
||||
late bool? read = false;
|
||||
|
||||
Message();
|
||||
|
||||
factory Message.fromJson(Map<String, dynamic> json) => _$MessageFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$MessageToJson(this);
|
||||
|
||||
static Future<Message> mergeFromJson(Map<String, dynamic> json) async {
|
||||
var availableMessage = await MyApp.isarInstance.messages.filter().idEqualTo(json["id"]).findFirst();
|
||||
|
||||
if (availableMessage != null) {
|
||||
availableMessage.id = json["id"];
|
||||
availableMessage.time = json["time"];
|
||||
availableMessage.from = json["from"];
|
||||
availableMessage.subj = json["subj"];
|
||||
availableMessage.text = (json['text'] as List<dynamic>).map((e) => e as String).toList();
|
||||
|
||||
return availableMessage;
|
||||
} else {
|
||||
var message = Message.fromJson(json);
|
||||
message.read = false;
|
||||
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
||||
static Future<int> getNextId() async {
|
||||
int currentExport500Id = await Util.preferencesGetInt('next_message_id', 0) as int;
|
||||
|
||||
|
||||
Reference in new issue
Block a user