-- -- 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;