Files
app-hyggecraftery/lib/models/user.dart
2026-01-03 15:24:36 +01:00

52 lines
1.1 KiB
Dart

class User {
final int id;
final String email;
final String? username;
final String? firstName;
final String? lastName;
final String? displayName;
final String? avatarUrl;
User({
required this.id,
required this.email,
this.username,
this.firstName,
this.lastName,
this.displayName,
this.avatarUrl,
});
factory User.fromJson(Map<String, dynamic> json) {
return User(
id: json['id'] ?? 0,
email: json['email'] ?? '',
username: json['username'],
firstName: json['first_name'],
lastName: json['last_name'],
displayName: json['display_name'] ?? json['name'],
avatarUrl: json['avatar_url'],
);
}
Map<String, dynamic> toJson() {
return {
'id': id,
'email': email,
'username': username,
'first_name': firstName,
'last_name': lastName,
'display_name': displayName,
'avatar_url': avatarUrl,
};
}
String get fullName {
if (firstName != null && lastName != null) {
return '$firstName $lastName';
}
return displayName ?? email;
}
}