function containerDoRequest( req, callback, args ) { if( callback ) { req.callback( callback ); req.request.args = args; req.send(); return null; } req.send(true); return req.result(); } function containerFetchAll( callback, args ) { var req = new Request( FETCH_CONTAINERS, G.user.session, G.user.id(), 'biblio', 'bookbag' ); return containerDoRequest( req, callback, args ); } function containerFlesh( id, callback, args ) { var req = new Request( FLESH_CONTAINER, G.user.session, 'biblio', id ); return containerDoRequest( req, callback, args ); } function containerDelete( id, callback, args ) { var req = new Request( DELETE_CONTAINER, G.user.session, 'biblio', id ); return containerDoRequest(req, callback, args ); } function containerCreate( name, pub, callback, args ) { var container = new cbreb(); container.btype('bookbag'); container.owner( G.user.id() ); container.name( name ); if(pub) container.pub('t'); else container.pub('f'); var req = new Request( CREATE_CONTAINER, G.user.session, 'biblio', container ); return containerDoRequest( req, callback, args ); } function containerUpdate( container, callback, args ) { var req = new Request(UPDATE_CONTAINER, G.user.session, 'biblio', container); return containerDoRequest(req, callback, args); } function containerCreateItem( containerId, target, callback, args ) { var item = new cbrebi(); item.target_biblio_record_entry(target); item.bucket(containerId); var req = new Request( CREATE_CONTAINER_ITEM, G.user.session, 'biblio', item ); return containerDoRequest( req, callback, args ); } function containerRemoveItem( id, callback, args ) { var req = new Request( DELETE_CONTAINER_ITEM, G.user.session, 'biblio', id ); return containerDoRequest( req, callback, args ); }