group(function () { Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']); Route::middleware('auth:sanctum')->group(function () { Route::get('/me', [AuthController::class, 'me']); // Alias to support clients calling /api/auth/user Route::get('/user', [AuthController::class, 'me']); Route::post('/logout', [AuthController::class, 'logout']); Route::post('/logout-all', [AuthController::class, 'logoutAll']); }); }); // Protected API routes Route::middleware('auth:sanctum')->group(function () { // Client management // IMPORTANT: Specific routes must come before apiResource Route::get('/clients/searchBy', [ClientController::class, 'searchBy']); Route::apiResource('clients', ClientController::class); Route::apiResource('client-groups', ClientGroupController::class); Route::apiResource('client-locations', ClientLocationController::class); Route::get('clients/{clientId}/locations', [ClientLocationController::class, 'getLocationsByClient']); // Contact management Route::apiResource('contacts', ContactController::class); Route::get('clients/{clientId}/contacts', [ContactController::class, 'getContactsByClient']); Route::apiResource('client-categories', ClientCategoryController::class); // Fournisseur management Route::get('/fournisseurs/searchBy', [FournisseurController::class, 'searchBy']); Route::apiResource('fournisseurs', FournisseurController::class); });