fix: acting_usr fns
All checks were successful
gen-migrations / gen-migrations (push) Successful in 19s
All checks were successful
gen-migrations / gen-migrations (push) Successful in 19s
This commit is contained in:
parent
27a69a5482
commit
aad2e076fe
@ -4,7 +4,19 @@ create function public.set_acting_usr(uid text)
|
||||
volatile
|
||||
as $$
|
||||
begin
|
||||
set session "dnim.usr_uid" = uid;
|
||||
if uid is not null and uid != '' then
|
||||
perform set_config('dnim.usr_uid', uid, false);
|
||||
end if;
|
||||
end;
|
||||
$$;
|
||||
|
||||
create function public.unset_acting_usr()
|
||||
returns void
|
||||
language plpgsql
|
||||
volatile
|
||||
as $$
|
||||
begin
|
||||
perform set_config('dnim.usr_uid', '', false);
|
||||
end;
|
||||
$$;
|
||||
|
||||
@ -14,18 +26,17 @@ create function public.get_acting_usr()
|
||||
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();
|
||||
else
|
||||
else
|
||||
select u.*
|
||||
from public.usr u
|
||||
where u.uid = human_uuid.huid_of_string(current_setting('dnim.usr_uid', true))
|
||||
into acting_usr;
|
||||
end if;
|
||||
|
||||
return acting_usr;
|
||||
return coalesce(acting_usr, public.usr_root());
|
||||
end;
|
||||
$$;
|
||||
|
Loading…
Reference in New Issue
Block a user