<?php

namespace App\Http\Requests;

use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Http\FormRequest;

class UpdateProductRequest extends FormRequest
{
    public function authorize()
    {
        return Gate::allows('product_edit');
    }

    public function rules()
    {
        return [
            'product_type' => [
                'required',
                'in:1,2',
            ],
            'name' => [
                'string',
                'required',
            ],
            'price' => [
                'required',
                'numeric'
            ],
            'product_quantity' => [
                'required_if:product_type,2'
            ],
            'user_id' => [
                'required',
            ],
            'finish_date' => [
                'required_if:product_type,1'
            ],
            'live_date' => [
                'required_if:product_type,1',
                'nullable',
                'date'
            ],
            'duration_day' => [
                'required_if:product_type,1',
                // 'integer',
            ],
            'status' => [
                'required',
            ],
            'condition' => [
                'required',
            ],
            'cover_image' => [
                'nullable',
                'image',
                'mimes:jpeg,png,jpg'
            ],
            'images.*' => [
                'nullable',
                'image',
                'mimes:jpeg,png,jpg'
            ],
            'bidding_incremented_price' => [
                'required_if:product_type,1',
                'nullable',
                'numeric'
            ]
        ];
    }
}
