db/schema/0101_acting_usr.sql

32 lines
596 B
MySQL
Raw Normal View History

2023-07-14 22:13:34 +00:00
create function public.set_acting_usr(uid text)
returns void
language plpgsql
volatile
as $$
begin
set session "dnim.usr_uid" = uid;
end;
$$;
create function public.get_acting_usr()
returns public.usr
language plpgsql
volatile
as $$
declare
uid text;
acting_usr public.usr;
begin
if nullif(current_setting('dnim.usr_uid', true), '') is null then
acting_usr := public.usr_root();
2023-07-14 22:13:34 +00:00
else
select u.*
from public.usr u
2023-07-16 02:03:16 +00:00
where u.uid = human_uuid.huid_of_string(current_setting('dnim.usr_uid', true))
2023-07-14 22:13:34 +00:00
into acting_usr;
end if;
return acting_usr;
end;
$$;