--
-- admin_rel__new/2
--
create or replace function admin_rel__new(
  integer,
  integer
) returns int4 as $$

declare
  object_id_one          alias for $1;  
  object_id_two          alias for $2;  
begin
    return membership_rel__new(
        null,                  -- rel_id
        'admin_rel',         -- rel_type
        object_id_one,         -- object_id_one
        object_id_two,         -- object_id_two
        'approved',          -- member_state
        null,                  -- creation_user
        null                   -- creation_ip
    );
end;$$ language plpgsql;


--
-- admin_rel__new/7
--
create or replace function admin_rel__new(
  integer,
  character varying,
  integer,
  integer,
  character varying,
  integer,
  character varying
) returns int4 as $$

declare
  p_rel_id               alias for $1;  -- default null  
  p_rel_type             alias for $2;  -- default 'admin_rel'
  p_object_id_one        alias for $3;  
  p_object_id_two        alias for $4;  
  p_member_state      alias for $5;  -- default 'approved'
  p_creation_user        alias for $6;  -- default null
  p_creation_ip          alias for $7;  -- default null
  v_rel_id               integer;       
begin
    v_rel_id := membership_rel__new (
      p_rel_id,           -- rel_id
      p_rel_type,         -- rel_type
      p_object_id_one,    -- object_id_one
      p_object_id_two,    -- object_id_two
      p_member_state,     -- member_state
      p_creation_user,    -- creation_usre
      p_creation_ip       -- creation_ip
    );

    insert into admin_rels
     (rel_id)
    values
     (v_rel_id);

    return v_rel_id;
   
end;$$ language plpgsql;