Update: 2026-07-12 18:53:59

This commit is contained in:
Hamza-Ayed
2026-07-12 18:53:59 +03:00
parent 8cd4a4b57e
commit 653d73422f
54 changed files with 2078 additions and 436 deletions
@@ -29,13 +29,23 @@ class TransitDriverService {
return TransitApiResult(false, null, _errMsg(res));
}
/// رحلات اليوم (تُنشأ تلقائياً من الجداول عند أول استدعاء)
static Future<TransitApiResult<List<TransitDriverTrip>>> getTodayTrips(
int driverTransitId) async {
/// تفعيل حساب السائق بتوكن الدعوة (بعد IDOR fix لا نحتاج driver_transit_id)
static Future<TransitApiResult<Map<String, dynamic>>> activateByInviteToken(
String inviteToken) async {
final res = await CRUD().post(
link: '$_base/trip/today.php',
payload: {'driver_transit_id': driverTransitId.toString()},
link: '$_base/driver/activate_by_app.php',
payload: {'invite_token': inviteToken},
);
if (res is Map && res['status'] == 'success' && res['message'] is Map) {
return TransitApiResult(
true, Map<String, dynamic>.from(res['message']), 'ok');
}
return TransitApiResult(false, null, _errMsg(res));
}
/// رحلات اليوم — الخادم يجلب السائق من JWT، لا نمرر driver_transit_id
static Future<TransitApiResult<List<TransitDriverTrip>>> getTodayTrips() async {
final res = await CRUD().post(link: '$_base/trip/today.php');
if (res is Map && res['status'] == 'success' && res['message'] is Map) {
final msg = res['message'] as Map;
final list = (msg['trips'] is List)
@@ -50,7 +60,6 @@ class TransitDriverService {
static Future<TransitApiResult<Map<String, dynamic>>> startTrip({
required int tripId,
required int driverTransitId,
required double lat,
required double lng,
}) async {
@@ -58,7 +67,6 @@ class TransitDriverService {
link: '$_base/trip/start.php',
payload: {
'trip_id': tripId.toString(),
'driver_transit_id': driverTransitId.toString(),
'lat': lat.toString(),
'lng': lng.toString(),
},
@@ -71,14 +79,10 @@ class TransitDriverService {
static Future<TransitApiResult<Map<String, dynamic>>> endTrip({
required int tripId,
required int driverTransitId,
}) async {
final res = await CRUD().post(
link: '$_base/trip/end.php',
payload: {
'trip_id': tripId.toString(),
'driver_transit_id': driverTransitId.toString(),
},
payload: {'trip_id': tripId.toString()},
);
if (res is Map && res['status'] == 'success') {
return TransitApiResult(true, Map<String, dynamic>.from(res['message'] ?? {}), 'ok');
@@ -88,7 +92,6 @@ class TransitDriverService {
static Future<TransitApiResult<void>> reportDelay({
required int tripId,
required int driverTransitId,
required int delayMinutes,
String? reason,
}) async {
@@ -96,7 +99,6 @@ class TransitDriverService {
link: '$_base/trip/delay.php',
payload: {
'trip_id': tripId.toString(),
'driver_transit_id': driverTransitId.toString(),
'delay_minutes': delayMinutes.toString(),
if (reason != null) 'reason': reason,
},