update info
This commit is contained in:
@@ -27,6 +27,15 @@ class UserInfoModel {
|
||||
this.taxId,
|
||||
this.address,
|
||||
this.cccd,
|
||||
this.dateOfBirth,
|
||||
this.gender,
|
||||
this.idCardFront,
|
||||
this.idCardBack,
|
||||
this.certificates = const [],
|
||||
this.membershipStatus,
|
||||
this.membershipStatusColor,
|
||||
this.isVerified = false,
|
||||
this.credentialDisplay = false,
|
||||
this.referralCode,
|
||||
this.erpnextCustomerId,
|
||||
this.createdAt,
|
||||
@@ -48,6 +57,15 @@ class UserInfoModel {
|
||||
final String? taxId;
|
||||
final String? address;
|
||||
final String? cccd;
|
||||
final DateTime? dateOfBirth;
|
||||
final String? gender;
|
||||
final String? idCardFront;
|
||||
final String? idCardBack;
|
||||
final List<String> certificates;
|
||||
final String? membershipStatus;
|
||||
final String? membershipStatusColor;
|
||||
final bool isVerified;
|
||||
final bool credentialDisplay;
|
||||
final String? referralCode;
|
||||
final String? erpnextCustomerId;
|
||||
final DateTime? createdAt;
|
||||
@@ -87,9 +105,9 @@ class UserInfoModel {
|
||||
/// }
|
||||
/// ```
|
||||
factory UserInfoModel.fromJson(Map<String, dynamic> json) {
|
||||
// API response structure: { "message": { "success": true, "data": {...} } }
|
||||
final message = json['message'] as Map<String, dynamic>?;
|
||||
final data = message?['data'] as Map<String, dynamic>? ?? json;
|
||||
// API response structure: { "message": { "full_name": "...", ... } }
|
||||
// Data is directly under 'message', not nested in 'data'
|
||||
final data = json['message'] as Map<String, dynamic>? ?? json;
|
||||
|
||||
return UserInfoModel(
|
||||
// Use email as userId since API doesn't provide user_id
|
||||
@@ -108,11 +126,22 @@ class UserInfoModel {
|
||||
companyName: data['company_name'] as String?,
|
||||
taxId: data['tax_code'] as String?,
|
||||
address: data['address'] as String?,
|
||||
cccd: data['id_card_front'] as String?, // Store front ID card
|
||||
cccd: null, // CCCD number not in API
|
||||
dateOfBirth: _parseDateTime(data['date_of_birth'] as String?),
|
||||
gender: data['gender'] as String?,
|
||||
idCardFront: data['id_card_front'] as String?,
|
||||
idCardBack: data['id_card_back'] as String?,
|
||||
certificates: (data['certificates'] as List<dynamic>?)
|
||||
?.map((e) => e.toString())
|
||||
.toList() ?? const [],
|
||||
membershipStatus: data['membership_status'] as String?,
|
||||
membershipStatusColor: data['membership_status_color'] as String?,
|
||||
isVerified: data['is_verified'] as bool? ?? false,
|
||||
credentialDisplay: data['credential_display'] as bool? ?? false,
|
||||
referralCode: null,
|
||||
erpnextCustomerId: null,
|
||||
createdAt: _parseDateTime(data['date_of_birth'] as String?),
|
||||
updatedAt: _parseDateTime(data['date_of_birth'] as String?),
|
||||
createdAt: DateTime.now(),
|
||||
updatedAt: DateTime.now(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -164,6 +193,15 @@ class UserInfoModel {
|
||||
taxId: taxId,
|
||||
address: address,
|
||||
cccd: cccd,
|
||||
dateOfBirth: dateOfBirth,
|
||||
gender: gender,
|
||||
idCardFront: idCardFront,
|
||||
idCardBack: idCardBack,
|
||||
certificates: certificates,
|
||||
membershipStatus: membershipStatus,
|
||||
membershipStatusColor: membershipStatusColor,
|
||||
isVerified: isVerified,
|
||||
credentialDisplay: credentialDisplay,
|
||||
referralCode: referralCode,
|
||||
erpnextCustomerId: erpnextCustomerId,
|
||||
createdAt: createdAt ?? now,
|
||||
|
||||
Reference in New Issue
Block a user