Initialer Commit: Projekt Start
This commit is contained in:
51
lib/models/user.dart
Normal file
51
lib/models/user.dart
Normal file
@@ -0,0 +1,51 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user