Site Yönetimi,Kullanıcı Girişi,Karanlık mod özellikleri db bağlantıları.
This commit is contained in:
58
supabase_schema_additions.sql
Normal file
58
supabase_schema_additions.sql
Normal file
@@ -0,0 +1,58 @@
|
||||
|
||||
-- Create profiles table
|
||||
create table if not exists profiles (
|
||||
id uuid references auth.users on delete cascade primary key,
|
||||
role text not null default 'user' check (role in ('admin', 'user')),
|
||||
full_name text,
|
||||
created_at timestamp with time zone default timezone('utc'::text, now()) not null
|
||||
);
|
||||
|
||||
-- Enable RLS for profiles
|
||||
alter table profiles enable row level security;
|
||||
|
||||
-- Policies for profiles
|
||||
create policy "Public profiles are viewable by everyone."
|
||||
on profiles for select
|
||||
using ( true );
|
||||
|
||||
create policy "Users can insert their own profile."
|
||||
on profiles for insert
|
||||
with check ( auth.uid() = id );
|
||||
|
||||
create policy "Users can update own profile."
|
||||
on profiles for update
|
||||
using ( auth.uid() = id );
|
||||
|
||||
-- Create site_settings table
|
||||
create table if not exists site_settings (
|
||||
id bigint primary key generated always as identity,
|
||||
site_title text not null default 'ParaKasa',
|
||||
site_description text,
|
||||
contact_email text,
|
||||
contact_phone text,
|
||||
logo_url text,
|
||||
currency text default 'TRY',
|
||||
updated_at timestamp with time zone default timezone('utc'::text, now()) not null
|
||||
);
|
||||
|
||||
-- Enable RLS for site_settings
|
||||
alter table site_settings enable row level security;
|
||||
|
||||
-- Policies for site_settings
|
||||
create policy "Site settings are viewable by everyone."
|
||||
on site_settings for select
|
||||
using ( true );
|
||||
|
||||
create policy "Only admins can update site settings."
|
||||
on site_settings for update
|
||||
using (
|
||||
exists (
|
||||
select 1 from profiles
|
||||
where profiles.id = auth.uid() and profiles.role = 'admin'
|
||||
)
|
||||
);
|
||||
|
||||
-- Initialize default site settings if empty
|
||||
insert into site_settings (site_title, contact_email)
|
||||
select 'ParaKasa', 'info@parakasa.com'
|
||||
where not exists (select 1 from site_settings);
|
||||
Reference in New Issue
Block a user