88 lines
3.1 KiB
PowerShell
88 lines
3.1 KiB
PowerShell
#!/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
|