164 lines
4.1 KiB
Markdown
164 lines
4.1 KiB
Markdown
# 📸 Como Criar o Bucket 'catalogo' - Passo a Passo
|
|
|
|
## ❌ Problema
|
|
Ao tentar adicionar fotos em **Site / Catalogo**, aparece erro porque o bucket `catalogo` não existe.
|
|
|
|
## ✅ Solução Rápida (5 minutos)
|
|
|
|
### 🎯 Opção 1: Via Interface (Mais Fácil)
|
|
|
|
1. **Acesse o Supabase Dashboard**
|
|
- URL: https://supabase.com/dashboard
|
|
- Faça login com sua conta
|
|
|
|
2. **Selecione seu Projeto**
|
|
- Clique no projeto "Liberi Kids" (ou o nome que você deu)
|
|
|
|
3. **Vá para Storage**
|
|
- No menu lateral esquerdo, clique em **"Storage"**
|
|
- Clique no botão **"Create a new bucket"** (ou "New bucket")
|
|
|
|
4. **Configure o Bucket**
|
|
- **Name:** `catalogo` (exatamente assim, minúsculo)
|
|
- **Public bucket:** ✅ **MARQUE ESTA OPÇÃO** (muito importante!)
|
|
- **File size limit:** `5` MB
|
|
- **Allowed MIME types:** (deixe vazio ou adicione):
|
|
- `image/jpeg`
|
|
- `image/jpg`
|
|
- `image/png`
|
|
- `image/webp`
|
|
- `image/gif`
|
|
|
|
5. **Criar o Bucket**
|
|
- Clique em **"Create bucket"**
|
|
- Aguarde a confirmação
|
|
|
|
6. **Configurar Políticas de Segurança (IMPORTANTE!)**
|
|
- Vá em **SQL Editor** (menu lateral)
|
|
- Clique em **"New Query"**
|
|
- Cole o código abaixo:
|
|
|
|
```sql
|
|
-- Política de leitura pública
|
|
CREATE POLICY "Permitir leitura pública catalogo"
|
|
ON storage.objects FOR SELECT
|
|
USING (bucket_id = 'catalogo');
|
|
|
|
-- Política de upload
|
|
CREATE POLICY "Permitir upload autenticado catalogo"
|
|
ON storage.objects FOR INSERT
|
|
WITH CHECK (
|
|
bucket_id = 'catalogo' AND
|
|
(auth.role() = 'authenticated' OR auth.role() = 'service_role')
|
|
);
|
|
|
|
-- Política de atualização
|
|
CREATE POLICY "Permitir update autenticado catalogo"
|
|
ON storage.objects FOR UPDATE
|
|
USING (
|
|
bucket_id = 'catalogo' AND
|
|
(auth.role() = 'authenticated' OR auth.role() = 'service_role')
|
|
);
|
|
|
|
-- Política de exclusão
|
|
CREATE POLICY "Permitir delete autenticado catalogo"
|
|
ON storage.objects FOR DELETE
|
|
USING (
|
|
bucket_id = 'catalogo' AND
|
|
(auth.role() = 'authenticated' OR auth.role() = 'service_role')
|
|
);
|
|
```
|
|
|
|
- Clique em **"Run"** (ou F5)
|
|
- Aguarde a mensagem de sucesso
|
|
|
|
7. **Testar**
|
|
- Volte para o sistema
|
|
- Acesse **Site / Catalogo**
|
|
- Clique em **"Fotos"** em qualquer produto
|
|
- Tente adicionar uma foto
|
|
- Deve funcionar! ✅
|
|
|
|
---
|
|
|
|
### 🎯 Opção 2: Via SQL (Mais Rápido se você sabe SQL)
|
|
|
|
1. **Acesse o Supabase Dashboard**
|
|
2. **Vá em SQL Editor**
|
|
3. **Copie todo o arquivo:** `sql/setup-bucket-catalogo.sql`
|
|
4. **Cole no editor**
|
|
5. **Execute (Run)**
|
|
6. **Verifique as mensagens de sucesso**
|
|
|
|
---
|
|
|
|
## 🔍 Verificar se Funcionou
|
|
|
|
Execute este comando para testar:
|
|
|
|
```bash
|
|
node test-upload-catalogo.js
|
|
```
|
|
|
|
Se aparecer:
|
|
```
|
|
✅ Bucket "catalogo" existe!
|
|
✅ Upload teste realizado com sucesso!
|
|
🎉 TODOS OS TESTES PASSARAM!
|
|
```
|
|
|
|
**Então está tudo certo!**
|
|
|
|
---
|
|
|
|
## ❓ Troubleshooting
|
|
|
|
### Erro: "new row violates row-level security policy"
|
|
**Causa:** Políticas RLS não configuradas
|
|
**Solução:** Execute o passo 6 acima (políticas SQL)
|
|
|
|
### Erro: "Bucket already exists"
|
|
**Causa:** Bucket já foi criado
|
|
**Solução:** Pule para o passo 6 (configurar políticas)
|
|
|
|
### Upload ainda não funciona
|
|
**Verifique:**
|
|
1. ✅ Bucket marcado como "Public"
|
|
2. ✅ Políticas RLS criadas
|
|
3. ✅ Servidor reiniciado (se necessário)
|
|
|
|
### Fotos não aparecem no site
|
|
**Verifique:**
|
|
1. ✅ Bucket é público
|
|
2. ✅ URL correta: `https://...supabase.co/storage/v1/object/public/catalogo/...`
|
|
|
|
---
|
|
|
|
## 📋 Checklist Final
|
|
|
|
Antes de usar o sistema de fotos, verifique:
|
|
|
|
- [ ] Bucket `catalogo` criado
|
|
- [ ] Bucket marcado como **Public**
|
|
- [ ] Limite de 5MB configurado
|
|
- [ ] 4 políticas RLS criadas (SELECT, INSERT, UPDATE, DELETE)
|
|
- [ ] Teste executado com sucesso
|
|
- [ ] Upload funciona no painel admin
|
|
- [ ] Fotos aparecem no site público
|
|
|
|
---
|
|
|
|
## 🎉 Pronto!
|
|
|
|
Depois de seguir estes passos, o sistema de fotos adicionais estará funcionando perfeitamente!
|
|
|
|
**Você poderá:**
|
|
- ✅ Adicionar fotos extras para cada produto
|
|
- ✅ Ver galeria completa no site
|
|
- ✅ Gerenciar fotos pelo painel admin
|
|
- ✅ Deletar fotos individuais
|
|
|
|
---
|
|
|
|
**Precisa de ajuda?** Verifique os logs do navegador (F12 > Console) para ver erros específicos.
|