--
-- download_rep__new/9
--
create or replace function download_rep__new(
  integer,
  character varying,
  character varying,
  character varying,
  timestamp with time zone,
  integer,
  integer,
  integer,
  character varying
) returns int4 as $$

declare
	new__repository_id			alias for $1;
	new__title					alias for $2;
	new__description			alias for $3;
	new__help_text				alias for $4;  -- default null
	new__creation_date			alias for $5;  -- default now()
	new__creation_user			alias for $6;  -- default null
	new__parent_id				alias for $7;  -- default null
	new__context_id				alias for $8;  -- default null
	new__creation_ip			alias for $9;  -- default null
    v_name						cr_items.name%TYPE;
    v_repository_id				integer;
	v_revision_id				integer;
begin
    v_name := 'download_repository' || new__repository_id;
    select into v_repository_id content_item__new (
		v_name,
		new__parent_id,
		new__repository_id,
		null,					-- locale
		new__creation_date,
		new__creation_user,
		new__context_id,
		new__creation_ip,
		'content_item',		-- item_subtype
		'cr_download_rep',
		new__title,
		new__description,
		'text/plain',			-- mime_type
		null,					-- nls_language
		new__help_text,
		'text'				-- storage_type (vk - not sure about this)
	);

    insert into download_repository
     (repository_id)
    values
     (new__repository_id);

	 -- get the latest revision
	 select into v_revision_id content_item__get_latest_revision (v_repository_id);

	 -- make it live
	 select into v_revision_id content_item__set_live_revision ( v_revision_id );

    return v_repository_id;

end;$$ language plpgsql;