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
@@ -136,4 +136,56 @@ class TransitAdminService {
if (res is Map && res['status'] == 'success') return TransitApiResult(true, null, 'ok');
return TransitApiResult(false, null, _errMsg(res));
}
// ── اعتماد الخطوط ──────────────────────────────────────────────
static Future<TransitApiResult<List<Map<String, dynamic>>>> listPendingRoutes({
int? orgId,
}) async {
final payload = <String, dynamic>{};
if (orgId != null) payload['org_id'] = orgId.toString();
final res =
await CRUD().post(link: '$_base/route/pending.php', payload: payload);
if (res is Map && res['status'] == 'success' && res['message'] is Map) {
final msg = res['message'] as Map;
final list = (msg['routes'] is List)
? (msg['routes'] as List)
.map((r) => Map<String, dynamic>.from(r))
.toList()
: <Map<String, dynamic>>[];
return TransitApiResult(true, list, 'ok');
}
return TransitApiResult(false, null, _errMsg(res));
}
static Future<TransitApiResult<Map<String, dynamic>>> updateContractStatus({
required int orgId,
required String contractStatus, // active | trial | suspended | terminated
}) async {
final res = await CRUD().post(link: '$_base/org/update.php', payload: {
'org_id': orgId.toString(),
'contract_status': contractStatus,
});
if (res is Map && res['status'] == 'success') {
return TransitApiResult(
true, Map<String, dynamic>.from(res['message'] ?? {}), 'ok');
}
return TransitApiResult(false, null, _errMsg(res));
}
static Future<TransitApiResult<Map<String, dynamic>>> approveRoute({
required int routeId,
required String action, // approve | suspend | reject
}) async {
final res = await CRUD().post(link: '$_base/route/approve.php', payload: {
'route_id': routeId.toString(),
'action': action,
});
if (res is Map && res['status'] == 'success') {
return TransitApiResult(
true, Map<String, dynamic>.from(res['message'] ?? {}), 'ok');
}
return TransitApiResult(false, null, _errMsg(res));
}
}