File "FailedValidationExceptionResponse.php"
Full Path: /var/www/html/back/app/Responses/FailedValidationExceptionResponse.php
File size: 1012 B
MIME-type: text/x-php
Charset: utf-8
<?php
declare(strict_types=1);
namespace App\Responses;
use Illuminate\Contracts\Support\Responsable;
use Illuminate\Http\{JsonResponse, Response};
use Illuminate\Support\MessageBag;
final readonly class FailedValidationExceptionResponse implements Responsable
{
private MessageBag $errors;
public function __construct(MessageBag $errors)
{
$this->errors = $errors;
}
public function toResponse($request): JsonResponse
{
return new JsonResponse(
data: [
'status' => Response::HTTP_UNPROCESSABLE_ENTITY,
'data' => [
'message' => __(key: 'Ошибка валидации!'),
'errors' => $this->errors
],
'metadata' => [
'request_id' => str()->uuid()->toString(),
'timestamp' => now()->toIso8601String()
],
],
status: Response::HTTP_UNPROCESSABLE_ENTITY
);
}
}