diff --git a/lib/controllers/message_controller.dart b/lib/controllers/message_controller.dart index d52a835..18bee2b 100644 --- a/lib/controllers/message_controller.dart +++ b/lib/controllers/message_controller.dart @@ -123,7 +123,6 @@ class MessageController extends AsyncNotifier { text: "Unable to decrypt message.", metadata: {...metadata, "body": "Unable to decrypt message."}, ), - // "org.matrix.msc3381.poll.start" => Message.custom( // metadata: { // ...metadata, diff --git a/lib/models/content/content.dart b/lib/models/content/content.dart deleted file mode 100644 index 06ec328..0000000 --- a/lib/models/content/content.dart +++ /dev/null @@ -1,17 +0,0 @@ -import "package:nexus/models/content/encrypted.dart"; -import "package:nexus/models/content/membership.dart"; -import "package:nexus/models/content/message.dart"; - -class Content { - Content(); - factory Content.fromJson(Map json) => Content(); - - Map toJson() => {}; - static Content fromEventJson(Map eventJson) => - switch (eventJson["type"]) { - EncryptedContent.type => EncryptedContent.fromJson, - MembershipContent.type => MembershipContent.fromJson, - MessageContent.type => MessageContent.fromJson, - _ => Content.fromJson, - }(eventJson); -} diff --git a/lib/models/content/encrypted.dart b/lib/models/content/encrypted.dart deleted file mode 100644 index 0b575e7..0000000 --- a/lib/models/content/encrypted.dart +++ /dev/null @@ -1,9 +0,0 @@ -import "package:nexus/models/content/content.dart"; - -class EncryptedContent extends Content { - EncryptedContent(); - factory EncryptedContent.fromJson(Map json) => - EncryptedContent(); - - static const type = "m.room.encrypted"; -} diff --git a/lib/models/content/membership.dart b/lib/models/content/membership.dart deleted file mode 100644 index 38435b5..0000000 --- a/lib/models/content/membership.dart +++ /dev/null @@ -1,21 +0,0 @@ -import "package:freezed_annotation/freezed_annotation.dart"; -import "package:nexus/models/content/content.dart"; -import "package:nexus/models/membership_status.dart"; -part "membership.freezed.dart"; -part "membership.g.dart"; - -@freezed -abstract class MembershipContent extends Content with _$MembershipContent { - static const type = "m.room.membership"; - - MembershipContent._(); - const factory MembershipContent({ - @JsonKey(name: "displayname") required String displayName, - required MembershipStatus membership, - required String? avatarUrl, - required String? reason, - }) = _MembershipContent; - - factory MembershipContent.fromJson(Map json) => - _$MembershipContentFromJson(json); -} diff --git a/lib/models/content/message.dart b/lib/models/content/message.dart deleted file mode 100644 index 3523db7..0000000 --- a/lib/models/content/message.dart +++ /dev/null @@ -1,16 +0,0 @@ -import "package:freezed_annotation/freezed_annotation.dart"; -import "package:nexus/models/content/content.dart"; -import "package:nexus/models/membership_status.dart"; -part "message.freezed.dart"; -part "message.g.dart"; - -@freezed -abstract class MessageContent extends Content with _$MessageContent { - static const type = "m.room.message"; - - MessageContent._(); - const factory MessageContent({required String msgtype}) = _MessageContent; - - factory MessageContent.fromJson(Map json) => - _$MessageContentFromJson(json); -} diff --git a/lib/models/event.dart b/lib/models/event.dart index 4e7ba04..4a72817 100644 --- a/lib/models/event.dart +++ b/lib/models/event.dart @@ -1,6 +1,5 @@ import "package:fast_immutable_collections/fast_immutable_collections.dart"; import "package:freezed_annotation/freezed_annotation.dart"; -import "package:nexus/models/content/content.dart"; import "package:nexus/models/epoch_date_time_converter.dart"; part "event.freezed.dart"; part "event.g.dart"; @@ -16,6 +15,7 @@ abstract class Event with _$Event { required String type, String? stateKey, @EpochDateTimeConverter() required DateTime timestamp, + required IMap content, IMap? decrypted, String? decryptedType, @Default(IMap.empty()) IMap unsigned, @@ -29,7 +29,6 @@ abstract class Event with _$Event { @Default(IMap.empty()) IMap reactions, @JsonKey(name: "last_edit_rowid") int? lastEditRowId, @UnreadTypeConverter() UnreadType? unreadType, - @JsonKey(fromJson: Content.fromJson) required Content content, }) = _Event; factory Event.fromJson(Map json) => _$EventFromJson(json);