chore: sincroniza projeto para gitea
This commit is contained in:
76
criar-bucket-catalogo.js
Normal file
76
criar-bucket-catalogo.js
Normal file
@@ -0,0 +1,76 @@
|
||||
// Script para criar automaticamente o bucket 'catalogo'
|
||||
require('dotenv').config();
|
||||
const { createClient } = require('@supabase/supabase-js');
|
||||
|
||||
const supabaseUrl = process.env.SUPABASE_URL;
|
||||
const supabaseKey = process.env.SUPABASE_SERVICE_KEY || process.env.SUPABASE_ANON_KEY;
|
||||
|
||||
if (!supabaseUrl || !supabaseKey) {
|
||||
console.error('❌ Configure as variáveis de ambiente no arquivo .env');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const supabase = createClient(supabaseUrl, supabaseKey);
|
||||
|
||||
async function criarBucketCatalogo() {
|
||||
console.log('🚀 Criando bucket "catalogo"...\n');
|
||||
|
||||
try {
|
||||
// Verificar se já existe
|
||||
const { data: buckets } = await supabase.storage.listBuckets();
|
||||
const existe = buckets?.find(b => b.id === 'catalogo');
|
||||
|
||||
if (existe) {
|
||||
console.log('✅ Bucket "catalogo" já existe!');
|
||||
console.log(' - Público:', existe.public);
|
||||
console.log('\n✨ Tudo certo! Você já pode usar o sistema de fotos.');
|
||||
return;
|
||||
}
|
||||
|
||||
// Criar bucket
|
||||
const { data, error } = await supabase.storage.createBucket('catalogo', {
|
||||
public: true,
|
||||
fileSizeLimit: 5242880, // 5MB
|
||||
allowedMimeTypes: ['image/jpeg', 'image/jpg', 'image/png', 'image/webp', 'image/gif']
|
||||
});
|
||||
|
||||
if (error) {
|
||||
console.error('❌ Erro ao criar bucket:', error.message);
|
||||
console.log('\n💡 Solução alternativa:');
|
||||
console.log(' 1. Acesse o Supabase Dashboard');
|
||||
console.log(' 2. Vá em Storage > Create a new bucket');
|
||||
console.log(' 3. Nome: catalogo');
|
||||
console.log(' 4. Marque "Public bucket"');
|
||||
console.log(' 5. File size limit: 5MB');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('✅ Bucket "catalogo" criado com sucesso!');
|
||||
console.log('\n📋 Próximo passo: Configurar políticas RLS');
|
||||
console.log(' Execute o script SQL para configurar as permissões:');
|
||||
console.log(' sql/setup-bucket-catalogo.sql');
|
||||
console.log('\n Ou continue e eu tento configurar automaticamente...');
|
||||
|
||||
// Aguardar 2 segundos
|
||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||
|
||||
console.log('\n🔐 Configurando políticas de acesso...');
|
||||
|
||||
// Nota: Políticas RLS precisam ser criadas via SQL
|
||||
// O SDK do Supabase não suporta criação de políticas diretamente
|
||||
|
||||
console.log('\n⚠️ IMPORTANTE:');
|
||||
console.log(' Para o bucket funcionar completamente, você DEVE executar');
|
||||
console.log(' o script SQL para criar as políticas de segurança:');
|
||||
console.log('\n 1. Abra o Supabase Dashboard');
|
||||
console.log(' 2. Vá em SQL Editor');
|
||||
console.log(' 3. Cole o conteúdo de: sql/setup-bucket-catalogo.sql');
|
||||
console.log(' 4. Execute (Run)');
|
||||
console.log('\n Sem as políticas, o upload NÃO funcionará!');
|
||||
|
||||
} catch (error) {
|
||||
console.error('\n❌ Erro:', error.message);
|
||||
}
|
||||
}
|
||||
|
||||
criarBucketCatalogo();
|
||||
Reference in New Issue
Block a user