diff --git a/backend/serviceapp/getPassengersByPhone.php b/backend/serviceapp/getPassengersByPhone.php index 66ac3929..475902cc 100644 --- a/backend/serviceapp/getPassengersByPhone.php +++ b/backend/serviceapp/getPassengersByPhone.php @@ -35,17 +35,16 @@ $sql = "SELECT FROM passengers p LEFT JOIN - ride r ON p.id = r.passenger_id - -WHERE - p.phone = :phone - AND r.id = ( + ride r ON p.id = r.passenger_id AND r.id = ( SELECT id FROM ride WHERE passenger_id = p.id ORDER BY date DESC, time DESC LIMIT 1 - )"; + ) + +WHERE + p.phone = :phone"; $stmt = $con->prepare($sql); $stmt->bindParam(':phone', $phoneEncrypted); @@ -70,6 +69,6 @@ if ($stmt->rowCount() > 0) { jsonSuccess($rows); } else { - jsonError("No wallet record found"); + jsonError("No passenger found"); } ?> \ No newline at end of file diff --git a/siro_service/lib/controller/functions/session_manager.dart b/siro_service/lib/controller/functions/session_manager.dart index 85366ebc..9ef2e9da 100644 --- a/siro_service/lib/controller/functions/session_manager.dart +++ b/siro_service/lib/controller/functions/session_manager.dart @@ -4,7 +4,8 @@ import 'package:siro_service/constant/box_name.dart'; import 'package:siro_service/controller/functions/crud.dart'; import 'package:siro_service/main.dart'; import 'package:siro_service/print.dart'; - +import 'package:siro_service/controller/functions/encrypt_decrypt.dart'; +import 'package:siro_service/env/env.dart'; /// مدير الجلسة - مسؤول عن مراقبة صلاحية الجلسة /// وتجديدها تلقائياً عند انتهائها class SessionManager extends GetxController { @@ -28,12 +29,13 @@ class SessionManager extends GetxController { /// التحقق من صلاحية الجلسة الحالية SessionStatus checkSessionValidity() { try { - final token = box.read(BoxName.jwt)?.toString() ?? ''; - if (token.isEmpty) { + final rawToken = box.read(BoxName.jwt)?.toString() ?? ''; + if (rawToken.isEmpty) { status.value = SessionStatus.expired; return SessionStatus.expired; } + final token = r(rawToken).toString().split(Env.addd)[0]; final isValid = CRUD.isJwtValid(token); if (!isValid) { status.value = SessionStatus.expired; @@ -58,7 +60,9 @@ class SessionManager extends GetxController { await Future.delayed(const Duration(milliseconds: 500)); } // نتحقق مرة أخرى بعد انتهاء التجديد - final isValid = CRUD.isJwtValid(box.read(BoxName.jwt)?.toString() ?? ''); + final rawToken = box.read(BoxName.jwt)?.toString() ?? ''; + final token = rawToken.isNotEmpty ? r(rawToken).toString().split(Env.addd)[0] : ''; + final isValid = CRUD.isJwtValid(token); return isValid; } @@ -78,7 +82,8 @@ class SessionManager extends GetxController { await CRUD().getJWT(); // التحقق من نجاح التجديد - final newToken = box.read(BoxName.jwt)?.toString() ?? ''; + final newRawToken = box.read(BoxName.jwt)?.toString() ?? ''; + final newToken = newRawToken.isNotEmpty ? r(newRawToken).toString().split(Env.addd)[0] : ''; final isValid = CRUD.isJwtValid(newToken); if (isValid) { diff --git a/siro_service/lib/controller/mainController/main_controller.dart b/siro_service/lib/controller/mainController/main_controller.dart index 21958864..f84f2cbb 100644 --- a/siro_service/lib/controller/mainController/main_controller.dart +++ b/siro_service/lib/controller/mainController/main_controller.dart @@ -523,10 +523,19 @@ class MainController extends GetxController { link: AppLink.getPassengersByPhone, payload: {"phone": CRUD.normalizePhone(passengerPhoneController.text)}); - if (res != 'failure') { + if (res != 'failure' && res is Map && res['status'] == 'success') { var d = res; passengerData = d; update(); + } else { + Log.print('Error getting passenger: $res'); + if (res is Map && res.containsKey('message')) { + mySnackbarError(res['message'].toString()); + } else { + mySnackbarError('Passenger not found'.tr); + } + passengerData = {}; + update(); } }