--
-- bookmark__new_root_folder/2
--
create or replace function bookmark__new_root_folder(
  p_package_id integer,
  p_user_id integer
) returns int4 as $$

DECLARE
    v_folder_id    bm_bookmarks.bookmark_id%TYPE;
    v_bookmark_id   bm_bookmarks.bookmark_id%TYPE;
    v_email        parties.email%TYPE;
    v_local_title    bm_bookmarks.local_title%TYPE;

BEGIN
    SELECT nextval('t_acs_object_id_seq') INTO v_bookmark_id FROM dual;

    SELECT email INTO v_email
    FROM parties where party_id = p_user_id;

    v_local_title := ' Bookmarks Root Folder of ' || v_email;
    v_folder_id := bookmark__new (
            v_bookmark_id,
            p_user_id,
            null,
            v_local_title,
            't',
            p_package_id,
            null,
            null,
            null,
            null);

            -- bookmark_id => v_bookmark_id,
            -- owner_id    => p_user_id,
            -- folder_p => t,
            -- local_title => Bookmarks Root Folder of || v_email,
            -- parent_id   => new_root_folder.package_id

    -- set up default permissions
    -- The owner may administer the bookmarks
    -- Any other permissions will be inherited from the next higher
    -- package instance in the site hierarchy
    PERFORM acs_permission__grant_permission (
        v_folder_id,
        p_user_id,
        'admin');

        -- object_id => v_folder_id,
        -- grantee_id => new_root_folder.user_id,
        -- privilege => admin

    RETURN v_folder_id;

END;
$$ language plpgsql;