Files
Hamza-AyedandClaude Opus 5 4d8414c96b feat: استيراد كود سيرو إلى تريبز (سيرو @ecfe7568) — بلا تعديل
قرار المالك 2026-07-27: باك إند سيرو PHP هو المعتمد، وتطبيقاته المجرّبة
ميدانياً تحل محل إعادة البناء المؤرشفة. سيرو نفسه لم يُمسّ.

الخريطة:
  backend · payment_server · loction_server · ride_server ·
  passenger_server · docker · dashboard · stress_test  → الجذر
  siro_rider  → apps/rider          siro_driver  → apps/driver
  siro_admin  → dashboards/admin    siro_service → dashboards/service
  android_bot → apps/android_bot    socialBot    → apps/socialBot

نُسخ المتعقَّب في git سيرو فقط عبر `git archive` (3,198 ملفاً / ~169 م.ب)
لا `cp -r` — فاستُثنيت مخلفات البناء تلقائياً. بلا أي تعديل محتوى عمداً:
كل ما يلي يصير فرقاً مقروءاً مقابل المصدر.

لم يُستورد وسببه: siromove.com (الموقع التسويقي يبقى marketing/ في تريبز،
سيرو فيه 8 ملفات) · docs و planning (تريبز له docs/ الخاص) · deploy.sh
(ليس نشراً على سيرفر بل `git add . && git push origin --all` — فخّ في
مستودع آخر) · transit_dashboard (بانتظار قرار مصير backend-transit و
dashboards/transit-web).

⚠️ لا يبني بعد — ثلاثة نواقص متوقعة ومقصودة:
1. `.env` و `lib/env/env.g.dart` غير متعقَّبين في سيرو (أسرار لكل مستأجر):
   كل تطبيق فلاتر يحتاج .env خاصاً ثم توليد env.g.dart بـ build_runner.
2. إعدادات Firebase (9 ملفات google-services.json و GoogleService-Info.plist)
   يستبعدها .gitignore تريبز — ولكل مستأجر مشروع Firebase خاص أصلاً.
3. apps/driver في سيرو يشير إلى `../../Intaleq/packages/get` خارج المستودع →
   يجب ضمّ الحزم داخله أسوة بـ apps/rider.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 05:14:13 +03:00

154 lines
4.3 KiB
SQL
Executable File

-- Retrieving data for a specific passenger complaint:
SELECT
c.id AS complaint_id,
r.id AS ride_id,
p.id AS passenger_id,
p.first_name,
p.last_name,
p.phone,
p.email,
c.complaint_type,
c.description,
c.date_filed,
c.statusComplaint AS complaint_status,
c.resolution,
c.date_resolved
FROM
complaint c
JOIN ride r ON
c.ride_id = r.id
JOIN `passengers` p ON
c.passenger_id = p.id
WHERE
c.complaint_type = 'Passenger' AND c.passenger_id = '100393163265770158312';
-- Admin panel dashboard
SELECT
COALESCE((
SELECT
COUNT(`email`)
FROM
`passengers`
), 0) AS countPassengers,
COALESCE((
SELECT
COUNT(`email`)
FROM
`driver`
), 0) AS countDriver,
COALESCE((
SELECT
COUNT(`id`)
FROM
`ride`
), 0) AS countRide,
COALESCE((
SELECT
COUNT(`id`)
FROM
`passengers`
WHERE
`passengers`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS countPassengersThisMonth,
COALESCE((
SELECT
COUNT(`id`)
FROM
`ride`
WHERE
`ride`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS countRideThisMonth,
COALESCE((
SELECT
COUNT(`id`)
FROM
`driver`
WHERE
`driver`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS countDriverThisMonth,
COALESCE((
SELECT
COUNT(`id`)
FROM
`CarRegistration`
WHERE
`CarRegistration`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS countCarRegistrationThisMonth,
COALESCE((
SELECT
COUNT(`id`)
FROM
`complaint`
WHERE
`complaint`.`date_filed` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS countComplaintThisMonth,
COALESCE((
SELECT
COUNT(`id`)
FROM
`complaint`
WHERE
`complaint`.`date_filed` BETWEEN DATE_FORMAT(
DATE_SUB(
CURRENT_DATE,
INTERVAL WEEKDAY(CURRENT_DATE) DAY
),
'%Y-%m-%d'
) AND DATE_FORMAT(
DATE_ADD(
DATE_SUB(
CURRENT_DATE,
INTERVAL WEEKDAY(CURRENT_DATE) DAY
),
INTERVAL 6 DAY
),
'%Y-%m-%d'
)
), 0) AS countComplaintThisWeek,
COALESCE((
SELECT
COUNT(`id`)
FROM
`complaint`
WHERE
`complaint`.`date_filed` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-%d') AND DATE_FORMAT(CURRENT_DATE, '%Y-%m-%d')
), 0) AS countComplaintToday,
COALESCE((
SELECT
SUM(`payments`.`amount`)
FROM
`payments`
WHERE
`payments`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
AND
`payments`.`payment_method` IN('visa-in', 'visa', 'visaRide', 'TransferFrom', 'payout', 'TransferTo')
), 0) AS payments,
COALESCE((
SELECT
SUM(`driverWallet`.`amount`)
FROM
`driverWallet`
WHERE
`driverWallet`.`dateCreated` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
AND
`driverWallet`.`paymentMethod` IN('visa', '')
), 0) AS driverWallet,
COALESCE((
SELECT
SUM(`passengerWallet`.`balance`)
FROM
`passengerWallet`
WHERE
`passengerWallet`.`created_at` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS passengerWallet,
COALESCE((
SELECT
SUM(`seferWallet`.`amount`)
FROM
`seferWallet`
WHERE
`seferWallet`.`createdAt` BETWEEN DATE_FORMAT(CURRENT_DATE, '%Y-%m-01') AND LAST_DAY(CURRENT_DATE)
), 0) AS seferWallet
FROM
`passengers`
LIMIT 1;