Update: 2026-06-26 02:29:35
This commit is contained in:
@@ -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");
|
||||
}
|
||||
?>
|
||||
@@ -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) {
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user