<?php

declare(strict_types=1);

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

/**
 * Plan 5 Task 3: добавить limits JSONB в tenants.
 *
 * NB (2026-06-27): ключ max_projects и гейт по числу проектов убраны —
 * лимита по количеству проектов нет (ограничение только по балансу/лидам).
 * Колонка limits оставлена как резерв тарифных ограничений (max_users / api_rps
 * пока не используются). Default '{}'.
 */
return new class extends Migration
{
    public function up(): void
    {
        if (Schema::hasColumn('tenants', 'limits')) {
            return;
        }
        Schema::table('tenants', function (Blueprint $table) {
            // limits JSONB — резерв per-tenant override тарифных ограничений
            // (max_users / api_rps зарезервированы; max_projects убран 2026-06-27).
            $table->jsonb('limits')->default('{}')->after('api_key_limit');
        });
    }

    public function down(): void
    {
        Schema::table('tenants', function (Blueprint $table) {
            $table->dropColumn('limits');
        });
    }
};
