medora-provider/lib/data/models/doctor.dart
DhanshCOSQ 66c3b2fb9c Patient registration complete with authentication flow fixed (#3)
Patient registration complete with authentication flow fixed

Co-authored-by: Benoy Bose <benoybose@gmail.com>
Co-authored-by: Jipson George <152465898+Jipson-cosq@users.noreply.github.com>
Reviewed-on: cosqnet/telemednet#3
Reviewed-by: Benoy Bose <benoybose@cosq.net>
Co-authored-by: DhanshCOSQ <dhanshas@cosq.net>
Co-committed-by: DhanshCOSQ <dhanshas@cosq.net>
2024-10-31 14:20:35 +00:00

117 lines
2.9 KiB
Dart

class Doctor {
// Add achievements field
List<String> achievements;
// Add to existing fields
String? speciality;
String? yearsOfExperience;
String? licenseNumber;
String? profileDescription;
String? digitalSignature;
Address address;
Profile profile;
Doctor({
this.achievements = const [], // Initialize with empty list
this.speciality,
this.yearsOfExperience,
this.licenseNumber,
this.profileDescription,
this.digitalSignature,
required this.address,
required this.profile,
});
Map<String, dynamic> toJson() => {
'achievements': achievements,
'speciality': speciality,
'yearsOfExperience': yearsOfExperience,
'licenseNumber': licenseNumber,
'profileDescription': profileDescription,
'digitalSignature': digitalSignature,
'address': address.toJson(),
'profile': profile.toJson(),
};
static Doctor fromJson(Map<String, dynamic> json) => Doctor(
achievements: List<String>.from(json['achievements'] ?? []),
speciality: json['speciality'],
yearsOfExperience: json['yearsOfExperience'],
licenseNumber: json['licenseNumber'],
profileDescription: json['profileDescription'],
digitalSignature: json['digitalSignature'],
address: Address.fromJson(json['address']),
profile: Profile.fromJson(json['profile']),
);
}
class Profile {
String? title;
String? surName;
String? middleName;
String? lastName;
List<String> qualifications;
var profileDescription;
Profile({
this.title,
this.surName,
this.middleName,
this.lastName,
required this.qualifications,
});
Map<String, dynamic> toJson() => {
'title': title,
'surname': surName,
'lastName': lastName,
'middleName': middleName,
'qualifications': qualifications,
};
static Profile fromJson(Map<String, dynamic> json) => Profile(
title: json['title'],
surName: json['surname'],
middleName: json['middleName'],
lastName: json['lastName'],
qualifications: List<String>.from(json['qualifications']),
);
}
class Address {
String? floorBuilding;
String? street;
String? city;
String? state;
String? country;
String? postalCode;
Address({
this.floorBuilding,
this.street,
this.city,
this.state,
this.country,
this.postalCode,
});
Map<String, dynamic> toJson() => {
'floorBuilding': floorBuilding,
'street': street,
'city': city,
'state': state,
'country': country,
'postalCode': postalCode,
};
static Address fromJson(Map<String, dynamic> json) => Address(
floorBuilding: json['floorBuilding'],
street: json['street'],
city: json['city'],
state: json['state'],
country: json['country'],
postalCode: json['postalCode'],
);
}