Skip to content

Commit 40c29ae

Browse files
committed
api [nfc]: Rename subject/topic on UpdateMessageEvent
This completes the renaming from "subject" to "topic" in our code.
1 parent 1055ba9 commit 40c29ae

File tree

5 files changed

+57
-10
lines changed

5 files changed

+57
-10
lines changed

lib/api/model/events.dart

+8-4
Original file line numberDiff line numberDiff line change
@@ -623,8 +623,12 @@ class UpdateMessageEvent extends Event {
623623
final int? streamId;
624624
final int? newStreamId;
625625
final PropagateMode? propagateMode;
626-
final String? origSubject;
627-
final String? subject;
626+
627+
@JsonKey(name: 'orig_subject')
628+
final String? origTopic;
629+
@JsonKey(name: 'subject')
630+
final String? topic;
631+
628632
// final List<TopicLink> topicLinks; // TODO handle
629633
final String? origContent;
630634
final String? origRenderedContent;
@@ -644,8 +648,8 @@ class UpdateMessageEvent extends Event {
644648
required this.streamId,
645649
required this.newStreamId,
646650
required this.propagateMode,
647-
required this.origSubject,
648-
required this.subject,
651+
required this.origTopic,
652+
required this.topic,
649653
required this.origContent,
650654
required this.origRenderedContent,
651655
required this.content,

lib/api/model/events.g.dart

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/api/model/events_checks.dart

+19
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,25 @@ extension MessageEventChecks on Subject<MessageEvent> {
2727
Subject<Message> get message => has((e) => e.message, 'message');
2828
}
2929

30+
extension UpdateMessageEventChecks on Subject<UpdateMessageEvent> {
31+
Subject<int?> get userId => has((e) => e.userId, 'userId');
32+
Subject<bool?> get renderingOnly => has((e) => e.renderingOnly, 'renderingOnly');
33+
Subject<int> get messageId => has((e) => e.messageId, 'messageId');
34+
Subject<List<int>> get messageIds => has((e) => e.messageIds, 'messageIds');
35+
Subject<List<MessageFlag>> get flags => has((e) => e.flags, 'flags');
36+
Subject<int?> get editTimestamp => has((e) => e.editTimestamp, 'editTimestamp');
37+
Subject<int?> get streamId => has((e) => e.streamId, 'streamId');
38+
Subject<int?> get newStreamId => has((e) => e.newStreamId, 'newStreamId');
39+
Subject<PropagateMode?> get propagateMode => has((e) => e.propagateMode, 'propagateMode');
40+
Subject<String?> get origTopic => has((e) => e.origTopic, 'origTopic');
41+
Subject<String?> get topic => has((e) => e.topic, 'topic');
42+
Subject<String?> get origContent => has((e) => e.origContent, 'origContent');
43+
Subject<String?> get origRenderedContent => has((e) => e.origRenderedContent, 'origRenderedContent');
44+
Subject<String?> get content => has((e) => e.content, 'content');
45+
Subject<String?> get renderedContent => has((e) => e.renderedContent, 'renderedContent');
46+
Subject<bool?> get isMeMessage => has((e) => e.isMeMessage, 'isMeMessage');
47+
}
48+
3049
extension HeartbeatEventChecks on Subject<HeartbeatEvent> {
3150
// No properties not covered by Event.
3251
}

test/api/model/events_test.dart

+24
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,30 @@ void main() {
6666
check(mkEvent([MessageFlag.read])).message.flags.deepEquals([MessageFlag.read]);
6767
});
6868

69+
group('update_message', () {
70+
final message = eg.streamMessage();
71+
final baseJson = {
72+
'id': 1,
73+
'type': 'update_message',
74+
'user_id': eg.selfUser.userId,
75+
'rendering_only': false,
76+
'message_id': message.id,
77+
'message_ids': [message.id],
78+
'flags': <String>[],
79+
'edit_timestamp': 1718741351,
80+
'stream_id': eg.stream().streamId,
81+
};
82+
83+
test('orig_subject -> origTopic, subject -> topic', () {
84+
check(Event.fromJson({ ...baseJson,
85+
'orig_subject': 'foo',
86+
'subject': 'bar',
87+
}) as UpdateMessageEvent)
88+
..origTopic.equals('foo')
89+
..topic.equals('bar');
90+
});
91+
});
92+
6993
test('delete_message: require streamId and topic for stream messages', () {
7094
check(() => DeleteMessageEvent.fromJson({
7195
'id': 1,

test/example_data.dart

+2-2
Original file line numberDiff line numberDiff line change
@@ -410,8 +410,8 @@ UpdateMessageEvent updateMessageEditEvent(
410410
streamId: origMessage is StreamMessage ? origMessage.streamId : null,
411411
newStreamId: null,
412412
propagateMode: null,
413-
origSubject: null,
414-
subject: null,
413+
origTopic: null,
414+
topic: null,
415415
origContent: 'some probably-mismatched old Markdown',
416416
origRenderedContent: origMessage.content,
417417
content: 'some probably-mismatched new Markdown',

0 commit comments

Comments
 (0)