Files
mobile/lib/features/auth/domain/auth_user.dart
T
2026-06-28 12:29:06 +02:00

54 lines
1.4 KiB
Dart

/// Modèle utilisateur authentifié.
class AuthUser {
const AuthUser({
required this.uuid,
required this.firstName,
required this.lastName,
required this.email,
this.phone,
this.locale = 'fr',
});
final String uuid;
final String firstName;
final String lastName;
final String email;
final String? phone;
final String locale;
String get fullName => '$firstName $lastName'.trim();
factory AuthUser.fromJson(Map<String, dynamic> json) {
return AuthUser(
uuid: json['uuid'] as String,
firstName: json['first_name'] as String? ?? '',
lastName: json['last_name'] as String? ?? '',
email: json['email'] as String,
phone: json['phone'] as String?,
locale: json['locale'] as String? ?? 'fr',
);
}
}
/// Réponse d'authentification (login / register / refresh).
class AuthTokens {
const AuthTokens({
required this.accessToken,
required this.refreshToken,
this.user,
});
final String accessToken;
final String refreshToken;
final AuthUser? user;
factory AuthTokens.fromJson(Map<String, dynamic> json) {
final userJson = json['user'] as Map<String, dynamic>?;
return AuthTokens(
accessToken: json['access_token'] as String? ?? json['token'] as String,
refreshToken: json['refresh_token'] as String,
user: userJson != null ? AuthUser.fromJson(userJson) : null,
);
}
}