response()->json([ 'message' => resolve(AppConfig::class)->name->value . ' v1', 'spec' => route('api.v1.openapi'), ]))->name('root'); // * HEALTH CHECK Route::get('/health', HealthCheckController::class)->name('health'); // * OPENAPI Route::get('/openapi', function () { return response()->file( base_path('documentation/OpenApi/openapi.yaml'), ['Content-Type' => 'application/yaml'] ); })->name('openapi'); Route::middleware('auth.hmac')->group(function (): void { // * EMPLOYEES Route::prefix('employees')->group(function (): void { Route::get('/', EmployeesIndexController::class)->name('employees.index'); Route::get('/{employeeId}', EmployeeShowController::class)->name('employees.show'); }); // * BRANDS Route::prefix('brands')->group(function (): void { Route::get('/', BrandsIndexController::class)->name('brands.index'); Route::get('/{brandCode}', BrandShowController::class)->name('brands.show'); }); // * INCO SHEETS Route::prefix('inco-sheets')->group(function (): void { Route::get('/', IncoSheetsIndexController::class)->name('inco-sheets.index'); Route::get('/search', IncoSheetsSearchController::class)->name('inco-sheets.search'); Route::get('/{incoId}', IncoSheetsShowController::class)->name('inco-sheets.show'); Route::get('/{incoId}/composition', IncoCompositionShowController::class)->name('inco-sheets.composition'); }); });