Initial V2 commit 4\9

This commit is contained in:
Hamza-Ayed
2026-04-23 21:23:23 +03:00
parent 098aa9ad37
commit c4bf4ea679
8 changed files with 666 additions and 8 deletions

View File

@@ -26,6 +26,9 @@ use App\Http\Controllers\OtpController;
use App\Http\Controllers\UploadController;
use App\Http\Controllers\PlaceController;
use App\Http\Controllers\NotificationController;
use App\Http\Controllers\MiscController;
use App\Http\Controllers\InviteController;
use App\Http\Controllers\DriverDocController;
/*
|--------------------------------------------------------------------------
@@ -54,8 +57,15 @@ Route::prefix('v2/auth')->group(function () {
// Admin & Service
Route::post('/admin/login', [AuthController::class, 'adminLogin']);
// Silent JWT Handshake (Compatibility with V1 background flow)
Route::post('/passenger/login-jwt', [AuthController::class, 'passengerJwtHandshake']);
Route::post('/driver/login-jwt', [AuthController::class, 'driverJwtHandshake']);
});
// Notification Tokens (Common for both)
Route::post('v2/notifications/token', [NotificationController::class, 'updateToken']);
// OTP (public, but rate-limited)
Route::prefix('v2/otp')->middleware('throttle:10,1')->group(function () {
Route::post('/send', [OtpController::class, 'send']);
@@ -106,7 +116,8 @@ Route::prefix('v2')->middleware(['hmac.auth', 'jwt.auth'])->group(function () {
// ── Ratings ──
Route::post('/ratings/driver', [RatingController::class, 'rateDriver']);
Route::post('/ratings/passenger', [RatingController::class, 'ratePassenger']);
Route::post('/ratings/app', [RatingController::class, 'rateApp']);
Route::get('/ratings/app', [RatingController::class, 'getAppFeedback']);
Route::post('/ratings/app', [RatingController::class, 'storeAppFeedback']);
Route::get('/ratings/driver/{id}', [RatingController::class, 'driverRating']);
Route::get('/ratings/passenger/{id}', [RatingController::class, 'passengerRating']);
@@ -131,7 +142,30 @@ Route::prefix('v2')->middleware(['hmac.auth', 'jwt.auth'])->group(function () {
// ── Notifications ──
Route::get('/notifications', [NotificationController::class, 'index']);
Route::get('/notifications/token', [NotificationController::class, 'getToken']);
Route::put('/notifications/{id}/read', [NotificationController::class, 'markRead']);
// ── Misc ──
Route::get('/misc/test', [MiscController::class, 'test']);
Route::get('/misc/package-info', [MiscController::class, 'packageInfo']);
Route::get('/misc/kazan-percent', [MiscController::class, 'getKazanPercent']);
Route::get('/misc/help-center', [MiscController::class, 'getHelpCenter']);
Route::post('/misc/help-center', [MiscController::class, 'storeHelpCenter']);
Route::get('/misc/tips', [MiscController::class, 'getTips']);
Route::post('/misc/tips', [MiscController::class, 'storeTips']);
Route::get('/misc/license', [MiscController::class, 'getLicense']);
Route::get('/misc/api-key', [MiscController::class, 'getApiKey']);
Route::post('/misc/egypt-phones', [MiscController::class, 'saveEgyptPhones']);
// ── Invites ──
Route::post('/invites/driver', [InviteController::class, 'inviteDriver']);
Route::post('/invites/passenger', [InviteController::class, 'invitePassenger']);
Route::get('/invites/gift', [InviteController::class, 'checkGift']);
// ── Driver Docs ──
Route::get('/driver/registration-car', [DriverDocController::class, 'getCarReg']);
Route::post('/driver/registration-car', [DriverDocController::class, 'storeCarReg']);
Route::post('/driver/scams', [DriverDocController::class, 'reportScam']);
});
// ══════════════════════════════════════════════