add most models needed for invites

This commit is contained in:
Henry Hiles 2026-10-06 20:52:56 -04:00
commit 0df2d8f78b
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
7 changed files with 61 additions and 4 deletions

View file

@ -0,0 +1,21 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:freezed_annotation/freezed_annotation.dart";
import "package:nexus/models/epoch_date_time_converter.dart";
import "package:nexus/models/event.dart";
part "invited_room.freezed.dart";
part "invited_room.g.dart";
@Freezed(toJson: false, fromJson: false)
@JsonSerializable()
class const InvitedRoom({
required final String roomId,
@EpochDateTimeConverter() required final DateTime createdAt,
// TODO: This is DBEvent, should be event.Event
required final IList<Event> inviteState,
}) with _$InvitedRoom {
Map<String, Object?> toJson() => _$InvitedRoomToJson(this);
factory InvitedRoom.fromJson(Map<String, Object?> json) =>
_$InvitedRoomFromJson(json);
}