UNPKG

@webex/common

Version:

Common utilities for Cisco Webex

76 lines (72 loc) 3.09 kB
"use strict"; var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property"); var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault"); _Object$defineProperty(exports, "__esModule", { value: true }); exports.createEventEnvelope = createEventEnvelope; exports.ensureMyIdIsAvailable = ensureMyIdIsAvailable; var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator")); var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise")); var _constants = require("./constants"); /*! * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file. */ /** * Creates a 'webhook' envelope to wrap Webex events in * @param {object} webex - sdk object * @param {string} resource - resource to create an envelope for * @returns {object} - Returns a promise of an event envelope object */ function createEventEnvelope(webex, resource) { return ensureMyIdIsAvailable(webex).then(function () { return _promise.default.resolve({ createdBy: webex.internal.me.id, orgId: webex.internal.me.orgId, resource: resource, // id -- webhook id concept does not correlate to SDK socket event // name -- webhook name concept does not correlate to SDK socket event // targetUrl -- targetUrl concept does not correlate to SDK socket event // secret -- secret concept does not correlate to SDK socket event ownedBy: _constants.SDK_EVENT.EXTERNAL.OWNER.CREATOR, status: _constants.SDK_EVENT.EXTERNAL.STATUS.ACTIVE, created: new Date().toISOString(), data: {} }); }).catch(function (e) { _promise.default.reject(new Error("Unable to get person info for ".concat(resource, " event envelope: ").concat(e.message))); }); } /** * Stores SDK users info in the sdk object if it doesn't already exist * @param {object} webex - sdk object * @returns {Promise} - Returns a promise that user info will be available */ function ensureMyIdIsAvailable(_x) { return _ensureMyIdIsAvailable.apply(this, arguments); } function _ensureMyIdIsAvailable() { _ensureMyIdIsAvailable = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(webex) { return _regenerator.default.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: if (!('me' in webex.internal)) { _context.next = 2; break; } return _context.abrupt("return", _promise.default.resolve()); case 2: return _context.abrupt("return", webex.people.get('me').then(function (person) { webex.internal.me = person; return _promise.default.resolve(); })); case 3: case "end": return _context.stop(); } }, _callee); })); return _ensureMyIdIsAvailable.apply(this, arguments); } //# sourceMappingURL=event-envelope.js.map