chore: add 'language' field to user.dart

This commit is contained in:
groovinchip
2021-07-20 15:07:30 -04:00
parent c3312c2da2
commit 62b058e675
2 changed files with 10 additions and 0 deletions
@@ -18,6 +18,7 @@ class User extends Equatable {
this.extraData = const {},
this.banned = false,
this.teams = const [],
this.language = 'en',
}) : createdAt = createdAt ?? DateTime.now(),
updatedAt = updatedAt ?? DateTime.now();
@@ -82,6 +83,13 @@ class User extends Equatable {
)
final Map<String, Object?> extraData;
/// The language this user prefers.
///
/// Defaults to 'en'.
@JsonKey(
includeIfNull: false, toJson: Serializer.readOnly, defaultValue: 'en')
final String? language;
@override
int get hashCode => id.hashCode;
@@ -25,6 +25,7 @@ User _$UserFromJson(Map<String, dynamic> json) {
teams:
(json['teams'] as List<dynamic>?)?.map((e) => e as String).toList() ??
[],
language: json['language'] as String? ?? 'en',
);
}
@@ -47,5 +48,6 @@ Map<String, dynamic> _$UserToJson(User instance) {
writeNotNull('online', readonly(instance.online));
writeNotNull('banned', readonly(instance.banned));
val['extra_data'] = instance.extraData;
writeNotNull('language', readonly(instance.language));
return val;
}