initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
/// 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,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user