@webex/internal-plugin-lyra 3.0.0-beta.13 → 3.0.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,14 +21,12 @@ npm install --save @webex/internal-plugin-lyra
21
21
  ## Usage
22
22
 
23
23
  ```js
24
-
25
24
  import '@webex/internal-plugin-lyra';
26
25
 
27
26
  import WebexCore from '@webex/webex-core';
28
27
 
29
28
  const webex = new WebexCore();
30
- webex.internal.lyra.WHATEVER
31
-
29
+ webex.internal.lyra.WHATEVER;
32
30
  ```
33
31
 
34
32
  ## Maintainers
@@ -1 +1 @@
1
- {"version":3,"names":["lyra"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n lyra: {\n }\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;eAEe;EACbA,IAAI,EAAE;AADO,C"}
1
+ {"version":3,"names":["lyra"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n lyra: {},\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;eAEe;EACbA,IAAI,EAAE;AADO,C"}
package/dist/device.js CHANGED
@@ -139,7 +139,7 @@ var Device = _webexCore.WebexPlugin.extend({
139
139
  }
140
140
  });
141
141
  },
142
- version: "3.0.0-beta.13"
142
+ version: "3.0.0-beta.15"
143
143
  });
144
144
 
145
145
  var _default = Device;
@@ -1 +1 @@
1
- {"version":3,"names":["Device","WebexPlugin","extend","namespace","getAudioState","space","webex","request","method","uri","url","then","res","body","putAudioState","audioState","deviceUrl","reject","Error","mute","unmute","increaseVolume","decreaseVolume","setVolume","level"],"sources":["device.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\n/**\n * @class\n * @extends {Lyra}\n * @memberof Lyra\n */\nconst Device = WebexPlugin.extend({\n namespace: 'Lyra',\n\n /**\n * Gets the audio state of the device\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise<LyraAudioState>} {volume, microphones, url}\n */\n getAudioState(space) {\n return this.webex.request({\n method: 'GET',\n uri: `${space.url}/audio`\n })\n .then((res) => res.body);\n },\n\n /**\n * Updates audio state for lyra device, should be called every 10 minutes or\n * when mic or volume state is changed\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {Types~LyraAudioState} audioState\n * @param {object} audioState.volume optional\n * @param {boolean} audioState.volume.level\n * @param {object} audioState.microphones optional\n * @param {boolean} audioState.microphones.muted\n * @param {string} audioState.deviceUrl\n * @returns {Promise}\n */\n putAudioState(space, audioState = {}) {\n if (!audioState.deviceUrl) {\n return Promise.reject(new Error('audioState.deviceUrl is required'));\n }\n\n return this.webex.request({\n method: 'PUT',\n uri: `${space.url}/audio`,\n body: audioState\n })\n .then((res) => res.body);\n },\n\n /**\n * Mutes lyra device\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n mute(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/microphones/actions/mute/invoke`\n });\n },\n\n /**\n * Unmutes lyra device\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n unmute(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/microphones/actions/un-mute/invoke`\n });\n },\n\n /**\n * Increases lyra device's volume\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n increaseVolume(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/volume/actions/increase/invoke`\n });\n },\n\n /**\n * Decreases lyra device's volume\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n decreaseVolume(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/volume/actions/decrease/invoke`\n });\n },\n\n /**\n * Sets lyra device's volume but should use increase and decrease api instead\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {integer} level to be set\n * @returns {Promise}\n */\n setVolume(space, level = 0) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/volume/actions/set/invoke`,\n body: {\n level\n }\n });\n }\n\n});\n\nexport default Device;\n"],"mappings":";;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA,IAAMA,MAAM,GAAGC,sBAAA,CAAYC,MAAZ,CAAmB;EAChCC,SAAS,EAAE,MADqB;;EAGhC;AACF;AACA;AACA;AACA;AACA;EACEC,aATgC,yBASlBC,KATkB,EASX;IACnB,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,KADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,EAIJC,IAJI,CAIC,UAACC,GAAD;MAAA,OAASA,GAAG,CAACC,IAAb;IAAA,CAJD,CAAP;EAKD,CAf+B;;EAiBhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,aA9BgC,yBA8BlBT,KA9BkB,EA8BM;IAAA,IAAjBU,UAAiB,uEAAJ,EAAI;;IACpC,IAAI,CAACA,UAAU,CAACC,SAAhB,EAA2B;MACzB,OAAO,iBAAQC,MAAR,CAAe,IAAIC,KAAJ,CAAU,kCAAV,CAAf,CAAP;IACD;;IAED,OAAO,KAAKZ,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,KADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX,WAFqB;MAGxBG,IAAI,EAAEE;IAHkB,CAAnB,EAKJJ,IALI,CAKC,UAACC,GAAD;MAAA,OAASA,GAAG,CAACC,IAAb;IAAA,CALD,CAAP;EAMD,CAzC+B;;EA2ChC;AACF;AACA;AACA;AACA;AACA;EACEM,IAjDgC,gBAiD3Bd,KAjD2B,EAiDpB;IACV,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CAtD+B;;EAwDhC;AACF;AACA;AACA;AACA;AACA;EACEU,MA9DgC,kBA8DzBf,KA9DyB,EA8DlB;IACZ,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CAnE+B;;EAqEhC;AACF;AACA;AACA;AACA;AACA;EACEW,cA3EgC,0BA2EjBhB,KA3EiB,EA2EV;IACpB,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CAhF+B;;EAkFhC;AACF;AACA;AACA;AACA;AACA;EACEY,cAxFgC,0BAwFjBjB,KAxFiB,EAwFV;IACpB,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CA7F+B;;EA+FhC;AACF;AACA;AACA;AACA;AACA;AACA;EACEa,SAtGgC,qBAsGtBlB,KAtGsB,EAsGJ;IAAA,IAAXmB,KAAW,uEAAH,CAAG;IAC1B,OAAO,KAAKlB,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX,qCAFqB;MAGxBG,IAAI,EAAE;QACJW,KAAK,EAALA;MADI;IAHkB,CAAnB,CAAP;EAOD,CA9G+B;EAAA;AAAA,CAAnB,CAAf;;eAkHexB,M"}
1
+ {"version":3,"names":["Device","WebexPlugin","extend","namespace","getAudioState","space","webex","request","method","uri","url","then","res","body","putAudioState","audioState","deviceUrl","reject","Error","mute","unmute","increaseVolume","decreaseVolume","setVolume","level"],"sources":["device.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\n/**\n * @class\n * @extends {Lyra}\n * @memberof Lyra\n */\nconst Device = WebexPlugin.extend({\n namespace: 'Lyra',\n\n /**\n * Gets the audio state of the device\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise<LyraAudioState>} {volume, microphones, url}\n */\n getAudioState(space) {\n return this.webex\n .request({\n method: 'GET',\n uri: `${space.url}/audio`,\n })\n .then((res) => res.body);\n },\n\n /**\n * Updates audio state for lyra device, should be called every 10 minutes or\n * when mic or volume state is changed\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {Types~LyraAudioState} audioState\n * @param {object} audioState.volume optional\n * @param {boolean} audioState.volume.level\n * @param {object} audioState.microphones optional\n * @param {boolean} audioState.microphones.muted\n * @param {string} audioState.deviceUrl\n * @returns {Promise}\n */\n putAudioState(space, audioState = {}) {\n if (!audioState.deviceUrl) {\n return Promise.reject(new Error('audioState.deviceUrl is required'));\n }\n\n return this.webex\n .request({\n method: 'PUT',\n uri: `${space.url}/audio`,\n body: audioState,\n })\n .then((res) => res.body);\n },\n\n /**\n * Mutes lyra device\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n mute(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/microphones/actions/mute/invoke`,\n });\n },\n\n /**\n * Unmutes lyra device\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n unmute(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/microphones/actions/un-mute/invoke`,\n });\n },\n\n /**\n * Increases lyra device's volume\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n increaseVolume(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/volume/actions/increase/invoke`,\n });\n },\n\n /**\n * Decreases lyra device's volume\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise}\n */\n decreaseVolume(space) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/volume/actions/decrease/invoke`,\n });\n },\n\n /**\n * Sets lyra device's volume but should use increase and decrease api instead\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {integer} level to be set\n * @returns {Promise}\n */\n setVolume(space, level = 0) {\n return this.webex.request({\n method: 'POST',\n uri: `${space.url}/audio/volume/actions/set/invoke`,\n body: {\n level,\n },\n });\n },\n});\n\nexport default Device;\n"],"mappings":";;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA,IAAMA,MAAM,GAAGC,sBAAA,CAAYC,MAAZ,CAAmB;EAChCC,SAAS,EAAE,MADqB;;EAGhC;AACF;AACA;AACA;AACA;AACA;EACEC,aATgC,yBASlBC,KATkB,EASX;IACnB,OAAO,KAAKC,KAAL,CACJC,OADI,CACI;MACPC,MAAM,EAAE,KADD;MAEPC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFI,CADJ,EAKJC,IALI,CAKC,UAACC,GAAD;MAAA,OAASA,GAAG,CAACC,IAAb;IAAA,CALD,CAAP;EAMD,CAhB+B;;EAkBhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,aA/BgC,yBA+BlBT,KA/BkB,EA+BM;IAAA,IAAjBU,UAAiB,uEAAJ,EAAI;;IACpC,IAAI,CAACA,UAAU,CAACC,SAAhB,EAA2B;MACzB,OAAO,iBAAQC,MAAR,CAAe,IAAIC,KAAJ,CAAU,kCAAV,CAAf,CAAP;IACD;;IAED,OAAO,KAAKZ,KAAL,CACJC,OADI,CACI;MACPC,MAAM,EAAE,KADD;MAEPC,GAAG,YAAKJ,KAAK,CAACK,GAAX,WAFI;MAGPG,IAAI,EAAEE;IAHC,CADJ,EAMJJ,IANI,CAMC,UAACC,GAAD;MAAA,OAASA,GAAG,CAACC,IAAb;IAAA,CAND,CAAP;EAOD,CA3C+B;;EA6ChC;AACF;AACA;AACA;AACA;AACA;EACEM,IAnDgC,gBAmD3Bd,KAnD2B,EAmDpB;IACV,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CAxD+B;;EA0DhC;AACF;AACA;AACA;AACA;AACA;EACEU,MAhEgC,kBAgEzBf,KAhEyB,EAgElB;IACZ,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CArE+B;;EAuEhC;AACF;AACA;AACA;AACA;AACA;EACEW,cA7EgC,0BA6EjBhB,KA7EiB,EA6EV;IACpB,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CAlF+B;;EAoFhC;AACF;AACA;AACA;AACA;AACA;EACEY,cA1FgC,0BA0FjBjB,KA1FiB,EA0FV;IACpB,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX;IAFqB,CAAnB,CAAP;EAID,CA/F+B;;EAiGhC;AACF;AACA;AACA;AACA;AACA;AACA;EACEa,SAxGgC,qBAwGtBlB,KAxGsB,EAwGJ;IAAA,IAAXmB,KAAW,uEAAH,CAAG;IAC1B,OAAO,KAAKlB,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,MADgB;MAExBC,GAAG,YAAKJ,KAAK,CAACK,GAAX,qCAFqB;MAGxBG,IAAI,EAAE;QACJW,KAAK,EAALA;MADI;IAHkB,CAAnB,CAAP;EAOD,CAhH+B;EAAA;AAAA,CAAnB,CAAf;;eAmHexB,M"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Lyra","config"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-mercury';\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-feature';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Lyra from './lyra';\nimport config from './config';\n\nregisterInternalPlugin('lyra', Lyra, {\n config\n});\n\nexport {default} from './lyra';\nexport {config};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAZA;AACA;AACA;AAYA,IAAAA,iCAAA,EAAuB,MAAvB,EAA+BC,aAA/B,EAAqC;EACnCC,MAAM,EAANA;AADmC,CAArC"}
1
+ {"version":3,"names":["registerInternalPlugin","Lyra","config"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-mercury';\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-feature';\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport Lyra from './lyra';\nimport config from './config';\n\nregisterInternalPlugin('lyra', Lyra, {\n config,\n});\n\nexport {default} from './lyra';\nexport {config};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AAZA;AACA;AACA;AAYA,IAAAA,iCAAA,EAAuB,MAAvB,EAA+BC,aAA/B,EAAqC;EACnCC,MAAM,EAANA;AADmC,CAArC"}
package/dist/lyra.js CHANGED
@@ -60,7 +60,7 @@ var Lyra = _webexCore.WebexPlugin.extend({
60
60
  return res.body;
61
61
  });
62
62
  },
63
- version: "3.0.0-beta.13"
63
+ version: "3.0.0-beta.15"
64
64
  });
