Update: 2026-06-26 02:29:35

This commit is contained in:
Hamza-Ayed
2026-06-26 02:29:35 +03:00
parent fe164a006b
commit f53177e715
3 changed files with 26 additions and 13 deletions

View File

@@ -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");
}
?>

View File

@@ -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) {

View File

@@ -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();
}
}