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
- Fixed streamWatchers. Before it was always new, now it is possible to follow the watchers of a channel. - 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 🔄 Changed
@@ -217,7 +217,7 @@ class Message extends Equatable {
bool get isEphemeral => type == 'ephemeral'; bool get isEphemeral => type == 'ephemeral';
/// A Map of translations. /// A Map of translations.
@JsonKey(includeIfNull: false) @JsonKey(includeIfNull: false, toJson: Serializer.readOnly)
final Map<String, String>? i18n; final Map<String, String>? i18n;
/// Known top level fields. /// Known top level fields.
@@ -108,6 +108,6 @@ Map<String, dynamic> _$MessageToJson(Message instance) {
val['pin_expires'] = instance.pinExpires?.toIso8601String(); val['pin_expires'] = instance.pinExpires?.toIso8601String();
val['pinned_by'] = readonly(instance.pinnedBy); val['pinned_by'] = readonly(instance.pinnedBy);
val['extra_data'] = instance.extraData; val['extra_data'] = instance.extraData;
writeNotNull('i18n', instance.i18n); writeNotNull('i18n', readonly(instance.i18n));
return val; return val;
} }
@@ -394,7 +394,12 @@ void main() {
path, path,
data: {'language': language}, data: {'language': language},
)).thenAnswer((_) async => successResponse(path, data: { )).thenAnswer((_) async => successResponse(path, data: {
'message': translatedMessage.toJson(), 'message': {
...translatedMessage.toJson(),
'i18n': {
language: translatedMessageText,
},
},
})); }));
final res = await messageApi.translateMessage(messageId, language); final res = await messageApi.translateMessage(messageId, language);