mirror of
https://github.com/D4M13N-D3V/neroshitron.git
synced 2025-03-14 10:05:04 +00:00
49 lines
1.2 KiB
MySQL
49 lines
1.2 KiB
MySQL
|
create table profiles (
|
||
|
id uuid references auth.users not null,
|
||
|
updated_at timestamp with time zone,
|
||
|
username text unique,
|
||
|
avatar_url text,
|
||
|
website text,
|
||
|
|
||
|
primary key (id),
|
||
|
unique(username),
|
||
|
constraint username_length check (char_length(username) >= 3)
|
||
|
);
|
||
|
|
||
|
alter table profiles enable row level security;
|
||
|
|
||
|
create policy "Public profiles are viewable by the owner."
|
||
|
on profiles for select
|
||
|
using ( auth.uid() = id );
|
||
|
|
||
|
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 );
|
||
|
|
||
|
-- Set up Realtime
|
||
|
begin;
|
||
|
drop publication if exists supabase_realtime;
|
||
|
create publication supabase_realtime;
|
||
|
commit;
|
||
|
alter publication supabase_realtime add table profiles;
|
||
|
|
||
|
-- Set up Storage
|
||
|
insert into storage.buckets (id, name)
|
||
|
values ('avatars', 'avatars');
|
||
|
|
||
|
create policy "Avatar images are publicly accessible."
|
||
|
on storage.objects for select
|
||
|
using ( bucket_id = 'avatars' );
|
||
|
|
||
|
create policy "Anyone can upload an avatar."
|
||
|
on storage.objects for insert
|
||
|
with check ( bucket_id = 'avatars' );
|
||
|
|
||
|
create policy "Anyone can update an avatar."
|
||
|
on storage.objects for update
|
||
|
with check ( bucket_id = 'avatars' );
|