This commit is contained in:
Henry Hiles 2026-01-26 11:35:45 +00:00
commit 27fba2cdb5
No known key found for this signature in database
11 changed files with 228 additions and 19 deletions

View file

@ -0,0 +1,27 @@
import "package:freezed_annotation/freezed_annotation.dart";
import "package:nexus/models/content_uri.dart";
import "package:nexus/models/epoch_date_time_converter.dart";
import "package:nexus/models/lazy_load_summary.dart";
part "room_metadata.freezed.dart";
part "room_metadata.g.dart";
@freezed
abstract class RoomMetadata with _$RoomMetadata {
const factory RoomMetadata({
@JsonKey(name: "room_id") required String id,
// required CreateEventContent creationContent,
// required TombstoneEventContent tombstoneEventContent,
String? name,
ContentUri? avatar,
String? topic,
String? canonicalAlias,
LazyLoadSummary? lazyLoadSummary,
required bool hasMemberList,
@JsonKey(name: "preview_event_rowid") required String previewEventRowID,
@EpochDateTimeConverter() required DateTime sortingTimestamp,
@Default(false) bool markedUnread,
}) = _RoomMetadata;
factory RoomMetadata.fromJson(Map<String, Object?> json) =>
_$RoomMetadataFromJson(json);
}