<?php

namespace App\DataTables;

use App\Models\OpzioneForm;
use Illuminate\Database\Eloquent\Model;
use Yajra\DataTables\DataTablesEditor;

class OpzioneFormDataTableEditor extends DataTablesEditor
{
    protected $model = OpzioneForm::class;

    protected $messages = [
        'label.required' => 'La label è obbligatoria',
    ];

    public function createRules(): array
    {
        return [
            'label' => 'required',
            'costo' => 'nullable|numeric|min:0',
            'posti_disponibili' => 'nullable|integer|min:0',
            'evento_form_id' => 'required|integer',
        ];
    }

    public function editRules(Model $model): array
    {
        return [
            'label' => 'required',
            'costo' => 'nullable|numeric|min:0',
            'posti_disponibili' => 'nullable|integer|min:0',
        ];
    }

    public function removeRules(Model $model): array
    {
        return [];
    }

    public function creating(Model $model, array $data): array
    {
        $efId = request()->query('evento_form_id') ?? request()->input('evento_form_id');
        if ($efId) {
            $data['evento_form_id'] = (int) $efId;
        }

        return $data;
    }
}
