mirror of https://github.com/artifacthub/hub.git
21 lines
535 B
SQL
21 lines
535 B
SQL
-- register_session registers the provided session in the database.
|
|
create or replace function register_session(p_session jsonb)
|
|
returns bytea as $$
|
|
declare
|
|
v_session_id bytea := gen_random_bytes(32);
|
|
begin
|
|
insert into session (
|
|
session_id,
|
|
user_id,
|
|
ip,
|
|
user_agent
|
|
) values (
|
|
sha512(v_session_id),
|
|
(p_session->>'user_id')::uuid,
|
|
nullif(p_session->>'ip', '')::inet,
|
|
nullif(p_session->>'user_agent', '')
|
|
);
|
|
return v_session_id;
|
|
end
|
|
$$ language plpgsql;
|