-- Clone standard catalogs from SP to MG to ensure basic data availability
-- Using ON CONFLICT DO NOTHING to preserve any data already created by imports

-- 1. Cursos
INSERT INTO cursos (nome, regiao)
SELECT nome, 'MG'
FROM cursos
WHERE regiao = 'SP'
ON CONFLICT (nome, regiao) DO NOTHING;

-- 2. Anos Formaturas
INSERT INTO anos_formaturas (ano_semestre, regiao)
SELECT ano_semestre, 'MG'
FROM anos_formaturas
WHERE regiao = 'SP'
ON CONFLICT (ano_semestre, regiao) DO NOTHING;

-- 3. Tipos Eventos
INSERT INTO tipos_eventos (nome, regiao)
SELECT nome, 'MG'
FROM tipos_eventos
WHERE regiao = 'SP'
ON CONFLICT (nome, regiao) DO NOTHING;

-- 4. Tipos Servicos
INSERT INTO tipos_servicos (nome, regiao)
SELECT nome, 'MG'
FROM tipos_servicos
WHERE regiao = 'SP'
ON CONFLICT (nome, regiao) DO NOTHING;

-- 5. Initialize Pricing (Precos) structure for MG
-- For every combination of (TipoEvento (MG) + Funcao (Global)), ensure a price row exists.
-- We initialize with 0.00 or copy SP price if available?
-- Copying SP price as a baseline is often better than 0.
INSERT INTO precos_tipos_eventos (tipo_evento_id, funcao_profissional_id, valor, regiao)
SELECT 
    te_mg.id as tipo_evento_id, 
    pte_sp.funcao_profissional_id, 
    pte_sp.valor, 
    'MG' as regiao
FROM precos_tipos_eventos pte_sp
JOIN tipos_eventos te_sp ON pte_sp.tipo_evento_id = te_sp.id AND te_sp.regiao = 'SP'
JOIN tipos_eventos te_mg ON te_sp.nome = te_mg.nome AND te_mg.regiao = 'MG'
WHERE pte_sp.regiao = 'SP'
ON CONFLICT (tipo_evento_id, funcao_profissional_id, regiao) DO NOTHING;
