mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-09 22:57:21 +00:00
68 lines
1.7 KiB
Dart
68 lines
1.7 KiB
Dart
import 'package:syncrow_web/pages/auth/model/token.dart';
|
|
|
|
class UserModel {
|
|
static String userUuidKey = 'userUuid';
|
|
final String? uuid;
|
|
final String? email;
|
|
final String? firstName;
|
|
final String? lastName;
|
|
final String? photoUrl;
|
|
final String? phoneNumber;
|
|
final bool? isEmailVerified;
|
|
final bool? isAgreementAccepted;
|
|
UserModel({
|
|
required this.uuid,
|
|
required this.email,
|
|
required this.firstName,
|
|
required this.lastName,
|
|
required this.photoUrl,
|
|
required this.phoneNumber,
|
|
required this.isEmailVerified,
|
|
required this.isAgreementAccepted,
|
|
});
|
|
|
|
factory UserModel.fromJson(Map<String, dynamic> json) {
|
|
return UserModel(
|
|
uuid: json['id'],
|
|
email: json['email'],
|
|
firstName: json['firstName'],
|
|
lastName: json['lastName'],
|
|
photoUrl: json['photoUrl'],
|
|
phoneNumber: json['phoneNumber'],
|
|
isEmailVerified: json['isEmailVerified'],
|
|
isAgreementAccepted: json['isAgreementAccepted'],
|
|
);
|
|
}
|
|
|
|
//uuid to json
|
|
|
|
//from token
|
|
factory UserModel.fromToken(Token token) {
|
|
Map<String, dynamic> tempJson = Token.decodeToken(token.accessToken);
|
|
|
|
return UserModel(
|
|
uuid: tempJson['uuid'].toString(),
|
|
email: tempJson['email'],
|
|
firstName: null,
|
|
lastName: null,
|
|
photoUrl: null,
|
|
phoneNumber: null,
|
|
isEmailVerified: null,
|
|
isAgreementAccepted: null,
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'id': uuid,
|
|
'email': email,
|
|
'firstName': firstName,
|
|
'lastName': lastName,
|
|
'photoUrl': photoUrl,
|
|
'phoneNumber': phoneNumber,
|
|
'isEmailVerified': isEmailVerified,
|
|
'isAgreementAccepted': isAgreementAccepted,
|
|
};
|
|
}
|
|
}
|