Update: 2026-06-27 04:21:17

This commit is contained in:
Hamza-Ayed
2026-06-27 04:21:17 +03:00
parent b4f063aaac
commit 8993aa0a6b
6 changed files with 122 additions and 43 deletions

View File

@@ -371,9 +371,15 @@ class RegistrationController extends GetxController {
final _jwt = box.read(BoxName.jwt);
final String _token = _jwt != null ? r(_jwt).split(AppInformation.addd)[0] : '';
String timestamp = DateTime.now().millisecondsSinceEpoch.toString();
String nonce = timestamp;
final headers = <String, String>{
'Authorization': 'Bearer $_token',
'X-HMAC-Auth': '${box.read(BoxName.hmac)}',
'X-Device-FP': box.read(BoxName.deviceFingerprint)?.toString() ?? '',
'X-Timestamp': timestamp,
'X-Nonce': nonce,
};
request.headers.addAll(headers);
@@ -472,7 +478,7 @@ class RegistrationController extends GetxController {
final req = http.MultipartRequest('POST', syrianUploadUri);
req.headers.addAll({
'Authorization': authHeader,
'X-HMAC-Auth': hmacHeader,
'X-Device-FP': box.read(BoxName.deviceFingerprint)?.toString() ?? '',
});
req.fields['driver_id'] = driverId;
@@ -603,11 +609,14 @@ class RegistrationController extends GetxController {
_addField(fields, 'expiry_date', driverLicenseExpiryController.text);
_addField(fields, 'password', 'generated_password_or_token');
_addField(fields, 'status', 'yet');
_addField(fields, 'email', 'Not specified');
String generatedEmail = 'driver_${box.read(BoxName.driverID) ?? DateTime.now().millisecondsSinceEpoch}@siromove.com';
_addField(fields, 'email', generatedEmail);
_addField(fields, 'gender', 'Male'); // يفضل ربطها بـ Dropdown أيضاً
_addField(fields, 'country', box.read(BoxName.countryCode)?.toString() ?? 'Jordan');
// --- Car Data ---
_addField(fields, 'vin', 'yet');
_addField(fields, 'vin', carVinController.text.isNotEmpty ? carVinController.text : 'yet');
_addField(fields, 'car_plate', carPlateController.text);
_addField(fields, 'make', carMakeController.text);
_addField(fields, 'model', carModelController.text);
@@ -615,8 +624,9 @@ class RegistrationController extends GetxController {
_addField(
fields,
'expiration_date',
driverLicenseExpiryController
.text); // تأكد من أن هذا تاريخ انتهاء السيارة وليس الرخصة
carRegistrationExpiryController.text.isNotEmpty
? carRegistrationExpiryController.text
: driverLicenseExpiryController.text);
_addField(
fields,
'color',
@@ -668,14 +678,20 @@ class RegistrationController extends GetxController {
_addField(fields, 'id_front', idFrontUrl);
_addField(fields, 'id_back', idBackUrl);
_addField(fields, 'driver_license', driverLicenseUrl);
if (isSyria)
_addField(fields, 'driver_license_back', driverLicenseBackUrl);
// Always add the key to avoid PHP undefined index error
fields['driver_license_back'] = driverLicenseBackUrl ?? '';
_addField(fields, 'profile_picture', profilePicUrl);
_addField(fields, 'criminal_record', criminalRecordUrl);
_addField(fields, 'car_license_front', carFrontUrl);
_addField(fields, 'car_license_back', carBackUrl);
req.fields.addAll(fields);
Log.print('--- 🚀 Registration Request Payload ---');
req.fields.forEach((key, value) {
Log.print('[$key]: $value');
});
Log.print('---------------------------------------');
// 3) الإرسال
final streamed =