İmage upload,sıkıştırma
This commit is contained in:
88
supabase_schema_sliders.sql
Normal file
88
supabase_schema_sliders.sql
Normal file
@@ -0,0 +1,88 @@
|
||||
-- Create sliders table
|
||||
create table if not exists sliders (
|
||||
id uuid default gen_random_uuid() primary key,
|
||||
title text not null,
|
||||
description text,
|
||||
image_url text not null,
|
||||
link text,
|
||||
"order" integer default 0,
|
||||
is_active boolean default true,
|
||||
created_at timestamp with time zone default timezone('utc'::text, now()) not null
|
||||
);
|
||||
|
||||
-- Enable RLS
|
||||
alter table sliders enable row level security;
|
||||
|
||||
-- Policies for Sliders Table
|
||||
create policy "Public sliders are viewable by everyone."
|
||||
on sliders for select
|
||||
using ( true );
|
||||
|
||||
create policy "Admins can insert sliders."
|
||||
on sliders for insert
|
||||
with check (
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
|
||||
create policy "Admins can update sliders."
|
||||
on sliders for update
|
||||
using (
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
|
||||
create policy "Admins can delete sliders."
|
||||
on sliders for delete
|
||||
using (
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
|
||||
-- STORAGE POLICIES (Assuming bucket 'images' exists)
|
||||
-- You must create the 'images' bucket in Supabase Dashboard manually if not exists,
|
||||
-- or we can try to insert it via SQL if extensions allow, but usually dashboard is safer for buckets.
|
||||
-- Below policies assume the bucket is named 'images' and is set to PUBLIC.
|
||||
|
||||
-- 1. Allow public read access to everyone
|
||||
create policy "Public Access"
|
||||
on storage.objects for select
|
||||
using ( bucket_id = 'images' );
|
||||
|
||||
-- 2. Allow authenticated admins to upload
|
||||
create policy "Admin Upload"
|
||||
on storage.objects for insert
|
||||
with check (
|
||||
bucket_id = 'images' and
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
|
||||
-- 3. Allow admins to update/delete their images (or all images)
|
||||
create policy "Admin Update Delete"
|
||||
on storage.objects for update
|
||||
using (
|
||||
bucket_id = 'images' and
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
|
||||
create policy "Admin Delete"
|
||||
on storage.objects for delete
|
||||
using (
|
||||
bucket_id = 'images' and
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
Reference in New Issue
Block a user