chore: sincroniza projeto para gitea
This commit is contained in:
178
SETUP-RAPIDO-SUPABASE.sql
Normal file
178
SETUP-RAPIDO-SUPABASE.sql
Normal file
@@ -0,0 +1,178 @@
|
||||
-- =============================================
|
||||
-- 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!
|
||||
*/
|
||||
Reference in New Issue
Block a user