23 lines
1.5 KiB
PHP
23 lines
1.5 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\TerritorialRegistryController;
|
|
use App\Http\Middleware\PrivateInvestmentResponse;
|
|
use App\Http\Middleware\RequireZoneMfa;
|
|
use App\Http\Middleware\TerritorialRequest;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::prefix('api/v1/geo')->middleware(['auth', 'verified', PrivateInvestmentResponse::class, 'throttle:api', TerritorialRequest::class])->group(function () {
|
|
Route::get('/search', [TerritorialRegistryController::class, 'index']);
|
|
Route::get('/{collection}', [TerritorialRegistryController::class, 'index'])->whereIn('collection', ['countries', 'provinces', 'districts', 'admin-posts', 'localities']);
|
|
Route::get('/territories/{type}/{id}', [TerritorialRegistryController::class, 'show'])->whereUuid('id');
|
|
Route::middleware(['can:manage-portal', RequireZoneMfa::class])->group(function () {
|
|
Route::get('/sources', [TerritorialRegistryController::class, 'sources']);
|
|
Route::get('/drafts', [TerritorialRegistryController::class, 'drafts']);
|
|
Route::post('/sources', [TerritorialRegistryController::class, 'source']);
|
|
Route::post('/territories', [TerritorialRegistryController::class, 'save']);
|
|
Route::patch('/territories/{id}', [TerritorialRegistryController::class, 'save'])->whereUuid('id');
|
|
Route::post('/territories/{id}/transitions', [TerritorialRegistryController::class, 'transition'])->whereUuid('id');
|
|
Route::post('/sources/{id}/transitions', [TerritorialRegistryController::class, 'sourceTransition'])->whereUuid('id');
|
|
});
|
|
});
|