-- P/pgLSQL packages for the authentication datamodel -- -- @author Peter Marklund -- @creation-date 2003-08-21 -- added select define_function_args('authority__new','authority_id;null,object_type;authority,short_name,pretty_name,enabled_p;t,sort_order,auth_impl_id;null,pwd_impl_id;null,forgotten_pwd_url;null,change_pwd_url;null,register_impl_id;null,register_url;null,help_contact_text;null,creation_user;null,creation_ip;null,context_id;null'); -- -- procedure authority__new/16 -- CREATE OR REPLACE FUNCTION authority__new( p_authority_id integer, -- default null, p_object_type varchar, -- default 'authority' p_short_name varchar, p_pretty_name varchar, p_enabled_p boolean, -- default 't' p_sort_order integer, p_auth_impl_id integer, -- default null p_pwd_impl_id integer, -- default null p_forgotten_pwd_url varchar, -- default null p_change_pwd_url varchar, -- default null p_register_impl_id integer, -- default null p_register_url varchar, -- default null p_help_contact_text varchar, -- default null, p_creation_user integer, -- default null p_creation_ip varchar, -- default null p_context_id integer -- default null ) RETURNS integer AS $$ DECLARE v_authority_id integer; v_object_type varchar; v_sort_order integer; BEGIN if p_object_type is null then v_object_type := 'authority'; else v_object_type := p_object_type; end if; if p_sort_order is null then select into v_sort_order max(sort_order) + 1 from auth_authorities; else v_sort_order := p_sort_order; end if; -- Instantiate the ACS Object super type with auditing info v_authority_id := acs_object__new( p_authority_id, v_object_type, now(), p_creation_user, p_creation_ip, p_context_id, 't', p_short_name, null ); insert into auth_authorities (authority_id, short_name, pretty_name, enabled_p, sort_order, auth_impl_id, pwd_impl_id, forgotten_pwd_url, change_pwd_url, register_impl_id, help_contact_text) values (v_authority_id, p_short_name, p_pretty_name, p_enabled_p, v_sort_order, p_auth_impl_id, p_pwd_impl_id, p_forgotten_pwd_url, p_change_pwd_url, p_register_impl_id, p_help_contact_text); return v_authority_id; END; $$ LANGUAGE plpgsql; -- added select define_function_args('authority__del','authority_id'); -- -- procedure authority__del/1 -- CREATE OR REPLACE FUNCTION authority__del( p_authority_id integer ) RETURNS integer AS $$ DECLARE BEGIN perform acs_object__delete(p_authority_id); return 0; END; $$ LANGUAGE plpgsql;