ldc-arcadia-api/src/Presentation/Web/Http/Controllers/ErrorDocumentationController.php

28 lines
811 B
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace Presentation\Web\Http\Controllers;
use Illuminate\Contracts\View\View;
use Presentation\Api\V1\Exceptions\ApiErrorCode;
final class ErrorDocumentationController
{
public function __invoke(ApiErrorCode $code): View
{
$viewName = match ($code) {
ApiErrorCode::NotFound => 'errors.docs.not-found',
ApiErrorCode::ValidationError => 'errors.docs.validation-error',
ApiErrorCode::BadRequest => 'errors.docs.bad-request',
ApiErrorCode::TooManyRequests => 'errors.docs.too-many-requests',
ApiErrorCode::InternalError => 'errors.docs.internal-error',
};
return view($viewName, [
'code' => $code,
'title' => $code->title(),
]);
}
}