<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class AppFaqRequest extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            'title' => 'required|string|min:2|max:180',
            'description' => 'required|string|min:2|max:1000',
            'is_active' => 'required|boolean',
            'order_no' => 'nullable|integer|min:0',
        ];
    }

    protected function prepareForValidation()
    {
        $input = $this->input();

        if (isset($input['data']['attributes']) && is_array($input['data']['attributes'])) {
            $input = $input['data']['attributes'];
        }

        if (array_key_exists('order_no', $input) && ($input['order_no'] === null || $input['order_no'] === '')) {
            $input['order_no'] = 0;
        }

        $this->replace($input ?? []);
    }
}
