2026-08-12 15:45:29 +02:00
|
|
|
<?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
|
|
|
|
|
{
|
2026-08-12 17:25:45 +02:00
|
|
|
$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, [
|
2026-08-12 15:45:29 +02:00
|
|
|
'code' => $code,
|
|
|
|
|
'title' => $code->title(),
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
}
|