<?php

namespace App\PackagesApi\v3\Requests;

use Illuminate\Contracts\Validation\Validator;
use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Http\JsonResponse;
use Illuminate\Validation\ValidationException;

/**
 * Trait JsonRequestTrait
 * @package App\PackagesApi\Requests\Auth
 */
trait JsonRequestTrait
{
    /**
     * @param Validator $validator
     */
    protected function failedValidation(Validator $validator)
    {
        $errors = (new ValidationException($validator))->errors();

        throw new HttpResponseException(
            response()->json([
                'success' => false,
                'message' => collect($errors)->first()[0],
                //'errors' => $errors,
            ], JsonResponse::HTTP_INTERNAL_SERVER_ERROR
            )
        );
    }
}
