Files
SGF/routes/web.php
T

29 lines
1.5 KiB
PHP

<?php
use Illuminate\Support\Facades\Route;
use App\Modules\Identity\Http\RequireCompanyContext;
use App\Modules\Identity\Http\IdentityController;
use App\Modules\Identity\Http\RequireValidSession;
Route::get('/', function () {
return view('app');
});
Route::get('/api/session', [IdentityController::class, 'session']);
Route::post('/api/login', [IdentityController::class, 'login']);
Route::middleware(['auth', RequireValidSession::class])->group(function (): void {
Route::post('/api/logout', [IdentityController::class, 'logout']);
Route::post('/api/context', [IdentityController::class, 'select']);
Route::middleware(RequireCompanyContext::class)->group(function (): void {
Route::get('/api/context', fn (\App\Shared\Context\CompanyContext $context) => response()->json($context->identifiers() + ['unit_id' => $context->unitId()]));
Route::patch('/api/companies/{company}', [IdentityController::class, 'renameCompany']);
Route::get('/api/companies/{company}', [IdentityController::class, 'company']);
Route::get('/api/units/{unit}', [IdentityController::class, 'unit']);
Route::patch('/api/units/{unit}', [IdentityController::class, 'renameUnit']);
Route::post('/api/units', [IdentityController::class, 'createUnit']);
Route::get('/api/accesses', [IdentityController::class, 'accesses']);
Route::post('/api/accesses', [IdentityController::class, 'grant']);
Route::post('/api/accesses/revoke', [IdentityController::class, 'revoke']);
});
});