Files
Jyotisha/frontend/db/migrations/20260714000000_local_auth_compatibility.sql
2026-07-22 11:04:36 +08:00

44 lines
1.4 KiB
PL/PgSQL

create schema if not exists auth authorization schema_owner;
grant usage on schema public to anon, authenticated, service_role;
grant usage on schema auth to anon, authenticated, service_role;
revoke all on schema auth from public;
create table if not exists auth.users (
id uuid primary key,
email text not null,
raw_user_meta_data jsonb not null default '{}'::jsonb,
email_confirmed_at timestamptz,
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
create unique index if not exists auth_users_email_canonical_key
on auth.users (lower(btrim(email)));
create or replace function auth.uid()
returns uuid
language sql
stable
as $$
select nullif(current_setting('request.jwt.claim.sub', true), '')::uuid
$$;
create or replace function auth.jwt()
returns jsonb
language sql
stable
as $$
select jsonb_build_object(
'sub', nullif(current_setting('request.jwt.claim.sub', true), ''),
'email', nullif(current_setting('request.jwt.claim.email', true), '')
)
$$;
revoke all on table auth.users from public, anon, authenticated, service_role;
grant select, insert, update, delete on table auth.users to service_role;
revoke all on function auth.uid() from public, anon;
revoke all on function auth.jwt() from public, anon;
grant execute on function auth.uid() to authenticated, service_role;
grant execute on function auth.jwt() to authenticated, service_role;