Files
dc-project/resources/functions/user/insert_user.sql
Fabrice Lecomte ce2f2b4f2a feature #4: create function for article
implement generate_version_number()
2019-07-27 01:19:25 +02:00

18 lines
526 B
PL/PgSQL

create or replace procedure insert_user(inout resource json) language plpgsql as
$$
declare
new_id uuid;
begin
insert into "user" (username, password, blocked_at)
select
username,
crypt(resource->>'plain_password', gen_salt('bf', 8)),
case when blocked_at is not null then now() else null end
from json_populate_record(null::"user", resource)
returning id into new_id;
select find_user_by_id(new_id) into resource;
end;
$$;
-- drop procedure if exists insert_user(inout json);