User.fromJson constructor
Creates a User instance from a JSON map.
Handles potential null values by providing default values (e.g., 0 for int,
empty string for String, false for bool) or keeping them null if not present.
It also parses the fcm_token_updated_at
string into a DateTime
object.
Implementation
factory User.fromJson(Map<String, dynamic> json) {
return User(
id: json['id'] ?? 0,
institutionId: json['institution_id'] ?? '',
role: json['role'] ?? '',
roleId: json['role_id'] ?? 0, // Assuming role_id is an int
phoneNumber: json['phone_number'] ?? '',
fcmToken: json['fcm_token'],
fcmTokenUpdatedAt: json['fcm_token_updated_at'] != null
? DateTime.parse(json['fcm_token_updated_at'])
: null,
currentBlockName: json['current_block_name'],
currentBlockId: json['current_block_id'],
currentWardID: json['current_ward_id'],
currentWardName: json['current_ward_name'],
floor: json['floor'],
hospitalId: json['hospital_id'] ?? 0,
isApprover: json['is_approver'] ?? false,
isSuperuser: json['is_superuser'] ?? false,
isResponder: json['is_responder'] ?? false,
isCreator: json['is_creator'] ?? false,
);
}