OpenContacts/lib/models/users/user.dart
2024-07-15 00:23:04 -04:00

34 lines
No EOL
830 B
Dart

import 'package:OpenContacts/models/users/user_profile.dart';
class User {
final String id;
final String username;
final DateTime registrationDate;
final UserProfile? userProfile;
const User({required this.id, required this.username, required this.registrationDate, this.userProfile});
factory User.fromMap(Map map) {
UserProfile? profile;
try {
profile = UserProfile.fromMap(map["profile"]);
} catch (e) {
profile = null;
}
return User(
id: map["id"],
username: map["username"],
registrationDate: DateTime.parse(map["registrationDate"]),
userProfile: profile,
);
}
Map toMap() {
return {
"id": id,
"username": username,
"registrationDate": registrationDate.toIso8601String(),
"profile": userProfile?.toMap(),
};
}
}