Files
Eventify-frontend/lib/features/auth/models/user_model.dart

37 lines
951 B
Dart
Raw Permalink Normal View History

2026-01-31 15:23:18 +05:30
class UserModel {
final String username;
final String email;
final String role;
final String token;
final String? phoneNumber;
UserModel({
required this.username,
required this.email,
required this.role,
required this.token,
this.phoneNumber,
});
/// Defensive factory: uses defaults when keys are missing
factory UserModel.fromJson(Map<String, dynamic> json) {
return UserModel(
username: (json['username'] ?? json['email'] ?? '').toString(),
email: (json['email'] ?? '').toString(),
role: (json['role'] ?? 'user').toString(),
token: (json['token'] ?? '').toString(),
phoneNumber: json['phone_number'] != null ? json['phone_number'].toString() : null,
);
}
Map<String, dynamic> toJson() {
return {
'username': username,
'email': email,
'role': role,
'token': token,
if (phoneNumber != null) 'phone_number': phoneNumber,
};
}
}