chore: sincroniza projeto para gitea
This commit is contained in:
163
CRIAR-BUCKET-PASSO-A-PASSO.md
Normal file
163
CRIAR-BUCKET-PASSO-A-PASSO.md
Normal file
@@ -0,0 +1,163 @@
|
||||
# 📸 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.
|
||||
Reference in New Issue
Block a user