fix: Fake User object

This commit is contained in:
Christian Pauly 2023-01-26 09:05:05 +01:00
parent d981fcd2f9
commit c5898f62b9
2 changed files with 24 additions and 22 deletions

View File

@ -243,17 +243,17 @@ class Event extends MatrixEvent {
} }
User get asUser => User.fromState( User get asUser => User.fromState(
// state key should always be set for member events // state key should always be set for member events
stateKey: stateKey!, stateKey: stateKey!,
prevContent: prevContent, prevContent: prevContent,
content: content, content: content,
typeKey: type, typeKey: type,
eventId: eventId, eventId: eventId,
roomId: roomId, senderId: senderId,
senderId: senderId, originServerTs: originServerTs,
originServerTs: originServerTs, unsigned: unsigned,
unsigned: unsigned, room: room,
room: room); );
String get messageType => type == EventTypes.Sticker String get messageType => type == EventTypes.Sticker
? MessageTypes.Sticker ? MessageTypes.Sticker

View File

@ -20,33 +20,35 @@ import 'package:matrix/matrix.dart';
/// Represents a Matrix User which may be a participant in a Matrix Room. /// Represents a Matrix User which may be a participant in a Matrix Room.
class User extends Event { class User extends Event {
factory User(String id, factory User(
{String? membership, String id, {
String? displayName, String? membership,
String? avatarUrl, String? displayName,
required Room room}) { String? avatarUrl,
required Room room,
}) {
return User.fromState( return User.fromState(
stateKey: id, stateKey: id,
senderId: id,
eventId: 'fake_event',
content: { content: {
if (membership != null) 'membership': membership, if (membership != null) 'membership': membership,
if (displayName != null) 'displayname': displayName, if (displayName != null) 'displayname': displayName,
if (avatarUrl != null) 'avatar_url': avatarUrl, if (avatarUrl != null) 'avatar_url': avatarUrl,
}, },
typeKey: EventTypes.RoomMember, typeKey: EventTypes.RoomMember,
roomId: room.id,
room: room, room: room,
originServerTs: DateTime.now(), originServerTs: DateTime.now(),
); );
} }
User.fromState({ User.fromState({
dynamic prevContent, Map<String, dynamic>? prevContent,
required String stateKey, required String stateKey,
dynamic content, Map<String, dynamic> content = const {},
required String typeKey, required String typeKey,
String eventId = 'fakevent', required String eventId,
String? roomId, required String senderId,
String senderId = 'fakesender',
required DateTime originServerTs, required DateTime originServerTs,
dynamic unsigned, dynamic unsigned,
required Room room, required Room room,