Merge pull request #1499 from GetStream/fix/message-i18n

fix(llc): make message.i18n readonly
This commit is contained in:
Deven Joshi
2023-04-05 15:39:31 +05:30
committed by GitHub
4 changed files with 9 additions and 3 deletions
+1
View File
@@ -3,6 +3,7 @@
🐞 Fixed
- Fixed streamWatchers. Before it was always new, now it is possible to follow the watchers of a channel.
- Make `Message.i18n` field read-only.
🔄 Changed
@@ -217,7 +217,7 @@ class Message extends Equatable {
bool get isEphemeral => type == 'ephemeral';
/// A Map of translations.
@JsonKey(includeIfNull: false)
@JsonKey(includeIfNull: false, toJson: Serializer.readOnly)
final Map<String, String>? i18n;
/// Known top level fields.
@@ -108,6 +108,6 @@ Map<String, dynamic> _$MessageToJson(Message instance) {
val['pin_expires'] = instance.pinExpires?.toIso8601String();
val['pinned_by'] = readonly(instance.pinnedBy);
val['extra_data'] = instance.extraData;
writeNotNull('i18n', instance.i18n);
writeNotNull('i18n', readonly(instance.i18n));
return val;
}
@@ -394,7 +394,12 @@ void main() {
path,
data: {'language': language},
)).thenAnswer((_) async => successResponse(path, data: {
'message': translatedMessage.toJson(),
'message': {
...translatedMessage.toJson(),
'i18n': {
language: translatedMessageText,
},
},
}));
final res = await messageApi.translateMessage(messageId, language);