65
65
 
66
66
  var _default = Lyra;
package/dist/lyra.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Lyra","WebexPlugin","extend","namespace","children","space","Space","device","Device","getAdvertisedEndpoint","token","webex","request","method","api","resource","qs","then","res","body"],"sources":["lyra.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport Space from './space';\nimport Device from './device';\n\nconst Lyra = WebexPlugin.extend({\n /**\n * @typedef {Object} Endpoint\n * @property {Object} advertiser\n * @property {string} advertiser.id\n * @property {string} advertiser.displayName\n * @property {string} advertiser.orgId\n * @property {Object} links\n * @property {Object} links.addMeToSpace\n * @property {string} links.addMeToSpace.href\n * @property {string} links.addMeToSpace.method\n * @property {Object} links.lyra_space\n * @property {string} links.lyra_space.href\n * @property {string} links.lyra_space.method\n * @property {string} proof\n * @property {Object} token\n * @property {string} token.value\n */\n namespace: 'Lyra',\n children: {\n space: Space,\n device: Device\n },\n\n /**\n * Get the endpoint information\n * @param {string} token - ultrasound token decoded\n * @returns {Promise<Endpoint>}\n */\n getAdvertisedEndpoint(token) {\n return this.webex.request({\n method: 'GET',\n api: 'proximity',\n resource: '/ultrasound/advertisements',\n qs: {\n token\n }\n })\n .then((res) => res.body);\n }\n});\n\n\nexport default Lyra;\n"],"mappings":";;;;;;;;;;;;AAIA;;AAEA;;AACA;;AAPA;AACA;AACA;AAOA,IAAMA,IAAI,GAAGC,sBAAA,CAAYC,MAAZ,CAAmB;EAC9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,SAAS,EAAE,MAlBmB;EAmB9BC,QAAQ,EAAE;IACRC,KAAK,EAAEC,cADC;IAERC,MAAM,EAAEC;EAFA,CAnBoB;;EAwB9B;AACF;AACA;AACA;AACA;EACEC,qBA7B8B,iCA6BRC,KA7BQ,EA6BD;IAC3B,OAAO,KAAKC,KAAL,CAAWC,OAAX,CAAmB;MACxBC,MAAM,EAAE,KADgB;MAExBC,GAAG,EAAE,WAFmB;MAGxBC,QAAQ,EAAE,4BAHc;MAIxBC,EAAE,EAAE;QACFN,KAAK,EAALA;MADE;IAJoB,CAAnB,EAQJO,IARI,CAQC,UAACC,GAAD;MAAA,OAASA,GAAG,CAACC,IAAb;IAAA,CARD,CAAP;EASD,CAvC6B;EAAA;AAAA,CAAnB,CAAb;;eA2CenB,I"}
1
+ {"version":3,"names":["Lyra","WebexPlugin","extend","namespace","children","space","Space","device","Device","getAdvertisedEndpoint","token","webex","request","method","api","resource","qs","then","res","body"],"sources":["lyra.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport Space from './space';\nimport Device from './device';\n\nconst Lyra = WebexPlugin.extend({\n /**\n * @typedef {Object} Endpoint\n * @property {Object} advertiser\n * @property {string} advertiser.id\n * @property {string} advertiser.displayName\n * @property {string} advertiser.orgId\n * @property {Object} links\n * @property {Object} links.addMeToSpace\n * @property {string} links.addMeToSpace.href\n * @property {string} links.addMeToSpace.method\n * @property {Object} links.lyra_space\n * @property {string} links.lyra_space.href\n * @property {string} links.lyra_space.method\n * @property {string} proof\n * @property {Object} token\n * @property {string} token.value\n */\n namespace: 'Lyra',\n children: {\n space: Space,\n device: Device,\n },\n\n /**\n * Get the endpoint information\n * @param {string} token - ultrasound token decoded\n * @returns {Promise<Endpoint>}\n */\n getAdvertisedEndpoint(token) {\n return this.webex\n .request({\n method: 'GET',\n api: 'proximity',\n resource: '/ultrasound/advertisements',\n qs: {\n token,\n },\n })\n .then((res) => res.body);\n },\n});\n\nexport default Lyra;\n"],"mappings":";;;;;;;;;;;;AAIA;;AAEA;;AACA;;AAPA;AACA;AACA;AAOA,IAAMA,IAAI,GAAGC,sBAAA,CAAYC,MAAZ,CAAmB;EAC9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,SAAS,EAAE,MAlBmB;EAmB9BC,QAAQ,EAAE;IACRC,KAAK,EAAEC,cADC;IAERC,MAAM,EAAEC;EAFA,CAnBoB;;EAwB9B;AACF;AACA;AACA;AACA;EACEC,qBA7B8B,iCA6BRC,KA7BQ,EA6BD;IAC3B,OAAO,KAAKC,KAAL,CACJC,OADI,CACI;MACPC,MAAM,EAAE,KADD;MAEPC,GAAG,EAAE,WAFE;MAGPC,QAAQ,EAAE,4BAHH;MAIPC,EAAE,EAAE;QACFN,KAAK,EAALA;MADE;IAJG,CADJ,EASJO,IATI,CASC,UAACC,GAAD;MAAA,OAASA,GAAG,CAACC,IAAb;IAAA,CATD,CAAP;EAUD,CAxC6B;EAAA;AAAA,CAAnB,CAAb;;eA2CenB,I"}
package/dist/space.js CHANGED
@@ -1,5 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
+
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
+
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
+
11
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
+
3
13
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
14
 
