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 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 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; } }