#!/usr/bin/env pwsh # Script para configurar Storage no Supabase Write-Host "========================================" -ForegroundColor Cyan Write-Host "Configurando Storage para Mensagens" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "" Write-Host "📦 PRÓXIMOS PASSOS MANUAIS:" -ForegroundColor Yellow Write-Host "" Write-Host "1️⃣ Criar Bucket de Storage:" -ForegroundColor White Write-Host " • Acesse: https://supabase.com/dashboard/project/etblfypcxxtvvuqjkrgd/storage/buckets" -ForegroundColor Gray Write-Host " • Clique em 'New bucket'" -ForegroundColor Gray Write-Host " • Nome: message-files" -ForegroundColor Green Write-Host " • Marque: Public bucket ✓" -ForegroundColor Gray Write-Host " • Clique em 'Create bucket'" -ForegroundColor Gray Write-Host "" Write-Host "2️⃣ Configurar Políticas de Storage:" -ForegroundColor White Write-Host " • Acesse: https://supabase.com/dashboard/project/etblfypcxxtvvuqjkrgd/storage/policies" -ForegroundColor Gray Write-Host " • Selecione o bucket 'message-files'" -ForegroundColor Gray Write-Host " • Adicione as seguintes políticas:" -ForegroundColor Gray Write-Host "" Write-Host " Execute este SQL no SQL Editor:" -ForegroundColor Yellow Write-Host "" Write-Host @' -- Política 1: Upload (INSERT) CREATE POLICY "Users can upload files" ON storage.objects FOR INSERT TO authenticated WITH CHECK ( bucket_id = 'message-files' AND auth.uid()::text = (storage.foldername(name))[1] ); -- Política 2: Download (SELECT) CREATE POLICY "Anyone can download files" ON storage.objects FOR SELECT TO public USING (bucket_id = 'message-files'); -- Política 3: Update CREATE POLICY "Users can update their own files" ON storage.objects FOR UPDATE TO authenticated USING ( bucket_id = 'message-files' AND auth.uid()::text = (storage.foldername(name))[1] ); -- Política 4: Delete CREATE POLICY "Users can delete their own files" ON storage.objects FOR DELETE TO authenticated USING ( bucket_id = 'message-files' AND auth.uid()::text = (storage.foldername(name))[1] ); '@ -ForegroundColor DarkGray Write-Host "" Write-Host "3️⃣ Configurar Limites (Opcional):" -ForegroundColor White Write-Host " • Tamanho máximo: 10MB" -ForegroundColor Gray Write-Host " • Tipos permitidos: PDF, imagens, documentos" -ForegroundColor Gray Write-Host "" $limitSql = @" -- Executar no SQL Editor UPDATE storage.buckets SET file_size_limit = 10485760, allowed_mime_types = ARRAY[ 'image/jpeg', 'image/png', 'image/gif', 'application/pdf', 'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'text/plain' ]::text[] WHERE id = 'message-files'; "@ Write-Host $limitSql -ForegroundColor DarkGray Write-Host "" Write-Host "========================================" -ForegroundColor Cyan Write-Host "✅ Migration aplicada com sucesso!" -ForegroundColor Green Write-Host "📋 Complete os passos acima no Dashboard" -ForegroundColor Yellow Write-Host "========================================" -ForegroundColor Cyan