api.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import _converse from '../../shared/_converse.js';
  2. import promise_api from '../../shared/api/promise.js';
  3. const { waitUntil } = promise_api;
  4. /**
  5. * Groups methods relevant to XEP-0402 (and XEP-0048) MUC bookmarks.
  6. * @namespace api.bookmarks
  7. * @memberOf api
  8. */
  9. const bookmarks = {
  10. /**
  11. * Calling this function will result in an IQ stanza being sent out to set
  12. * the bookmark on the server.
  13. *
  14. * @method api.bookmarks.set
  15. * @param {import('./types').BookmarkAttrs} attrs - The room attributes
  16. * @param {boolean} create=true - Whether the bookmark should be created if it doesn't exist
  17. * @returns {Promise<import('./model').default>}
  18. */
  19. async set(attrs, create = true) {
  20. const bookmarks = await waitUntil('bookmarksInitialized');
  21. return bookmarks.setBookmark(attrs, create);
  22. },
  23. /**
  24. * @method api.bookmarks.get
  25. * @param {string} jid - The JID of the bookmark to return.
  26. * @returns {Promise<import('./model').default>}
  27. */
  28. async get(jid) {
  29. const bookmarks = await waitUntil('bookmarksInitialized');
  30. return bookmarks.get(jid);
  31. },
  32. };
  33. const bookmarks_api = { bookmarks };
  34. export default bookmarks_api;