52 lines
1.9 KiB
PHP
52 lines
1.9 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use App\Http\Controllers\Api\AuthController;
|
|
use App\Http\Controllers\Api\ClientController;
|
|
use App\Http\Controllers\Api\ClientGroupController;
|
|
use App\Http\Controllers\Api\ClientLocationController;
|
|
use App\Http\Controllers\Api\ContactController;
|
|
use App\Http\Controllers\Api\ClientCategoryController;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| API Routes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| These routes are loaded with the "api" middleware group and are prefixed
|
|
| with /api automatically via bootstrap/app.php.
|
|
|
|
|
*/
|
|
|
|
Route::prefix('auth')->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);
|
|
|
|
|
|
// Contact management
|
|
Route::apiResource('contacts', ContactController::class);
|
|
Route::get('clients/{clientId}/contacts', [ContactController::class, 'getContactsByClient']);
|
|
|
|
Route::apiResource('client-categories', ClientCategoryController::class);
|
|
|
|
});
|