337 lines
9.6 KiB
Dart
337 lines
9.6 KiB
Dart
class Authentication {
|
|
final String? customerid;
|
|
final String? firstname;
|
|
final String? lastname;
|
|
final String? profileimage;
|
|
final String? gender;
|
|
final String? dob;
|
|
final String? dialcode;
|
|
final String? contactno;
|
|
final String? email;
|
|
final String? deviceid;
|
|
final String? devicetype;
|
|
final int? authmode;
|
|
final int? configid;
|
|
final String? customertoken;
|
|
final String? address;
|
|
final String? suburb;
|
|
final String? city;
|
|
final String? state;
|
|
final String? landmark;
|
|
final String? doorno;
|
|
final String? postcode;
|
|
final String? latitude;
|
|
final String? longitude;
|
|
final int? applocationid;
|
|
final int? locationid;
|
|
final String? defaultaddress;
|
|
final int? primaryaddress;
|
|
final int? tenantid;
|
|
final int? status;
|
|
final String? intro;
|
|
|
|
// 🆕 Additional fields specific to Profile API
|
|
final int? deliverylocationid;
|
|
final int? allocationid;
|
|
final int? tenantlocationid;
|
|
final String? selectedlatitude;
|
|
final String? selectedlongitude;
|
|
final String? radius;
|
|
final int? qrmode;
|
|
|
|
const Authentication({
|
|
this.customerid,
|
|
this.firstname,
|
|
this.lastname,
|
|
this.profileimage,
|
|
this.gender,
|
|
this.dob,
|
|
this.dialcode,
|
|
this.contactno,
|
|
this.email,
|
|
this.deviceid,
|
|
this.devicetype,
|
|
this.authmode,
|
|
this.configid,
|
|
this.customertoken,
|
|
this.address,
|
|
this.suburb,
|
|
this.city,
|
|
this.state,
|
|
this.landmark,
|
|
this.doorno,
|
|
this.postcode,
|
|
this.latitude,
|
|
this.longitude,
|
|
this.applocationid,
|
|
this.locationid,
|
|
this.defaultaddress,
|
|
this.primaryaddress,
|
|
this.tenantid,
|
|
this.status,
|
|
this.intro,
|
|
this.deliverylocationid,
|
|
this.allocationid,
|
|
this.tenantlocationid,
|
|
this.selectedlatitude,
|
|
this.selectedlongitude,
|
|
this.radius,
|
|
this.qrmode,
|
|
});
|
|
|
|
factory Authentication.fromJson(Map<String, dynamic> json) {
|
|
return Authentication(
|
|
customerid: json['customerid']?.toString(),
|
|
firstname: json['firstname'],
|
|
lastname: json['lastname'],
|
|
profileimage: json['profileimage'],
|
|
gender: json['gender'],
|
|
dob: json['dob'],
|
|
dialcode: json['dialcode'],
|
|
contactno: json['contactno'],
|
|
email: json['email'],
|
|
deviceid: json['deviceid'],
|
|
devicetype: json['devicetype'],
|
|
authmode: json['authmode'],
|
|
configid: json['configid'],
|
|
customertoken: json['customertoken'],
|
|
address: json['address'],
|
|
suburb: json['suburb'],
|
|
city: json['city'],
|
|
state: json['state'],
|
|
landmark: json['landmark'],
|
|
doorno: json['doorno'],
|
|
postcode: json['postcode'],
|
|
latitude: json['latitude'],
|
|
longitude: json['longitude'],
|
|
applocationid: json['applocationid'],
|
|
locationid: json['locationid'],
|
|
defaultaddress: json['defaultaddress'],
|
|
primaryaddress: json['primaryaddress'],
|
|
tenantid: json['tenantid'],
|
|
status: json['status'],
|
|
intro: json['intro'],
|
|
);
|
|
}
|
|
|
|
/// 🏠 Factory for location API
|
|
factory Authentication.fromLocationJson(Map<String, dynamic> json) {
|
|
return Authentication(
|
|
customerid: json['customerid']?.toString(),
|
|
address: json['address'],
|
|
suburb: json['suburb'],
|
|
city: json['city'],
|
|
state: json['state'],
|
|
landmark: json['landmark'],
|
|
doorno: json['doorno'],
|
|
postcode: json['postcode'],
|
|
latitude: json['latitude'],
|
|
longitude: json['longitude'],
|
|
locationid: json['locationid'],
|
|
primaryaddress: json['primaryaddress'],
|
|
status: json['status'],
|
|
);
|
|
}
|
|
|
|
/// 🆕 Factory for Profile API
|
|
factory Authentication.fromProfileJson(Map<String, dynamic> json) {
|
|
final details = json['details'] ?? {};
|
|
|
|
return Authentication(
|
|
customerid: details['customerid']?.toString(),
|
|
firstname: details['firstname'],
|
|
lastname: details['lastname'],
|
|
profileimage: details['profileimage'],
|
|
gender: details['gender'],
|
|
dob: details['dob'],
|
|
dialcode: details['dialcode'],
|
|
contactno: details['contactno'],
|
|
email: details['email'],
|
|
deviceid: details['deviceid'],
|
|
devicetype: details['devicetype'],
|
|
authmode: details['authmode'],
|
|
configid: details['configid'],
|
|
customertoken: details['customertoken'],
|
|
address: details['address'],
|
|
suburb: details['suburb'],
|
|
city: details['city'],
|
|
state: details['state'],
|
|
landmark: details['landmark'],
|
|
doorno: details['doorno'],
|
|
postcode: details['postcode'],
|
|
latitude: details['latitude'],
|
|
longitude: details['longitude'],
|
|
applocationid: details['applocationid'],
|
|
primaryaddress: details['primaryaddress'],
|
|
tenantid: details['tenantid'],
|
|
status: details['status'],
|
|
intro: details['intro'],
|
|
deliverylocationid: details['deliverylocationid'],
|
|
allocationid: details['allocationid'],
|
|
tenantlocationid: details['tenantlocationid'],
|
|
selectedlatitude: details['selectedlatitude'],
|
|
selectedlongitude: details['selectedlongitude'],
|
|
radius: details['radius'],
|
|
qrmode: details['qrmode'],
|
|
);
|
|
}
|
|
|
|
Map<String, dynamic> toJson() {
|
|
return {
|
|
'customerid': customerid,
|
|
'firstname': firstname,
|
|
'lastname': lastname,
|
|
'profileimage': profileimage,
|
|
'gender': gender,
|
|
'dob': dob,
|
|
'dialcode': dialcode,
|
|
'contactno': contactno,
|
|
'email': email,
|
|
'deviceid': deviceid,
|
|
'devicetype': devicetype,
|
|
'authmode': authmode,
|
|
'configid': configid,
|
|
'customertoken': customertoken,
|
|
'address': address,
|
|
'suburb': suburb,
|
|
'city': city,
|
|
'state': state,
|
|
'landmark': landmark,
|
|
'doorno': doorno,
|
|
'postcode': postcode,
|
|
'latitude': latitude,
|
|
'longitude': longitude,
|
|
'applocationid': applocationid,
|
|
'locationid': locationid,
|
|
'defaultaddress': defaultaddress,
|
|
'primaryaddress': primaryaddress,
|
|
'tenantid': tenantid,
|
|
'status': status,
|
|
'intro': intro,
|
|
'deliverylocationid': deliverylocationid,
|
|
'allocationid': allocationid,
|
|
'tenantlocationid': tenantlocationid,
|
|
'selectedlatitude': selectedlatitude,
|
|
'selectedlongitude': selectedlongitude,
|
|
'radius': radius,
|
|
'qrmode': qrmode,
|
|
};
|
|
}
|
|
}
|
|
|
|
class Customer {
|
|
final int customerId;
|
|
final String firstName;
|
|
final String lastName;
|
|
final String profileImage;
|
|
final String gender;
|
|
final String dob;
|
|
final String dialCode;
|
|
final String contactNo;
|
|
final String email;
|
|
final String deviceId;
|
|
final String deviceType;
|
|
final int authMode;
|
|
final int configId;
|
|
final String customerToken;
|
|
final int deliveryLocationId;
|
|
final String address;
|
|
final String suburb;
|
|
final String city;
|
|
final String state;
|
|
final String landmark;
|
|
final String doorNo;
|
|
final String postcode;
|
|
final String latitude;
|
|
final String longitude;
|
|
final int appLocationId;
|
|
final int allocationId;
|
|
final int primaryAddress;
|
|
final int tenantLocationId;
|
|
final int tenantId;
|
|
final int status;
|
|
final String intro;
|
|
final String selectedLatitude;
|
|
final String selectedLongitude;
|
|
final String radius;
|
|
final int qrMode;
|
|
|
|
Customer({
|
|
required this.customerId,
|
|
required this.firstName,
|
|
required this.lastName,
|
|
required this.profileImage,
|
|
required this.gender,
|
|
required this.dob,
|
|
required this.dialCode,
|
|
required this.contactNo,
|
|
required this.email,
|
|
required this.deviceId,
|
|
required this.deviceType,
|
|
required this.authMode,
|
|
required this.configId,
|
|
required this.customerToken,
|
|
required this.deliveryLocationId,
|
|
required this.address,
|
|
required this.suburb,
|
|
required this.city,
|
|
required this.state,
|
|
required this.landmark,
|
|
required this.doorNo,
|
|
required this.postcode,
|
|
required this.latitude,
|
|
required this.longitude,
|
|
required this.appLocationId,
|
|
required this.allocationId,
|
|
required this.primaryAddress,
|
|
required this.tenantLocationId,
|
|
required this.tenantId,
|
|
required this.status,
|
|
required this.intro,
|
|
required this.selectedLatitude,
|
|
required this.selectedLongitude,
|
|
required this.radius,
|
|
required this.qrMode,
|
|
});
|
|
|
|
factory Customer.fromJson(Map<String, dynamic> json) {
|
|
return Customer(
|
|
customerId: json['customerid'] ?? 0,
|
|
firstName: json['firstname'] ?? '',
|
|
lastName: json['lastname'] ?? '',
|
|
profileImage: json['profileimage'] ?? '',
|
|
gender: json['gender'] ?? '',
|
|
dob: json['dob'] ?? '',
|
|
dialCode: json['dialcode'] ?? '',
|
|
contactNo: json['contactno'] ?? '',
|
|
email: json['email'] ?? '',
|
|
deviceId: json['deviceid'] ?? '',
|
|
deviceType: json['devicetype'] ?? '',
|
|
authMode: json['authmode'] ?? 0,
|
|
configId: json['configid'] ?? 0,
|
|
customerToken: json['customertoken'] ?? '',
|
|
deliveryLocationId: json['deliverylocationid'] ?? 0,
|
|
address: json['address'] ?? '',
|
|
suburb: json['suburb'] ?? '',
|
|
city: json['city'] ?? '',
|
|
state: json['state'] ?? '',
|
|
landmark: json['landmark'] ?? '',
|
|
doorNo: json['doorno'] ?? '',
|
|
postcode: json['postcode'] ?? '',
|
|
latitude: json['latitude'] ?? '',
|
|
longitude: json['longitude'] ?? '',
|
|
appLocationId: json['applocationid'] ?? 0,
|
|
allocationId: json['allocationid'] ?? 0,
|
|
primaryAddress: json['primaryaddress'] ?? 0,
|
|
tenantLocationId: json['tenantlocationid'] ?? 0,
|
|
tenantId: json['tenantid'] ?? 0,
|
|
status: json['status'] ?? 0,
|
|
intro: json['intro'] ?? '',
|
|
selectedLatitude: json['selectedlatitude'] ?? '',
|
|
selectedLongitude: json['selectedlongitude'] ?? '',
|
|
radius: json['radius'] ?? '',
|
|
qrMode: json['qrmode'] ?? 0,
|
|
);
|
|
}
|
|
}
|