chore: sincroniza projeto para gitea

This commit is contained in:
Tiago
2025-11-29 21:31:52 -03:00
parent 33d8645eb4
commit 7e7a0f8867
129 changed files with 24999 additions and 6757 deletions

76
criar-bucket-catalogo.js Normal file
View 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();