<?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 ); } }