--
-- acs__add_user/16
--
create or replace function acs__add_user(
integer,
character varying,
timestamp with time zone,
integer,
character varying,
integer,
character varying,
character varying,
character varying,
character varying,
character varying,
character,
character,
character varying,
boolean,
character varying
) returns int4 as $$
declare
p_user_id alias for $1; -- default null
p_object_type alias for $2; -- default 'user'
p_creation_date alias for $3; -- default now()
p_creation_user alias for $4; -- default null
p_creation_ip alias for $5; -- default null
p_authority_id alias for $6; -- defaults to local authority
p_username alias for $7; --
p_email alias for $8;
p_url alias for $9; -- default null
p_first_names alias for $10;
p_last_name alias for $11;
p_password alias for $12;
p_salt alias for $13;
p_screen_name alias for $14; -- default null
p_email_verified_p alias for $15; -- default 't'
p_member_state alias for $16; -- default 'approved'
v_user_id users.user_id%TYPE;
v_rel_id membership_rels.rel_id%TYPE;
begin
v_user_id := acs_user__new (
p_user_id,
p_object_type,
p_creation_date,
p_creation_user,
p_creation_ip,
p_authority_id,
p_username,
p_email,
p_url,
p_first_names,
p_last_name,
p_password,
p_salt,
p_screen_name,
p_email_verified_p,
null -- context_id
);
v_rel_id := membership_rel__new (
null,
'membership_rel',
acs__magic_object_id('registered_users'),
v_user_id,
p_member_state,
null,
null);
PERFORM acs_permission__grant_permission (
v_user_id,
v_user_id,
'read'
);
PERFORM acs_permission__grant_permission (
v_user_id,
v_user_id,
'write'
);
return v_user_id;
end;$$ language plpgsql;