#!/usr/bin/env bash
# Corrige plano trial→gratuito e destaque gestão direto no banco (produção sem git).
# Uso: bash scripts/producao-fix-gratuito-sql.sh
set -euo pipefail

ERP="${1:-/home/nolapiscom/public_html/erp}"
cd "$ERP"

DB_USER="${DB_USER:-nolapiscom_erp}"
DB_PASS="${DB_PASS:-N0L4p1s@25}"
DB_NAME="${DB_NAME:-nolapiscom_erp}"

echo "==> SQL: colunas exibir_site + label_destaque (se faltarem)"
mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" <<'SQL'
SET @db = DATABASE();

SET @has_exibir := (
  SELECT COUNT(*) FROM information_schema.COLUMNS
  WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'planos' AND COLUMN_NAME = 'exibir_site'
);
SET @sql_exibir := IF(@has_exibir = 0,
  'ALTER TABLE planos ADD COLUMN exibir_site TINYINT(1) NOT NULL DEFAULT 1 AFTER exibir_upgrade',
  'SELECT "exibir_site já existe" AS info'
);
PREPARE stmt FROM @sql_exibir; EXECUTE stmt; DEALLOCATE PREPARE stmt;

SET @has_label := (
  SELECT COUNT(*) FROM information_schema.COLUMNS
  WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'planos' AND COLUMN_NAME = 'label_destaque'
);
SET @sql_label := IF(@has_label = 0,
  'ALTER TABLE planos ADD COLUMN label_destaque VARCHAR(80) NULL AFTER destaque',
  'SELECT "label_destaque já existe" AS info'
);
PREPARE stmt FROM @sql_label; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SQL

echo "==> SQL: trial → gratuito permanente + destaque gestão"
mysql -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" <<'SQL'
UPDATE planos SET
  codigo = 'gratuito',
  nome = 'NoLapis Gratuito',
  trial_dias = NULL,
  gratuito = 1,
  cor_card = '#94A3B8',
  destaque = 0,
  exibir_site = 1,
  ordem = 1,
  limite_usuarios = 1,
  limite_empresas = 1,
  creditos_ia = 0,
  permite_usuario_adicional = 0,
  descricao_curta = 'Para conhecer o ERP e organizar o básico.',
  descricao_comercial = 'Cadastros, vendas simples e financeiro básico com um painel inicial. Sem emissão de NFS-e, DRE/DFC ou dashboards gerenciais.',
  descricao_card_upgrade = 'Comece sem pagar e sem prazo.'
WHERE codigo = 'trial';

UPDATE planos SET destaque = 0 WHERE codigo IS NOT NULL;
UPDATE planos SET destaque = 1 WHERE codigo = 'gestao';

UPDATE planos SET status = 'INATIVO' WHERE codigo IS NULL AND status = 'ATIVO';

SELECT idplano, codigo, nome, gratuito, trial_dias, destaque, exibir_site, status
FROM planos WHERE codigo IS NOT NULL ORDER BY ordem;
SQL

echo ""
echo "==> Próximo passo: copie os arquivos PHP atualizados do dev e rode:"
echo "    php artisan planos:aplicar-comerciais --inativar-legado"
echo ""
echo "Arquivos obrigatórios (versão com 'gratuito', não 'trial'):"
echo "  database/seeders/PlanosComerciaisSeeder.php"
echo "  config/funcionalidades_catalogo.php"
echo "  config/funcionalidades_menu_secoes.php"
echo "  config/nolapis_comercial.php"
