34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
|
|
use App\Infrastructure\Http\Controllers\API\User\Auth\AuthController;
|
|
use App\Infrastructure\Http\Controllers\API\Trip\TripController;
|
|
use App\Infrastructure\Http\Controllers\API\E2e\TestSetupController;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
// Handle preflight OPTIONS requests
|
|
Route::options('{any}', function() {
|
|
return response('', 200);
|
|
})->where('any', '.*');
|
|
|
|
// Public routes
|
|
Route::post('/register', [AuthController::class, 'register']);
|
|
Route::post('/login', [AuthController::class, 'login']);
|
|
|
|
// E2E test routes (development/testing only)
|
|
Route::prefix('e2e/test')->group(function () {
|
|
Route::post('/setup/user', [TestSetupController::class, 'createTestUser']);
|
|
Route::post('/cleanup', [TestSetupController::class, 'cleanup']);
|
|
});
|
|
|
|
// Protected routes
|
|
Route::middleware('auth:sanctum')->group(function () {
|
|
Route::get('/user', function (Request $request) {
|
|
return $request->user();
|
|
});
|
|
Route::get('/profile', [AuthController::class, 'profile']);
|
|
Route::post('/logout', [AuthController::class, 'logout']);
|
|
|
|
// Trip routes
|
|
Route::apiResource('trips', TripController::class);
|
|
});
|