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