-- =============================================
-- SETUP RÁPIDO SUPABASE - LIBERI KIDS CATÁLOGO
-- Execute este script completo no SQL Editor do Supabase
-- =============================================

-- 1. EXECUTAR PRIMEIRO: Estrutura completa das tabelas
-- (Cole aqui todo o conteúdo do arquivo sql/supabase-setup.sql)

-- 2. CONFIGURAR STORAGE PARA IMAGENS
INSERT INTO storage.buckets (id, name, public, file_size_limit, allowed_mime_types)
VALUES (
  'produtos',
  'produtos',
  true,
  5242880, -- 5MB
  ARRAY['image/jpeg', 'image/png', 'image/webp', 'image/gif']
) ON CONFLICT (id) DO NOTHING;

-- Políticas de acesso ao storage
CREATE POLICY "Permitir upload de imagens de produtos" ON storage.objects
FOR INSERT WITH CHECK (
  bucket_id = 'produtos' AND
  auth.role() = 'authenticated'
);

CREATE POLICY "Permitir leitura pública de imagens de produtos" ON storage.objects
FOR SELECT USING (bucket_id = 'produtos');

CREATE POLICY "Permitir atualização de imagens de produtos" ON storage.objects
FOR UPDATE WITH CHECK (
  bucket_id = 'produtos' AND
  auth.role() = 'authenticated'
);

CREATE POLICY "Permitir exclusão de imagens de produtos" ON storage.objects
FOR DELETE USING (
  bucket_id = 'produtos' AND
  auth.role() = 'authenticated'
);

-- 3. CRIAR TABELA DE USUÁRIOS ADMIN
CREATE TABLE IF NOT EXISTS usuarios_admin (
    id UUID DEFAULT uuid_generate_v4() PRIMARY KEY,
    email VARCHAR(255) NOT NULL UNIQUE,
    senha_hash VARCHAR(255) NOT NULL,
    nome VARCHAR(255) NOT NULL,
    ativo BOOLEAN DEFAULT true,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);

-- 4. INSERIR USUÁRIO ADMIN DA MAIARA
INSERT INTO usuarios_admin (email, senha_hash, nome, ativo)
VALUES (
    'maiara.seco@gmail.com',
    'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', -- Hash de '123456'
    'Maiara Seco',
    true
) ON CONFLICT (email) DO NOTHING;

-- 5. INSERIR DADOS DE TESTE

-- Fornecedor de exemplo
INSERT INTO fornecedores (nome, email, telefone, ativo)
VALUES (
    'Liberi Kids Matriz',
    'contato@liberikids.com.br',
    '(43) 99999-9999',
    true
) ON CONFLICT DO NOTHING;

-- Produtos de exemplo
INSERT INTO produtos (
    id_produto, marca, nome, descricao, estacao, genero, 
    fornecedor_id, valor_compra, valor_revenda, ativo
)
VALUES 
    (
        'LK001',
        'Liberi Kids',
        'Camiseta Infantil Básica',
        'Camiseta 100% algodão, confortável e durável para o dia a dia',
        'Verão',
        'Unissex',
        (SELECT id FROM fornecedores WHERE nome = 'Liberi Kids Matriz' LIMIT 1),
        15.90,
        29.90,
        true
    ),
    (
        'LK002',
        'Liberi Kids',
        'Vestido Floral Menina',
        'Vestido lindo com estampa floral, perfeito para ocasiões especiais',
        'Primavera',
        'Feminino',
        (SELECT id FROM fornecedores WHERE nome = 'Liberi Kids Matriz' LIMIT 1),
        25.90,
        49.90,
        true
    ),
    (
        'LK003',
        'Liberi Kids',
        'Bermuda Jeans Menino',
        'Bermuda jeans resistente e confortável para brincadeiras',
        'Verão',
        'Masculino',
        (SELECT id FROM fornecedores WHERE nome = 'Liberi Kids Matriz' LIMIT 1),
        20.90,
        39.90,
        true
    )
ON CONFLICT (id_produto) DO NOTHING;

-- Variações dos produtos
INSERT INTO produto_variacoes (produto_id, tamanho, cor, quantidade)
VALUES 
    -- Camiseta Básica
    ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '2', 'Azul', 5),
    ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '2', 'Rosa', 3),
    ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '4', 'Azul', 7),
    ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '4', 'Rosa', 4),
    ((SELECT id FROM produtos WHERE id_produto = 'LK001'), '6', 'Branco', 6),
    
    -- Vestido Floral
    ((SELECT id FROM produtos WHERE id_produto = 'LK002'), '2', 'Rosa', 3),
    ((SELECT id FROM produtos WHERE id_produto = 'LK002'), '4', 'Rosa', 5),
    ((SELECT id FROM produtos WHERE id_produto = 'LK002'), '6', 'Lilás', 4),
    ((SELECT id FROM produtos WHERE id_produto = 'LK002'), '8', 'Rosa', 2),
    
    -- Bermuda Jeans
    ((SELECT id FROM produtos WHERE id_produto = 'LK003'), '2', 'Azul', 4),
    ((SELECT id FROM produtos WHERE id_produto = 'LK003'), '4', 'Azul', 6),
    ((SELECT id FROM produtos WHERE id_produto = 'LK003'), '6', 'Azul', 3),
    ((SELECT id FROM produtos WHERE id_produto = 'LK003'), '8', 'Preto', 5)
ON CONFLICT (produto_id, tamanho, cor) DO NOTHING;

-- Cliente de exemplo
INSERT INTO clientes (nome_completo, email, whatsapp, endereco, ativo)
VALUES (
    'Cliente Teste',
    'cliente@teste.com',
    '43999999999',
    'Rua Teste, 123 - Centro - Londrina/PR',
    true
) ON CONFLICT (whatsapp) DO NOTHING;

-- =============================================
-- VERIFICAÇÕES FINAIS
-- =============================================

-- Verificar se tudo foi criado corretamente
SELECT 'Produtos criados:' as status, COUNT(*) as total FROM produtos WHERE ativo = true;
SELECT 'Variações criadas:' as status, COUNT(*) as total FROM produto_variacoes;
SELECT 'Fornecedores criados:' as status, COUNT(*) as total FROM fornecedores WHERE ativo = true;
SELECT 'Usuários admin criados:' as status, COUNT(*) as total FROM usuarios_admin WHERE ativo = true;
SELECT 'Clientes criados:' as status, COUNT(*) as total FROM clientes WHERE ativo = true;

-- Verificar buckets de storage
SELECT 'Buckets criados:' as status, COUNT(*) as total FROM storage.buckets WHERE name = 'produtos';

-- =============================================
-- INSTRUÇÕES FINAIS
-- =============================================

/*
🎉 CONFIGURAÇÃO CONCLUÍDA!

Próximos passos:
1. ✅ Execute este script completo no SQL Editor
2. ✅ Verifique se não há erros
3. ✅ Abra site/index.html no navegador
4. ✅ Teste o carregamento de produtos
5. ✅ Acesse o admin: clique no logo
6. ✅ Login: maiara.seco@gmail.com / 123456

O catálogo agora está funcionando com dados reais!
*/
