User.fromJson constructor

User.fromJson(
  1. Map<String, dynamic> json
)

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,
  );
}