5
15
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
@@ -10,9 +20,9 @@ _Object$defineProperty(exports, "__esModule", {
10
20
 
11
21
  exports.default = void 0;
12
22
 
13
- var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
23
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
14
24
 
15
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
25
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
26
 
17
27
  var _querystring = _interopRequireDefault(require("querystring"));
18
28
 
@@ -20,9 +30,9 @@ var _webexCore = require("@webex/webex-core");
20
30
 
21
31
  var _common = require("@webex/common");
22
32
 
23
- /*!
24
- * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
25
- */
33
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
+
35
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
26
36
 
27
37
  /**
28
38
  * @class
@@ -82,7 +92,7 @@ var Space = _webexCore.WebexPlugin.extend({
82
92
  * @returns {Promise}
83
93
  */
84
94
  join: function join(space, options) {
85
- options = (0, _assign.default)({
95
+ options = _objectSpread({
86
96
  passType: 'MANUAL'
87
97
  }, options);
88
98
  var body = {
@@ -388,7 +398,7 @@ var Space = _webexCore.WebexPlugin.extend({
388
398
  });
389
399
  });
390
400
  },
391
- version: "3.0.0-beta.13"
401
+ version: "3.0.0-beta.15"
392
402
  });
393
403
 
394
404
  var _default = Space;
package/dist/space.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Space","WebexPlugin","extend","namespace","list","webex","request","method","api","resource","then","res","body","items","get","space","spaceId","id","identity","reject","Error","join","options","passType","pass","type","deviceUrl","internal","device","url","data","verificationInitiation","uri","leave","removeAllDevices","params","base64","toBase64Url","querystring","stringify","verifyOccupant","occupantId","getCurrentBindings","bindConversation","conversation","kmsResourceObjectUrl","kmsMessage","resourceUri","userIds","conversationUrl","_bindConversation","resolve","encodedDeviceUrl","encode","bindingCleanupAfterCall","unbindConversation","parameters","authId","encryption","kms","prepareRequest","req","wrapped","deleteBinding","bindingId"],"sources":["space.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport querystring from 'querystring';\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {base64} from '@webex/common';\n\n/**\n * @class\n * @extends {Lyra}\n * @memberof Lyra\n */\nconst Space = WebexPlugin.extend({\n namespace: 'Lyra',\n\n /**\n * Lists lyra spaces associated with user\n *\n * @returns {Promise<Array>} spaces\n */\n list() {\n return this.webex.request({\n method: 'GET',\n api: 'lyra',\n resource: '/spaces'\n })\n .then((res) => res.body.items);\n },\n\n /**\n * Retrieves a lyra space info\n * @param {Types~LyraSpace} space\n * @param {string} space.id\n * @param {string} space.identity.id\n * @returns {Promise<LyraSpace>} response body\n */\n get(space = {}) {\n const spaceId = space.id || space.identity && space.identity.id;\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n return this.webex.request({\n method: 'GET',\n api: 'lyra',\n resource: `/spaces/${spaceId}`\n })\n .then((res) => res.body);\n },\n\n /**\n * Joins a lyra space, update every 10 minutes to keep alive for MANUAL\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {object} options\n * @param {string} options.passType\n * @param {string} options.data additional data such as proof for ultrasound\n * @param {string} options.uri use a custom uri\n * @returns {Promise}\n */\n join(space, options) {\n options = Object.assign({\n passType: 'MANUAL'\n }, options);\n\n const body = {\n pass: {\n type: options.passType\n },\n deviceUrl: this.webex.internal.device.url\n };\n\n if (options.data) {\n body.pass.data = options.data;\n }\n\n if (options.verificationInitiation) {\n body.verificationInitiation = options.verificationInitiation;\n }\n\n // if options.uri is available use it, since that would have the\n // complete lyra service URL\n if (options.uri) {\n return this.webex.request({\n method: 'PUT',\n uri: options.uri,\n body\n });\n }\n\n return this.webex.request({\n method: 'PUT',\n api: 'lyra',\n resource: `${space.url}/occupants/@me`,\n body\n });\n },\n\n /**\n * Leaves a lyra space\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {object} options\n * @param {boolean} options.removeAllDevices remove all devices of current user also\n * @returns {Promise}\n */\n leave(space, options = {}) {\n // all devices are removed by default (when deviceUrl is not supplied)\n let uri = `${space.url}/occupants/@me`;\n\n if (!options.removeAllDevices) {\n const params = {\n deviceUrl: base64.toBase64Url(this.webex.internal.device.url)\n };\n\n uri += `?${querystring.stringify(params)}`;\n }\n\n return this.webex.request({\n method: 'DELETE',\n api: 'lyra',\n resource: uri\n });\n },\n\n /**\n * Verifies a space occupant (to be used by the lyra device)\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} occupantId id of user to verify\n * @returns {Promise}\n */\n verifyOccupant(space, occupantId) {\n const body = {\n pass: {\n type: 'VERIFICATION'\n }\n };\n\n return this.webex.request({\n method: 'PUT',\n uri: `${space.url}/occupants/${occupantId}`,\n body\n });\n },\n\n\n /**\n * Gets the state of bindings in this Lyra space\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise<LyraBindings>} bindings response body\n */\n getCurrentBindings(space) {\n return this.webex.request({\n method: 'GET',\n uri: `${space.url}/bindings`\n })\n .then((res) => res.body);\n },\n\n /**\n * Binds a conversation to lyra space\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} space.id\n * @param {string} space.identity.id\n * @param {Types~Conversation} conversation\n * @param {string} conversation.kmsResourceObjectUrl\n * @param {string} conversation.url\n * @param {object} options\n * @param {boolean} options.uri complete lyra service URL\n * @returns {Promise<LyraBindings>} bindings response body\n */\n bindConversation(space = {}, conversation = {}, options = {}) {\n const spaceId = space.id || space.identity && space.identity.id;\n\n if (!space.url) {\n return Promise.reject(new Error('space.url is required'));\n }\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n if (!conversation.kmsResourceObjectUrl) {\n return Promise.reject(new Error('conversation.kmsResourceObjectUrl is required'));\n }\n\n if (!conversation.url) {\n return Promise.reject(new Error('conversation.url is required'));\n }\n\n const body = {\n kmsMessage: {\n method: 'create',\n uri: '/authorizations',\n resourceUri: `${conversation.kmsResourceObjectUrl}`,\n userIds: [spaceId]\n },\n conversationUrl: conversation.url\n };\n\n const request = {\n method: 'POST',\n body\n };\n\n // if options.uri is available use it, since that would have the\n // complete lyra service URL\n if (options.uri) {\n request.uri = options.uri;\n }\n else {\n request.api = 'lyra';\n request.resource = `${space.url}/bindings`;\n }\n\n return this._bindConversation(spaceId)\n .then(() => this.webex.request(request))\n .then((res) => res.body);\n },\n\n /**\n * Binds a conversation to lyra space by posting capabilities to Lyra.\n *\n * Lyra no longer automatically enables binding for a space containing a device with type \"SPARK_BOARD\".\n * Webexboard now is running the CE code stack which supports posting of capabilities to Lyra.\n * @param {String} spaceId space ID\n * @returns {Promise<LyraBindings>} bindings response body\n */\n _bindConversation(spaceId) {\n // Skip until we can bind a conversation to lyra space by posting capabilities to Lyra.\n /* eslint no-unreachable: 1 */\n return Promise.resolve();\n\n // PUT /lyra/api/v1/spaces/{spaceId}/devices/{encodedDeviceUrl}/capabilities\n const encodedDeviceUrl = base64.encode(this.webex.internal.device.url);\n const resource = `spaces/${spaceId}/devices/${encodedDeviceUrl}/capabilities`;\n\n return this.webex.request({\n method: 'PUT',\n api: 'lyra',\n resource,\n body: {\n bindingCleanupAfterCall: true\n }\n });\n },\n\n /**\n * Removes binding between a conversation and a lyra space using conversation\n * url\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} space.id\n * @param {string} space.identity.id\n * @param {Types~Conversation} conversation\n * @param {string} conversation.kmsResourceObjectUrl\n * @param {string} conversation.url\n * @param {object} options\n * @param {boolean} options.uri complete lyra service URL\n * @returns {Promise<LyraBindings>} bindings response body\n */\n unbindConversation(space = {}, conversation = {}, options = {}) {\n const spaceId = space.id || space.identity && space.identity.id;\n\n if (!space.url) {\n return Promise.reject(new Error('space.url is required'));\n }\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n if (!conversation.url) {\n return Promise.reject(new Error('conversation.url is required'));\n }\n\n if (!conversation.kmsResourceObjectUrl) {\n return Promise.reject(new Error('conversation.kmsResourceObjectUrl is required'));\n }\n\n const parameters = {\n kmsMessage: {\n method: 'delete',\n uri: `${conversation.kmsResourceObjectUrl}/authorizations?${querystring.stringify({authId: spaceId})}`\n },\n conversationUrl: base64.toBase64Url(conversation.url)\n };\n\n return this.webex.internal.encryption.kms.prepareRequest(parameters.kmsMessage)\n .then((req) => {\n parameters.kmsMessage = req.wrapped;\n // if options.uri is available use it, since that would have the\n // complete lyra service URL\n if (options.uri) {\n return this.webex.request({\n method: 'DELETE',\n uri: `${options.uri}?${querystring.stringify(parameters)}`\n });\n }\n\n return this.webex.request({\n method: 'DELETE',\n api: 'lyra',\n resource: `${space.url}/bindings?${querystring.stringify(parameters)}`\n });\n });\n },\n\n /**\n * Delete a binding using binding id\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} space.identity.id\n * @param {object} options\n * @param {string} options.kmsResourceObjectUrl\n * @param {string} options.bindingId\n * @returns {Promise<LyraBindings>} bindings response body\n */\n deleteBinding(space = {}, options = {}) {\n const spaceId = space.id || space.identity && space.identity.id;\n\n if (!space.url) {\n return Promise.reject(new Error('space.url is required'));\n }\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n if (!options.kmsResourceObjectUrl) {\n return Promise.reject(new Error('options.kmsResourceObjectUrl is required'));\n }\n\n if (!options.bindingId) {\n return Promise.reject(new Error('options.bindingId is required'));\n }\n\n const parameters = {\n kmsMessage: {\n method: 'delete',\n uri: `${options.kmsResourceObjectUrl}/authorizations?${querystring.stringify({authId: spaceId})}`\n }\n };\n\n return this.webex.internal.encryption.kms.prepareRequest(parameters.kmsMessage)\n .then((req) => {\n parameters.kmsMessage = req.wrapped;\n\n return this.webex.request({\n method: 'DELETE',\n uri: `${space.url}/bindings/${options.bindingId}?${querystring.stringify(parameters)}`\n });\n });\n }\n});\n\nexport default Space;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Space","WebexPlugin","extend","namespace","list","webex","request","method","api","resource","then","res","body","items","get","space","spaceId","id","identity","reject","Error","join","options","passType","pass","type","deviceUrl","internal","device","url","data","verificationInitiation","uri","leave","removeAllDevices","params","base64","toBase64Url","querystring","stringify","verifyOccupant","occupantId","getCurrentBindings","bindConversation","conversation","kmsResourceObjectUrl","kmsMessage","resourceUri","userIds","conversationUrl","_bindConversation","resolve","encodedDeviceUrl","encode","bindingCleanupAfterCall","unbindConversation","parameters","authId","encryption","kms","prepareRequest","req","wrapped","deleteBinding","bindingId"],"sources":["space.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport querystring from 'querystring';\n\nimport {WebexPlugin} from '@webex/webex-core';\nimport {base64} from '@webex/common';\n\n/**\n * @class\n * @extends {Lyra}\n * @memberof Lyra\n */\nconst Space = WebexPlugin.extend({\n namespace: 'Lyra',\n\n /**\n * Lists lyra spaces associated with user\n *\n * @returns {Promise<Array>} spaces\n */\n list() {\n return this.webex\n .request({\n method: 'GET',\n api: 'lyra',\n resource: '/spaces',\n })\n .then((res) => res.body.items);\n },\n\n /**\n * Retrieves a lyra space info\n * @param {Types~LyraSpace} space\n * @param {string} space.id\n * @param {string} space.identity.id\n * @returns {Promise<LyraSpace>} response body\n */\n get(space = {}) {\n const spaceId = space.id || (space.identity && space.identity.id);\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n return this.webex\n .request({\n method: 'GET',\n api: 'lyra',\n resource: `/spaces/${spaceId}`,\n })\n .then((res) => res.body);\n },\n\n /**\n * Joins a lyra space, update every 10 minutes to keep alive for MANUAL\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {object} options\n * @param {string} options.passType\n * @param {string} options.data additional data such as proof for ultrasound\n * @param {string} options.uri use a custom uri\n * @returns {Promise}\n */\n join(space, options) {\n options = {\n passType: 'MANUAL',\n ...options,\n };\n\n const body = {\n pass: {\n type: options.passType,\n },\n deviceUrl: this.webex.internal.device.url,\n };\n\n if (options.data) {\n body.pass.data = options.data;\n }\n\n if (options.verificationInitiation) {\n body.verificationInitiation = options.verificationInitiation;\n }\n\n // if options.uri is available use it, since that would have the\n // complete lyra service URL\n if (options.uri) {\n return this.webex.request({\n method: 'PUT',\n uri: options.uri,\n body,\n });\n }\n\n return this.webex.request({\n method: 'PUT',\n api: 'lyra',\n resource: `${space.url}/occupants/@me`,\n body,\n });\n },\n\n /**\n * Leaves a lyra space\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {object} options\n * @param {boolean} options.removeAllDevices remove all devices of current user also\n * @returns {Promise}\n */\n leave(space, options = {}) {\n // all devices are removed by default (when deviceUrl is not supplied)\n let uri = `${space.url}/occupants/@me`;\n\n if (!options.removeAllDevices) {\n const params = {\n deviceUrl: base64.toBase64Url(this.webex.internal.device.url),\n };\n\n uri += `?${querystring.stringify(params)}`;\n }\n\n return this.webex.request({\n method: 'DELETE',\n api: 'lyra',\n resource: uri,\n });\n },\n\n /**\n * Verifies a space occupant (to be used by the lyra device)\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} occupantId id of user to verify\n * @returns {Promise}\n */\n verifyOccupant(space, occupantId) {\n const body = {\n pass: {\n type: 'VERIFICATION',\n },\n };\n\n return this.webex.request({\n method: 'PUT',\n uri: `${space.url}/occupants/${occupantId}`,\n body,\n });\n },\n\n /**\n * Gets the state of bindings in this Lyra space\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @returns {Promise<LyraBindings>} bindings response body\n */\n getCurrentBindings(space) {\n return this.webex\n .request({\n method: 'GET',\n uri: `${space.url}/bindings`,\n })\n .then((res) => res.body);\n },\n\n /**\n * Binds a conversation to lyra space\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} space.id\n * @param {string} space.identity.id\n * @param {Types~Conversation} conversation\n * @param {string} conversation.kmsResourceObjectUrl\n * @param {string} conversation.url\n * @param {object} options\n * @param {boolean} options.uri complete lyra service URL\n * @returns {Promise<LyraBindings>} bindings response body\n */\n bindConversation(space = {}, conversation = {}, options = {}) {\n const spaceId = space.id || (space.identity && space.identity.id);\n\n if (!space.url) {\n return Promise.reject(new Error('space.url is required'));\n }\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n if (!conversation.kmsResourceObjectUrl) {\n return Promise.reject(new Error('conversation.kmsResourceObjectUrl is required'));\n }\n\n if (!conversation.url) {\n return Promise.reject(new Error('conversation.url is required'));\n }\n\n const body = {\n kmsMessage: {\n method: 'create',\n uri: '/authorizations',\n resourceUri: `${conversation.kmsResourceObjectUrl}`,\n userIds: [spaceId],\n },\n conversationUrl: conversation.url,\n };\n\n const request = {\n method: 'POST',\n body,\n };\n\n // if options.uri is available use it, since that would have the\n // complete lyra service URL\n if (options.uri) {\n request.uri = options.uri;\n } else {\n request.api = 'lyra';\n request.resource = `${space.url}/bindings`;\n }\n\n return this._bindConversation(spaceId)\n .then(() => this.webex.request(request))\n .then((res) => res.body);\n },\n\n /**\n * Binds a conversation to lyra space by posting capabilities to Lyra.\n *\n * Lyra no longer automatically enables binding for a space containing a device with type \"SPARK_BOARD\".\n * Webexboard now is running the CE code stack which supports posting of capabilities to Lyra.\n * @param {String} spaceId space ID\n * @returns {Promise<LyraBindings>} bindings response body\n */\n _bindConversation(spaceId) {\n // Skip until we can bind a conversation to lyra space by posting capabilities to Lyra.\n /* eslint no-unreachable: 1 */\n return Promise.resolve();\n\n // PUT /lyra/api/v1/spaces/{spaceId}/devices/{encodedDeviceUrl}/capabilities\n const encodedDeviceUrl = base64.encode(this.webex.internal.device.url);\n const resource = `spaces/${spaceId}/devices/${encodedDeviceUrl}/capabilities`;\n\n return this.webex.request({\n method: 'PUT',\n api: 'lyra',\n resource,\n body: {\n bindingCleanupAfterCall: true,\n },\n });\n },\n\n /**\n * Removes binding between a conversation and a lyra space using conversation\n * url\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} space.id\n * @param {string} space.identity.id\n * @param {Types~Conversation} conversation\n * @param {string} conversation.kmsResourceObjectUrl\n * @param {string} conversation.url\n * @param {object} options\n * @param {boolean} options.uri complete lyra service URL\n * @returns {Promise<LyraBindings>} bindings response body\n */\n unbindConversation(space = {}, conversation = {}, options = {}) {\n const spaceId = space.id || (space.identity && space.identity.id);\n\n if (!space.url) {\n return Promise.reject(new Error('space.url is required'));\n }\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n if (!conversation.url) {\n return Promise.reject(new Error('conversation.url is required'));\n }\n\n if (!conversation.kmsResourceObjectUrl) {\n return Promise.reject(new Error('conversation.kmsResourceObjectUrl is required'));\n }\n\n const parameters = {\n kmsMessage: {\n method: 'delete',\n uri: `${conversation.kmsResourceObjectUrl}/authorizations?${querystring.stringify({\n authId: spaceId,\n })}`,\n },\n conversationUrl: base64.toBase64Url(conversation.url),\n };\n\n return this.webex.internal.encryption.kms.prepareRequest(parameters.kmsMessage).then((req) => {\n parameters.kmsMessage = req.wrapped;\n // if options.uri is available use it, since that would have the\n // complete lyra service URL\n if (options.uri) {\n return this.webex.request({\n method: 'DELETE',\n uri: `${options.uri}?${querystring.stringify(parameters)}`,\n });\n }\n\n return this.webex.request({\n method: 'DELETE',\n api: 'lyra',\n resource: `${space.url}/bindings?${querystring.stringify(parameters)}`,\n });\n });\n },\n\n /**\n * Delete a binding using binding id\n * @param {Types~LyraSpace} space\n * @param {string} space.url\n * @param {string} space.identity.id\n * @param {object} options\n * @param {string} options.kmsResourceObjectUrl\n * @param {string} options.bindingId\n * @returns {Promise<LyraBindings>} bindings response body\n */\n deleteBinding(space = {}, options = {}) {\n const spaceId = space.id || (space.identity && space.identity.id);\n\n if (!space.url) {\n return Promise.reject(new Error('space.url is required'));\n }\n\n if (!spaceId) {\n return Promise.reject(new Error('space.id is required'));\n }\n\n if (!options.kmsResourceObjectUrl) {\n return Promise.reject(new Error('options.kmsResourceObjectUrl is required'));\n }\n\n if (!options.bindingId) {\n return Promise.reject(new Error('options.bindingId is required'));\n }\n\n const parameters = {\n kmsMessage: {\n method: 'delete',\n uri: `${options.kmsResourceObjectUrl}/authorizations?${querystring.stringify({\n authId: spaceId,\n })}`,\n },\n };\n\n return this.webex.internal.encryption.kms.prepareRequest(parameters.kmsMessage).then((req) => {\n parameters.kmsMessage = req.wrapped;\n\n return this.webex.request({\n method: 'DELETE',\n uri: `${space.url}/bindings/${options.bindingId}?${querystring.stringify(parameters)}`,\n });\n });\n },\n});\n\nexport default Space;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-lyra",
3
- "version": "3.0.0-beta.13",
3
+ "version": "3.0.0-beta.15",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Tran Tu <tratu@cisco.com>",
@@ -22,21 +22,21 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@ciscospark/test-users-legacy": "^1.2.0",
25
- "@webex/test-helper-chai": "3.0.0-beta.13",
26
- "@webex/test-helper-mock-webex": "3.0.0-beta.13",
27
- "@webex/test-helper-retry": "3.0.0-beta.13",
28
- "@webex/test-helper-test-users": "3.0.0-beta.13",
25
+ "@webex/test-helper-chai": "3.0.0-beta.15",
26
+ "@webex/test-helper-mock-webex": "3.0.0-beta.15",
27
+ "@webex/test-helper-retry": "3.0.0-beta.15",
28
+ "@webex/test-helper-test-users": "3.0.0-beta.15",
29
29
  "sinon": "^9.2.4"
30
30
  },
31
31
  "dependencies": {
32
- "@webex/common": "3.0.0-beta.13",
33
- "@webex/internal-plugin-conversation": "3.0.0-beta.13",
34
- "@webex/internal-plugin-encryption": "3.0.0-beta.13",
35
- "@webex/internal-plugin-feature": "3.0.0-beta.13",
36
- "@webex/internal-plugin-locus": "3.0.0-beta.13",
37
- "@webex/internal-plugin-lyra": "3.0.0-beta.13",
38
- "@webex/internal-plugin-mercury": "3.0.0-beta.13",
39
- "@webex/webex-core": "3.0.0-beta.13",
32
+ "@webex/common": "3.0.0-beta.15",
33
+ "@webex/internal-plugin-conversation": "3.0.0-beta.15",
34
+ "@webex/internal-plugin-encryption": "3.0.0-beta.15",
35
+ "@webex/internal-plugin-feature": "3.0.0-beta.15",
36
+ "@webex/internal-plugin-locus": "3.0.0-beta.15",
37
+ "@webex/internal-plugin-lyra": "3.0.0-beta.15",
38
+ "@webex/internal-plugin-mercury": "3.0.0-beta.15",
39
+ "@webex/webex-core": "3.0.0-beta.15",
40
40
  "bowser": "^2.11.0",
41
41
  "uuid": "^3.3.2"
42
42
  }
package/src/config.js CHANGED
@@ -3,6 +3,5 @@
3
3
  */
4
4
 
5
5
  export default {
6
- lyra: {
7
- }
6
+ lyra: {},
8
7
  };
package/src/device.js CHANGED
@@ -19,10 +19,11 @@ const Device = WebexPlugin.extend({
19
19
  * @returns {Promise<LyraAudioState>} {volume, microphones, url}
20
20
  */
21
21
  getAudioState(space) {
22
- return this.webex.request({
23
- method: 'GET',
24
- uri: `${space.url}/audio`
25
- })
22
+ return this.webex
23
+ .request({
24
+ method: 'GET',
25
+ uri: `${space.url}/audio`,
26
+ })
26
27
  .then((res) => res.body);
27
28
  },
28
29
 
@@ -44,11 +45,12 @@ const Device = WebexPlugin.extend({
44
45
  return Promise.reject(new Error('audioState.deviceUrl is required'));
45
46
  }
46
47
 
47
- return this.webex.request({
48
- method: 'PUT',
49
- uri: `${space.url}/audio`,
50
- body: audioState
51
- })
48
+ return this.webex
49
+ .request({
50
+ method: 'PUT',
51
+ uri: `${space.url}/audio`,
52
+ body: audioState,
53
+ })
52
54
  .then((res) => res.body);
53
55
  },
54
56
 
@@ -61,7 +63,7 @@ const Device = WebexPlugin.extend({
61
63
  mute(space) {
62
64
  return this.webex.request({
63
65
  method: 'POST',
64
- uri: `${space.url}/audio/microphones/actions/mute/invoke`
66
+ uri: `${space.url}/audio/microphones/actions/mute/invoke`,
65
67
  });
66
68
  },
67
69
 
@@ -74,7 +76,7 @@ const Device = WebexPlugin.extend({
74
76
  unmute(space) {
75
77
  return this.webex.request({
76
78
  method: 'POST',
77
- uri: `${space.url}/audio/microphones/actions/un-mute/invoke`
79
+ uri: `${space.url}/audio/microphones/actions/un-mute/invoke`,
78
80
  });
79
81
  },
80
82
 
@@ -87,7 +89,7 @@ const Device = WebexPlugin.extend({
87
89
  increaseVolume(space) {
88
90
  return this.webex.request({
89
91
  method: 'POST',
90
- uri: `${space.url}/audio/volume/actions/increase/invoke`
92
+ uri: `${space.url}/audio/volume/actions/increase/invoke`,
91
93
  });
92
94
  },
93
95
 
@@ -100,7 +102,7 @@ const Device = WebexPlugin.extend({
100
102
  decreaseVolume(space) {
101
103
  return this.webex.request({
102
104
  method: 'POST',
103
- uri: `${space.url}/audio/volume/actions/decrease/invoke`
105
+ uri: `${space.url}/audio/volume/actions/decrease/invoke`,
104
106
  });
105
107
  },
106
108
 
@@ -116,11 +118,10 @@ const Device = WebexPlugin.extend({
116
118
  method: 'POST',
117
119
  uri: `${space.url}/audio/volume/actions/set/invoke`,
118
120
  body: {
119
- level
120
- }
121
+ level,
122
+ },
121
123
  });
122
- }
123
-
124
+ },
124
125
  });
125
126
 
126
127
  export default Device;
package/src/index.js CHANGED
@@ -13,7 +13,7 @@ import Lyra from './lyra';
13
13
  import config from './config';
14
14
 
15
15
  registerInternalPlugin('lyra', Lyra, {
16
- config
16
+ config,
17
17
  });
18
18
 
19
19
  export {default} from './lyra';
package/src/lyra.js CHANGED
@@ -28,7 +28,7 @@ const Lyra = WebexPlugin.extend({
28
28
  namespace: 'Lyra',
29
29
  children: {
30
30
  space: Space,
31
- device: Device
31
+ device: Device,
32
32
  },
33
33
 
34
34
  /**
@@ -37,17 +37,17 @@ const Lyra = WebexPlugin.extend({
37
37
  * @returns {Promise<Endpoint>}
38
38
  */
39
39
  getAdvertisedEndpoint(token) {
40
- return this.webex.request({
41
- method: 'GET',
42
- api: 'proximity',
43
- resource: '/ultrasound/advertisements',
44
- qs: {
45
- token
46
- }
47
- })
40
+ return this.webex
41
+ .request({
42
+ method: 'GET',
43
+ api: 'proximity',
44
+ resource: '/ultrasound/advertisements',
45
+ qs: {
46
+ token,
47
+ },
48
+ })
48
49
  .then((res) => res.body);
49
- }
50
+ },
50
51
  });
51
52
 
52
-
53
53
  export default Lyra;