<?php
declare(strict_types=1);

use Celena\Core\Database\Blueprint;
use Celena\Core\Database\Connection;
use Celena\Core\Database\Schema;

/**
 * Заявки конструктора форм. Значения полей — плоский JSON (data), что удобно
 * листать и выгружать в CSV. Старая таблица cl_leads остаётся отдельно
 * («Все заявки» — историческая вкладка).
 */
return function (Schema $schema, Connection $conn): void {
    $schema->create('form_submissions', function (Blueprint $t) {
        $t->id();
        $t->bigInteger('form_id')->nullable();
        $t->string('form_slug', 80)->nullable();
        $t->json('data')->nullable();      // {fieldKey: value, ...}
        $t->string('ip', 45)->nullable();
        $t->string('user_agent', 255)->nullable();
        $t->string('page_url', 255)->nullable();
        $t->string('lang', 8)->nullable();
        $t->string('status', 20)->default('new');
        $t->datetime('created_at')->nullable();
        $t->index('form_id');
        $t->index('status');
    });
};
