Files
tracksteel_app/supabase/migrations/20250622212909-a7564ada-f960-4fcf-a098-f022909a8de3.sql

44 lines
1.2 KiB
SQL

-- Criar bucket para fotos de perfil
INSERT INTO storage.buckets (id, name, public, file_size_limit, allowed_mime_types)
VALUES (
'profile-images',
'profile-images',
true,
5242880, -- 5MB limit
ARRAY['image/jpeg', 'image/png', 'image/gif', 'image/webp']
);
-- Política para permitir que usuários façam upload de suas próprias fotos
CREATE POLICY "Users can upload their own profile images"
ON storage.objects
FOR INSERT
WITH CHECK (
bucket_id = 'profile-images'
AND auth.uid()::text = (storage.foldername(name))[1]
);
-- Política para permitir que usuários atualizem suas próprias fotos
CREATE POLICY "Users can update their own profile images"
ON storage.objects
FOR UPDATE
USING (
bucket_id = 'profile-images'
AND auth.uid()::text = (storage.foldername(name))[1]
);
-- Política para permitir que usuários deletem suas próprias fotos
CREATE POLICY "Users can delete their own profile images"
ON storage.objects
FOR DELETE
USING (
bucket_id = 'profile-images'
AND auth.uid()::text = (storage.foldername(name))[1]
);
-- Política para permitir que todos vejam as fotos de perfil (públicas)
CREATE POLICY "Profile images are publicly viewable"
ON storage.objects
FOR SELECT
USING (bucket_id = 'profile-images');