feature test su institution
This commit is contained in:
17
backend/routes/api/institution-categories.php
Normal file
17
backend/routes/api/institution-categories.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\InstitutionCategoryController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Prefisso `api` e tier applicati dal loader in bootstrap/app.php.
|
||||
|
||||
// Lettura: utente pienamente operativo.
|
||||
Route::middleware('tier.app')->group(function () {
|
||||
Route::apiResource('institution-categories', InstitutionCategoryController::class)->only(['index', 'show']);
|
||||
Route::get('institution-categories/{institution_category}/usage', [InstitutionCategoryController::class, 'usage']);
|
||||
});
|
||||
|
||||
// Scrittura: solo Admin.
|
||||
Route::middleware('tier.admin')->group(function () {
|
||||
Route::apiResource('institution-categories', InstitutionCategoryController::class)->only(['store', 'update', 'destroy']);
|
||||
});
|
||||
29
backend/routes/api/institutions.php
Normal file
29
backend/routes/api/institutions.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Controllers\InstitutionController;
|
||||
use App\Http\Controllers\InstitutionLinkController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
// Prefisso `api` e tier (`tier.app` / `tier.admin`) applicati dal loader in
|
||||
// bootstrap/app.php. Le istituzioni si risolvono per `uuid` (route key del model).
|
||||
|
||||
// Lettura: utente pienamente operativo.
|
||||
Route::middleware('tier.app')->group(function () {
|
||||
Route::apiResource('institutions', InstitutionController::class)->only(['index', 'show']);
|
||||
Route::apiResource('institutions.links', InstitutionLinkController::class)
|
||||
->only(['index', 'show'])
|
||||
->scoped();
|
||||
});
|
||||
|
||||
// Scrittura + soft delete: solo Admin.
|
||||
Route::middleware('tier.admin')->group(function () {
|
||||
Route::apiResource('institutions', InstitutionController::class)->only(['store', 'update', 'destroy']);
|
||||
|
||||
// Soft delete: ripristino e cancellazione definitiva (binding sui cestinati).
|
||||
Route::post('institutions/{institution}/restore', [InstitutionController::class, 'restore'])->withTrashed();
|
||||
Route::delete('institutions/{institution}/force', [InstitutionController::class, 'forceDestroy'])->withTrashed();
|
||||
|
||||
Route::apiResource('institutions.links', InstitutionLinkController::class)
|
||||
->only(['store', 'update', 'destroy'])
|
||||
->scoped();
|
||||
});
|
||||
Reference in New Issue
Block a user