Files
Investidor-V2/routes/territorial-registry.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');
});
});