forked from Nexus/nexus
dont fetch members on load
This commit is contained in:
parent
edbc647a06
commit
8b056d8ed1
6 changed files with 206 additions and 137 deletions
13
lib/models/configs/member_config.dart
Normal file
13
lib/models/configs/member_config.dart
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
import "package:freezed_annotation/freezed_annotation.dart";
|
||||
import "package:nexus/models/room.dart";
|
||||
part "member_config.freezed.dart";
|
||||
part "member_config.g.dart";
|
||||
|
||||
@freezed
|
||||
abstract class MemberConfig with _$MemberConfig {
|
||||
const factory MemberConfig({required Room room, required String userId}) =
|
||||
_MemberConfig;
|
||||
|
||||
factory MemberConfig.fromJson(Map<String, Object?> json) =>
|
||||
_$MemberConfigFromJson(json);
|
||||
}
|
||||
28
lib/models/configs/message_config.dart
Normal file
28
lib/models/configs/message_config.dart
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import "package:freezed_annotation/freezed_annotation.dart";
|
||||
import "package:nexus/models/event.dart";
|
||||
import "package:nexus/models/room.dart";
|
||||
part "message_config.freezed.dart";
|
||||
part "message_config.g.dart";
|
||||
|
||||
@freezed
|
||||
abstract class MessageConfig with _$MessageConfig {
|
||||
const MessageConfig._();
|
||||
const factory MessageConfig({
|
||||
@Default(false) bool alwaysReturn,
|
||||
@Default(false) bool includeEdits,
|
||||
required Room room,
|
||||
required Event event,
|
||||
}) = _MessageConfig;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) =>
|
||||
other.runtimeType == runtimeType &&
|
||||
other is MessageConfig &&
|
||||
other.event.eventId == event.eventId;
|
||||
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, event.eventId);
|
||||
|
||||
factory MessageConfig.fromJson(Map<String, Object?> json) =>
|
||||
_$MessageConfigFromJson(json);
|
||||
}
|
||||
17
lib/models/configs/messages_config.dart
Normal file
17
lib/models/configs/messages_config.dart
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import "package:fast_immutable_collections/fast_immutable_collections.dart";
|
||||
import "package:freezed_annotation/freezed_annotation.dart";
|
||||
import "package:nexus/models/event.dart";
|
||||
import "package:nexus/models/room.dart";
|
||||
part "messages_config.freezed.dart";
|
||||
part "messages_config.g.dart";
|
||||
|
||||
@freezed
|
||||
abstract class MessagesConfig with _$MessagesConfig {
|
||||
const factory MessagesConfig({
|
||||
required Room room,
|
||||
required IList<Event> events,
|
||||
}) = _MessagesConfig;
|
||||
|
||||
factory MessagesConfig.fromJson(Map<String, Object?> json) =>
|
||||
_$MessagesConfigFromJson(json);
|
||||
}
|
||||
15
lib/models/membership.dart
Normal file
15
lib/models/membership.dart
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import "package:freezed_annotation/freezed_annotation.dart";
|
||||
part "membership.freezed.dart";
|
||||
part "membership.g.dart";
|
||||
|
||||
@freezed
|
||||
abstract class Membership with _$Membership {
|
||||
const factory Membership({
|
||||
required Uri? avatarUrl,
|
||||
required String displayName,
|
||||
required String userId,
|
||||
}) = _Membership;
|
||||
|
||||
factory Membership.fromJson(Map<String, Object?> json) =>
|
||||
_$MembershipFromJson(json);
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@ part "get_room_state_request.g.dart";
|
|||
abstract class GetRoomStateRequest with _$GetRoomStateRequest {
|
||||
const factory GetRoomStateRequest({
|
||||
required String roomId,
|
||||
required bool fetchMembers,
|
||||
@Default(false) bool fetchMembers,
|
||||
@Default(false) bool includeMembers,
|
||||
}) = _GetRoomStateRequest;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ abstract class Room with _$Room {
|
|||
@Default(IMap.empty()) IMap<String, IList<ReadReceipt>> receipts,
|
||||
@Default(false) bool dismissNotifications,
|
||||
@Default(true) bool hasMore,
|
||||
@Default(false) bool hasFetchedMembers,
|
||||
// required IList<Notification> notifications,
|
||||
}) = _Room;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue