<?php

use App\Models\FormulariosModel;

if (!function_exists('get_formulario_by_id')) {

    /**
     * Obtiene un formulario por ID y lo retorna como array.
     *
     * @param int|string $id
     * @return array|null
     */
    function get_formulario_by_id($id)
    {
        try {
            $model = new FormulariosModel();
            $form = $model->find($id);

            if (!$form) {
                return null; // No encontrado
            }

            // Si el campo esquema está en JSON, se decodifica automáticamente
            /*if (isset($form['esquema']) && is_string($form['esquema'])) {
                $decoded = json_decode($form['esquema'], true);
                if (json_last_error() === JSON_ERROR_NONE) {
                    $form['esquema'] = $decoded;
                }
            }*/

            return $form;

        } catch (\Throwable $e) {
            log_message('error', 'Error en get_formulario_by_id: ' . $e->getMessage());
            return null;
        }
    }
}
