Skip to content

Commit 2b0944f

Browse files
committed
message [nfc]: Move proxy boilerplate out to substore file
1 parent 4055216 commit 2b0944f

File tree

2 files changed

+50
-44
lines changed

2 files changed

+50
-44
lines changed

lib/model/message.dart

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,53 @@ mixin MessageStore {
7474
({String originalRawContent, String newContent}) takeFailedMessageEdit(int messageId);
7575
}
7676

77+
mixin ProxyMessageStore on MessageStore {
78+
@protected
79+
MessageStore get messageStore;
80+
81+
@override
82+
Map<int, Message> get messages => messageStore.messages;
83+
@override
84+
Map<int, OutboxMessage> get outboxMessages => messageStore.outboxMessages;
85+
@override
86+
void registerMessageList(MessageListView view) =>
87+
messageStore.registerMessageList(view);
88+
@override
89+
void unregisterMessageList(MessageListView view) =>
90+
messageStore.unregisterMessageList(view);
91+
@override
92+
void markReadFromScroll(Iterable<int> messageIds) =>
93+
messageStore.markReadFromScroll(messageIds);
94+
@override
95+
Future<void> sendMessage({required MessageDestination destination, required String content}) {
96+
return messageStore.sendMessage(destination: destination, content: content);
97+
}
98+
@override
99+
OutboxMessage takeOutboxMessage(int localMessageId) =>
100+
messageStore.takeOutboxMessage(localMessageId);
101+
102+
@override
103+
bool? getEditMessageErrorStatus(int messageId) {
104+
return messageStore.getEditMessageErrorStatus(messageId);
105+
}
106+
@override
107+
void editMessage({
108+
required int messageId,
109+
required String originalRawContent,
110+
required String newContent,
111+
}) {
112+
return messageStore.editMessage(messageId: messageId,
113+
originalRawContent: originalRawContent, newContent: newContent);
114+
}
115+
@override
116+
({String originalRawContent, String newContent}) takeFailedMessageEdit(int messageId) {
117+
return messageStore.takeFailedMessageEdit(messageId);
118+
}
119+
120+
@override
121+
Set<MessageListView> get debugMessageListViews => messageStore.debugMessageListViews;
122+
}
123+
77124
class _EditMessageRequestStatus {
78125
_EditMessageRequestStatus({
79126
required this.hasError,

lib/model/store.dart

Lines changed: 3 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import '../api/model/events.dart';
1414
import '../api/model/initial_snapshot.dart';
1515
import '../api/model/model.dart';
1616
import '../api/route/events.dart';
17-
import '../api/route/messages.dart';
1817
import '../api/backoff.dart';
1918
import '../api/route/realm.dart';
2019
import '../log.dart';
@@ -25,7 +24,6 @@ import 'database.dart';
2524
import 'emoji.dart';
2625
import 'localizations.dart';
2726
import 'message.dart';
28-
import 'message_list.dart';
2927
import 'presence.dart';
3028
import 'realm.dart';
3129
import 'recent_dm_conversations.dart';
@@ -443,7 +441,7 @@ class PerAccountStore extends PerAccountStoreBase with
443441
SavedSnippetStore,
444442
UserStore, ProxyUserStore,
445443
ChannelStore, ProxyChannelStore,
446-
MessageStore {
444+
MessageStore, ProxyMessageStore {
447445
/// Construct a store for the user's data, starting from the given snapshot.
448446
///
449447
/// The global store must already have been updated with
@@ -617,27 +615,6 @@ class PerAccountStore extends PerAccountStoreBase with
617615
//|//////////////////////////////
618616
// Messages, and summaries of messages.
619617

620-
@override
621-
Map<int, Message> get messages => _messages.messages;
622-
@override
623-
Map<int, OutboxMessage> get outboxMessages => _messages.outboxMessages;
624-
@override
625-
void registerMessageList(MessageListView view) =>
626-
_messages.registerMessageList(view);
627-
@override
628-
void unregisterMessageList(MessageListView view) =>
629-
_messages.unregisterMessageList(view);
630-
@override
631-
void markReadFromScroll(Iterable<int> messageIds) =>
632-
_messages.markReadFromScroll(messageIds);
633-
@override
634-
Future<void> sendMessage({required MessageDestination destination, required String content}) {
635-
return _messages.sendMessage(destination: destination, content: content);
636-
}
637-
@override
638-
OutboxMessage takeOutboxMessage(int localMessageId) =>
639-
_messages.takeOutboxMessage(localMessageId);
640-
641618
/// Reconcile a batch of just-fetched messages with the store,
642619
/// mutating the list.
643620
///
@@ -661,27 +638,9 @@ class PerAccountStore extends PerAccountStoreBase with
661638
// TODO(#650) notify [recentDmConversationsView] of the just-fetched messages
662639
}
663640

641+
@protected
664642
@override
665-
bool? getEditMessageErrorStatus(int messageId) {
666-
return _messages.getEditMessageErrorStatus(messageId);
667-
}
668-
@override
669-
void editMessage({
670-
required int messageId,
671-
required String originalRawContent,
672-
required String newContent,
673-
}) {
674-
return _messages.editMessage(messageId: messageId,
675-
originalRawContent: originalRawContent, newContent: newContent);
676-
}
677-
@override
678-
({String originalRawContent, String newContent}) takeFailedMessageEdit(int messageId) {
679-
return _messages.takeFailedMessageEdit(messageId);
680-
}
681-
682-
@override
683-
Set<MessageListView> get debugMessageListViews => _messages.debugMessageListViews;
684-
643+
MessageStore get messageStore => _messages;
685644
final MessageStoreImpl _messages;
686645

687646
final Unreads unreads;

0 commit comments

Comments
 (0)