MIF_E31231313/Android/flutter_app/lib/models/nutritionist_profile_model....

57 lines
1.5 KiB
Dart

class NutritionistProfileModel {
const NutritionistProfileModel({
required this.id,
required this.name,
required this.phone,
required this.email,
required this.profession,
required this.workplace,
this.photo,
required this.isActive,
});
final int id;
final String name;
final String phone;
final String email;
final String profession;
final String workplace;
final String? photo;
final bool isActive;
factory NutritionistProfileModel.fromJson(Map<String, dynamic> json) {
return NutritionistProfileModel(
id: _int(json['id']),
name: _string(json['name'], fallback: 'Ahli Gizi'),
phone: _string(json['phone'], fallback: '-'),
email: _string(json['email'], fallback: '-'),
profession: _string(json['profession'], fallback: 'Ahli Gizi'),
workplace: _string(json['workplace'], fallback: '-'),
photo: json['photo'] as String?,
isActive: json['is_active'] != false,
);
}
Map<String, dynamic> toJson() => {
'id': id,
'name': name,
'phone': phone,
'email': email,
'profession': profession,
'workplace': workplace,
'photo': photo,
'is_active': isActive,
};
}
String _string(dynamic value, {String fallback = ''}) {
if (value is String && value.trim().isNotEmpty) return value.trim();
return fallback;
}
int _int(dynamic value) {
if (value is num) return value.toInt();
if (value is String) return int.tryParse(value) ?? 0;
return 0;
}