ZeytinXUserModel.fromJson constructor
ZeytinXUserModel.fromJson(
- Map<String, dynamic> json
)
Implementation
factory ZeytinXUserModel.fromJson(Map<String, dynamic> json) {
String s(dynamic v) {
if (v == null) return '';
return v.toString();
}
List<String> l(dynamic v) {
if (v == null || v is! List) return <String>[];
return v.map((e) => e.toString()).toList().cast<String>();
}
return ZeytinXUserModel(
username: s(json['username']),
uid: s(json['uid']),
email: s(json['email']),
school: s(json['school']),
job: s(json['job']),
emailVerified: s(json['email_verified']),
password: s(json['password']),
blockedUsers: l(json['blockedUsers']),
role: s(json['role']),
firstName: s(json['first_name']),
lastName: s(json['last_name']),
displayName: s(json['display_name']),
avatarUrl: s(json['avatar_url']),
gender: s(json['gender']),
dateOfBirth: s(json['date_of_birth']),
biography: s(json['biography']),
preferredLanguage: s(json['preferred_language']),
timezone: s(json['timezone']),
accountStatus: s(json['account_status']),
accountUpdated: s(json['account_updated']),
accountCreation: s(json['account_creation']),
accountType: s(json['account_type']),
lastLoginTimestamp: s(json['last_login_timestamp']),
lastLoginIp: s(json['last_login_ip']),
socialMedias: l(json['social_medias']),
followers: l(json['followers']),
following: l(json['following']),
theme: s(json['theme']),
street: s(json['street']),
city: s(json['city']),
postalCode: s(json['postal_code']),
country: s(json['country']),
locale: s(json['locale']),
posts: l(json['posts']),
createdBy: s(json['created_by']),
updatedBy: s(json['updated_by']),
version: s(json['version']),
data: json['data'] is Map ? Map<String, dynamic>.from(json['data']) : {},
);
}