fix(db): create missing storage buckets in migration
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,90 @@
|
|||||||
|
-- Create project-thumbnails storage bucket (public read, service-role write)
|
||||||
|
INSERT INTO storage.buckets (id, name, public, file_size_limit, allowed_mime_types)
|
||||||
|
VALUES (
|
||||||
|
'project-thumbnails',
|
||||||
|
'project-thumbnails',
|
||||||
|
true,
|
||||||
|
10485760, -- 10MB
|
||||||
|
ARRAY['image/png']
|
||||||
|
)
|
||||||
|
ON CONFLICT (id) DO NOTHING;
|
||||||
|
|
||||||
|
-- Allow public read on project-thumbnails bucket
|
||||||
|
CREATE POLICY "Public read project thumbnails"
|
||||||
|
ON storage.objects FOR SELECT
|
||||||
|
USING (bucket_id = 'project-thumbnails');
|
||||||
|
|
||||||
|
-- Allow service role (and authenticated users) to upload to project-thumbnails
|
||||||
|
CREATE POLICY "Service role upload project thumbnails"
|
||||||
|
ON storage.objects FOR INSERT
|
||||||
|
WITH CHECK (bucket_id = 'project-thumbnails');
|
||||||
|
|
||||||
|
-- Allow service role to update/delete project-thumbnails
|
||||||
|
CREATE POLICY "Service role update project thumbnails"
|
||||||
|
ON storage.objects FOR UPDATE
|
||||||
|
USING (bucket_id = 'project-thumbnails');
|
||||||
|
|
||||||
|
CREATE POLICY "Service role delete project thumbnails"
|
||||||
|
ON storage.objects FOR DELETE
|
||||||
|
USING (bucket_id = 'project-thumbnails');
|
||||||
|
|
||||||
|
|
||||||
|
-- Create project-assets storage bucket (public read, service-role write)
|
||||||
|
INSERT INTO storage.buckets (id, name, public, file_size_limit)
|
||||||
|
VALUES (
|
||||||
|
'project-assets',
|
||||||
|
'project-assets',
|
||||||
|
true,
|
||||||
|
524288000 -- 500MB
|
||||||
|
)
|
||||||
|
ON CONFLICT (id) DO NOTHING;
|
||||||
|
|
||||||
|
-- Allow public read on project-assets bucket
|
||||||
|
CREATE POLICY "Public read project assets"
|
||||||
|
ON storage.objects FOR SELECT
|
||||||
|
USING (bucket_id = 'project-assets');
|
||||||
|
|
||||||
|
-- Allow service role (and authenticated users) to upload to project-assets
|
||||||
|
CREATE POLICY "Service role upload project assets"
|
||||||
|
ON storage.objects FOR INSERT
|
||||||
|
WITH CHECK (bucket_id = 'project-assets');
|
||||||
|
|
||||||
|
-- Allow service role to update/delete project-assets
|
||||||
|
CREATE POLICY "Service role update project assets"
|
||||||
|
ON storage.objects FOR UPDATE
|
||||||
|
USING (bucket_id = 'project-assets');
|
||||||
|
|
||||||
|
CREATE POLICY "Service role delete project assets"
|
||||||
|
ON storage.objects FOR DELETE
|
||||||
|
USING (bucket_id = 'project-assets');
|
||||||
|
|
||||||
|
|
||||||
|
-- Create avatars storage bucket (public read, service-role write)
|
||||||
|
INSERT INTO storage.buckets (id, name, public, file_size_limit, allowed_mime_types)
|
||||||
|
VALUES (
|
||||||
|
'avatars',
|
||||||
|
'avatars',
|
||||||
|
true,
|
||||||
|
5242880, -- 5MB
|
||||||
|
ARRAY['image/png', 'image/jpeg', 'image/webp', 'image/gif']
|
||||||
|
)
|
||||||
|
ON CONFLICT (id) DO NOTHING;
|
||||||
|
|
||||||
|
-- Allow public read on avatars bucket
|
||||||
|
CREATE POLICY "Public read avatars"
|
||||||
|
ON storage.objects FOR SELECT
|
||||||
|
USING (bucket_id = 'avatars');
|
||||||
|
|
||||||
|
-- Allow service role (and authenticated users) to upload to avatars
|
||||||
|
CREATE POLICY "Service role upload avatars"
|
||||||
|
ON storage.objects FOR INSERT
|
||||||
|
WITH CHECK (bucket_id = 'avatars');
|
||||||
|
|
||||||
|
-- Allow service role to update/delete avatars
|
||||||
|
CREATE POLICY "Service role update avatars"
|
||||||
|
ON storage.objects FOR UPDATE
|
||||||
|
USING (bucket_id = 'avatars');
|
||||||
|
|
||||||
|
CREATE POLICY "Service role delete avatars"
|
||||||
|
ON storage.objects FOR DELETE
|
||||||
|
USING (bucket_id = 'avatars');
|
||||||
Reference in New Issue
Block a user