HOME


Mini Shell 1.0
La Pieza.DO | Todo lo que buscas!

Bienvenido de nuevo!

Acceso Cuenta Delivery
DIR: /var/www/devs.lapieza.net/app/Http/Requests/Api/TransporteBlanco/
Upload File :
Current File : /var/www/devs.lapieza.net/app/Http/Requests/Api/TransporteBlanco/PricingRequest.php
<?php

namespace App\Http\Requests\Api\TransporteBlanco;

use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;

class PricingRequest extends FormRequest {
    public function rules(): array {
        return [
            'customerId' => 'required|integer',
            'productId' => 'required|integer',
            'address' => 'required|string',
            'city' => 'required|string',
            'state' => 'required|string',
            'country' => 'required|string',
            'latitude' => 'required|numeric',
            'longitude' => 'required|numeric',
        ];
    }

    public function authorize(): bool {
        return true;
    }

    public function failedValidation(Validator $validator) {
        throw new HttpResponseException(response()->json([
            'errors' => $validator->errors()->all()
        ], 403));
    }

    public function messages(): array {
        return [
            'customerId.required' => 'NO_CUSTOMER_ID_PROVIDED',
            'customerId.integer' => 'BAD_CUSTOMER_ID_FORMAT_PROVIDED',
            'productId.required' => 'NO_PRODUCT_ID_PROVIDED',
            'productId.integer' => 'BAD_PRODUCT_ID_FORMAT_PROVIDED',
            'address.required' => 'NO_ADDRESS_PROVIDED',
            'address.string' => 'BAD_ADDRESS_FORMAT_PROVIDED',
            'city.required' => 'NO_CITY_PROVIDED',
            'city.string' => 'BAD_CITY_FORMAT_PROVIDED',
            'state.required' => 'NO_STATE_PROVIDED',
            'state.string' => 'BAD_STATE_FORMAT_PROVIDED',
            'country.required' => 'NO_COUNTRY_PROVIDED',
            'country.string' => 'BAD_COUNTRY_FORMAT_PROVIDED',
            'latitude.required' => 'NO_LATITUDE_PROVIDED',
            'latitude.numeric' => 'BAD_LATITUDE_FORMAT_PROVIDED',
            'longitude.required' => 'NO_LONGITUDE_PROVIDED',
            'longitude.numeric' => 'BAD_LONGITUDE_FORMAT_PROVIDED',
        ];
    }
}