@webex/internal-plugin-conversation 2.59.8 → 2.60.0-next.2

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["require","_common","_helperHtml","_webexCore","_conversation","_interopRequireDefault","_config","_encryptionTransforms","_decryptionTransforms","_shareActivity","_convoError","registerInternalPlugin","Conversation","payloadTransformer","predicates","name","test","ctx","optionsOrResponse","_promise","default","resolve","_has2","extract","body","direction","event","activity","response","multistatus","map","item","data","options","_get2","items","transforms","fn","array","all","transform","then","decrypt","_deleteProperty","object","objectType","concat","_capitalize2","content","_ctx$webex$config$con","webex","config","conversation","inboundProcessFunc","allowedInboundTags","allowedInboundStyles","htmlFilter","c","_ctx$webex$config$con2","outboundProcessFunc","allowedOutboundTags","allowedOutboundStyles","htmlFilterEscape","activities","participants","actor","target","threadActivity","childActivities","person","email","entryEmail","emailAddress","id","entryUUID","patterns","toLowerCase","roomProperties","isModerator","Boolean","uuid","reject","Error","internal","user","asUUID","decryptionTransforms","encryptionTransforms"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-user';\n\nimport {patterns} from '@webex/common';\nimport {filter as htmlFilter, filterEscape as htmlFilterEscape} from '@webex/helper-html';\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {capitalize, get, has} from 'lodash';\n\nimport Conversation from './conversation';\nimport config from './config';\nimport {transforms as encryptionTransforms} from './encryption-transforms';\nimport {transforms as decryptionTransforms} from './decryption-transforms';\n\nregisterInternalPlugin('conversation', Conversation, {\n payloadTransformer: {\n predicates: [\n {\n name: 'transformObject',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(has(optionsOrResponse, 'body.objectType'));\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.body);\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n test(ctx, event) {\n return Promise.resolve(has(event, 'activity'));\n },\n extract(event) {\n return Promise.resolve(event.activity);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.multistatus'));\n },\n extract(response) {\n return Promise.resolve(\n response.body.multistatus.map((item) => item && item.data && item.data.activity)\n );\n },\n },\n {\n name: 'normalizeConversationListAndBindDecrypters',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformThreadArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].childType') || !has(options, 'body.items[0].actorId')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n ],\n transforms: [\n {\n name: 'normalizeConversationListAndBindDecrypters',\n fn(ctx, array) {\n return Promise.all(\n array.map((item) =>\n ctx.transform('normalizeObject', item).then(() => {\n item.decrypt = function decrypt() {\n Reflect.deleteProperty(item, 'decrypt');\n\n return ctx.transform('decryptObject', item);\n };\n\n return item;\n })\n )\n );\n },\n },\n {\n name: 'transformObjectArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformObject', item)));\n },\n },\n {\n name: 'transformThreadArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformThread', item)));\n },\n },\n {\n name: 'transformObject',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('normalizeObject', object)\n .then(() => ctx.transform('encryptObject', object))\n .then(() => ctx.transform('encryptKmsMessage', object));\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptObject', object)\n .then(() => ctx.transform('normalizeObject', object));\n },\n },\n {\n name: 'normalizeObject',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform(`normalize${capitalize(object.objectType)}`, object),\n ctx.transform('normalizePropContent', object),\n ]);\n },\n },\n {\n name: 'transformThread',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptThread', object)\n .then(() => ctx.transform('normalizeThread', object));\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n const {inboundProcessFunc, allowedInboundTags, allowedInboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilter(\n inboundProcessFunc,\n allowedInboundTags || {},\n allowedInboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n\n const {outboundProcessFunc, allowedOutboundTags, allowedOutboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilterEscape(\n outboundProcessFunc,\n allowedOutboundTags || {},\n allowedOutboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizeConversation',\n fn(ctx, conversation) {\n conversation.activities = conversation.activities || {};\n conversation.activities.items = conversation.activities.items || [];\n conversation.participants = conversation.participants || {};\n conversation.participants.items = conversation.participants.items || [];\n\n return Promise.all([\n Promise.all(\n conversation.activities.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n Promise.all(\n conversation.participants.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n ]);\n },\n },\n {\n name: 'normalizeActivity',\n fn(ctx, activity) {\n return Promise.all([\n ctx.transform('normalizeObject', activity.actor),\n ctx.transform('normalizeObject', activity.object),\n ctx.transform('normalizeObject', activity.target),\n ]);\n },\n },\n {\n name: 'normalizeThread',\n fn(ctx, threadActivity) {\n // childActivities are of type Activity\n return Promise.all(\n threadActivity.childActivities.map((item) => ctx.transform('normalizeObject', item))\n );\n },\n },\n {\n name: 'normalizePerson',\n // eslint-disable-next-line complexity\n fn(ctx, person) {\n const email = person.entryEmail || person.emailAddress || person.id;\n const id = person.entryUUID || person.id;\n\n if (patterns.email.test(email)) {\n person.entryEmail = person.emailAddress = email.toLowerCase();\n } else {\n Reflect.deleteProperty(person, 'entryEmail');\n Reflect.deleteProperty(person, 'emailAddress');\n }\n\n if (person.roomProperties) {\n person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);\n }\n\n if (patterns.uuid.test(id)) {\n person.entryUUID = person.id = id.toLowerCase();\n\n return Promise.resolve(person);\n }\n\n if (!email) {\n return Promise.reject(\n new Error('cannot determine id without an `emailAddress` or `entryUUID` property')\n );\n }\n\n return ctx.webex.internal.user.asUUID(email).then((uuid) => {\n person.entryUUID = person.id = uuid;\n\n return person;\n });\n },\n },\n ]\n .concat(decryptionTransforms)\n .concat(encryptionTransforms),\n },\n config,\n});\n\nexport {default} from './conversation';\nexport {default as ShareActivity} from './share-activity';\nexport {ConversationError, InvalidUserCreation} from './convo-error';\n"],"mappings":"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"}
1
+ {"version":3,"names":["require","_common","_helperHtml","_webexCore","_lodash","_conversation","_interopRequireDefault","_config","_encryptionTransforms","_decryptionTransforms","_shareActivity","_convoError","registerInternalPlugin","Conversation","payloadTransformer","predicates","name","test","ctx","optionsOrResponse","_promise","default","resolve","has","extract","body","direction","event","activity","response","multistatus","map","item","data","options","get","items","transforms","fn","array","all","transform","then","decrypt","_deleteProperty","object","objectType","concat","capitalize","content","_ctx$webex$config$con","webex","config","conversation","inboundProcessFunc","allowedInboundTags","allowedInboundStyles","htmlFilter","c","_ctx$webex$config$con2","outboundProcessFunc","allowedOutboundTags","allowedOutboundStyles","htmlFilterEscape","activities","participants","actor","target","threadActivity","childActivities","person","email","entryEmail","emailAddress","id","entryUUID","patterns","toLowerCase","roomProperties","isModerator","Boolean","uuid","reject","Error","internal","user","asUUID","decryptionTransforms","encryptionTransforms"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport '@webex/internal-plugin-encryption';\nimport '@webex/internal-plugin-user';\n\nimport {patterns} from '@webex/common';\nimport {filter as htmlFilter, filterEscape as htmlFilterEscape} from '@webex/helper-html';\nimport {registerInternalPlugin} from '@webex/webex-core';\nimport {capitalize, get, has} from 'lodash';\n\nimport Conversation from './conversation';\nimport config from './config';\nimport {transforms as encryptionTransforms} from './encryption-transforms';\nimport {transforms as decryptionTransforms} from './decryption-transforms';\n\nregisterInternalPlugin('conversation', Conversation, {\n payloadTransformer: {\n predicates: [\n {\n name: 'transformObject',\n test(ctx, optionsOrResponse) {\n return Promise.resolve(has(optionsOrResponse, 'body.objectType'));\n },\n extract(optionsOrResponse) {\n return Promise.resolve(optionsOrResponse.body);\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n test(ctx, event) {\n return Promise.resolve(has(event, 'activity'));\n },\n extract(event) {\n return Promise.resolve(event.activity);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, response) {\n return Promise.resolve(has(response, 'body.multistatus'));\n },\n extract(response) {\n return Promise.resolve(\n response.body.multistatus.map((item) => item && item.data && item.data.activity)\n );\n },\n },\n {\n name: 'normalizeConversationListAndBindDecrypters',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformObjectArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].objectType')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n {\n name: 'transformThreadArray',\n direction: 'inbound',\n test(ctx, options) {\n if (!has(options, 'body.items[0].childType') || !has(options, 'body.items[0].actorId')) {\n return Promise.resolve(false);\n }\n\n if (get(options, 'options.deferDecrypt')) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n },\n extract(options) {\n return Promise.resolve(options.body.items);\n },\n },\n ],\n transforms: [\n {\n name: 'normalizeConversationListAndBindDecrypters',\n fn(ctx, array) {\n return Promise.all(\n array.map((item) =>\n ctx.transform('normalizeObject', item).then(() => {\n item.decrypt = function decrypt() {\n Reflect.deleteProperty(item, 'decrypt');\n\n return ctx.transform('decryptObject', item);\n };\n\n return item;\n })\n )\n );\n },\n },\n {\n name: 'transformObjectArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformObject', item)));\n },\n },\n {\n name: 'transformThreadArray',\n fn(ctx, array) {\n return Promise.all(array.map((item) => ctx.transform('transformThread', item)));\n },\n },\n {\n name: 'transformObject',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('normalizeObject', object)\n .then(() => ctx.transform('encryptObject', object))\n .then(() => ctx.transform('encryptKmsMessage', object));\n },\n },\n {\n name: 'transformObject',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptObject', object)\n .then(() => ctx.transform('normalizeObject', object));\n },\n },\n {\n name: 'normalizeObject',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n if (!object.objectType) {\n return Promise.resolve();\n }\n\n return Promise.all([\n ctx.transform(`normalize${capitalize(object.objectType)}`, object),\n ctx.transform('normalizePropContent', object),\n ]);\n },\n },\n {\n name: 'transformThread',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object) {\n return Promise.resolve();\n }\n\n return ctx\n .transform('decryptThread', object)\n .then(() => ctx.transform('normalizeThread', object));\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'inbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n const {inboundProcessFunc, allowedInboundTags, allowedInboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilter(\n inboundProcessFunc,\n allowedInboundTags || {},\n allowedInboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizePropContent',\n direction: 'outbound',\n fn(ctx, object) {\n if (!object.content) {\n return Promise.resolve();\n }\n\n const {outboundProcessFunc, allowedOutboundTags, allowedOutboundStyles} =\n ctx.webex.config.conversation;\n\n return htmlFilterEscape(\n outboundProcessFunc,\n allowedOutboundTags || {},\n allowedOutboundStyles,\n object.content\n ).then((c) => {\n object.content = c;\n });\n },\n },\n {\n name: 'normalizeConversation',\n fn(ctx, conversation) {\n conversation.activities = conversation.activities || {};\n conversation.activities.items = conversation.activities.items || [];\n conversation.participants = conversation.participants || {};\n conversation.participants.items = conversation.participants.items || [];\n\n return Promise.all([\n Promise.all(\n conversation.activities.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n Promise.all(\n conversation.participants.items.map((item) => ctx.transform('normalizeObject', item))\n ),\n ]);\n },\n },\n {\n name: 'normalizeActivity',\n fn(ctx, activity) {\n return Promise.all([\n ctx.transform('normalizeObject', activity.actor),\n ctx.transform('normalizeObject', activity.object),\n ctx.transform('normalizeObject', activity.target),\n ]);\n },\n },\n {\n name: 'normalizeThread',\n fn(ctx, threadActivity) {\n // childActivities are of type Activity\n return Promise.all(\n threadActivity.childActivities.map((item) => ctx.transform('normalizeObject', item))\n );\n },\n },\n {\n name: 'normalizePerson',\n // eslint-disable-next-line complexity\n fn(ctx, person) {\n const email = person.entryEmail || person.emailAddress || person.id;\n const id = person.entryUUID || person.id;\n\n if (patterns.email.test(email)) {\n person.entryEmail = person.emailAddress = email.toLowerCase();\n } else {\n Reflect.deleteProperty(person, 'entryEmail');\n Reflect.deleteProperty(person, 'emailAddress');\n }\n\n if (person.roomProperties) {\n person.roomProperties.isModerator = Boolean(person.roomProperties.isModerator);\n }\n\n if (patterns.uuid.test(id)) {\n person.entryUUID = person.id = id.toLowerCase();\n\n return Promise.resolve(person);\n }\n\n if (!email) {\n return Promise.reject(\n new Error('cannot determine id without an `emailAddress` or `entryUUID` property')\n );\n }\n\n return ctx.webex.internal.user.asUUID(email).then((uuid) => {\n person.entryUUID = person.id = uuid;\n\n return person;\n });\n },\n },\n ]\n .concat(decryptionTransforms)\n .concat(encryptionTransforms),\n },\n config,\n});\n\nexport {default} from './conversation';\nexport {default as ShareActivity} from './share-activity';\nexport {ConversationError, InvalidUserCreation} from './convo-error';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIAA,OAAA;AACAA,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,OAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AAsTA,IAAAU,cAAA,GAAAJ,sBAAA,CAAAN,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AAtUA;AACA;AACA;;AAeA,IAAAY,iCAAsB,EAAC,cAAc,EAAEC,qBAAY,EAAE;EACnDC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,CACV;MACEC,IAAI,EAAE,iBAAiB;MACvBC,IAAI,WAAAA,KAACC,GAAG,EAAEC,iBAAiB,EAAE;QAC3B,OAAOC,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,IAAAC,WAAG,EAACJ,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;MACnE,CAAC;MACDK,OAAO,WAAAA,QAACL,iBAAiB,EAAE;QACzB,OAAOC,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACH,iBAAiB,CAACM,IAAI,CAAC;MAChD;IACF,CAAC,EACD;MACET,IAAI,EAAE,iBAAiB;MACvBU,SAAS,EAAE,SAAS;MACpBT,IAAI,WAAAA,KAACC,GAAG,EAAES,KAAK,EAAE;QACf,OAAOP,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,IAAAC,WAAG,EAACI,KAAK,EAAE,UAAU,CAAC,CAAC;MAChD,CAAC;MACDH,OAAO,WAAAA,QAACG,KAAK,EAAE;QACb,OAAOP,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACK,KAAK,CAACC,QAAQ,CAAC;MACxC;IACF,CAAC,EACD;MACEZ,IAAI,EAAE,sBAAsB;MAC5BU,SAAS,EAAE,SAAS;MACpBT,IAAI,WAAAA,KAACC,GAAG,EAAEW,QAAQ,EAAE;QAClB,OAAOT,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,IAAAC,WAAG,EAACM,QAAQ,EAAE,kBAAkB,CAAC,CAAC;MAC3D,CAAC;MACDL,OAAO,WAAAA,QAACK,QAAQ,EAAE;QAChB,OAAOT,QAAA,CAAAC,OAAA,CAAQC,OAAO,CACpBO,QAAQ,CAACJ,IAAI,CAACK,WAAW,CAACC,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKA,IAAI,IAAIA,IAAI,CAACC,IAAI,IAAID,IAAI,CAACC,IAAI,CAACL,QAAQ;QAAA,EACjF,CAAC;MACH;IACF,CAAC,EACD;MACEZ,IAAI,EAAE,4CAA4C;MAClDU,SAAS,EAAE,SAAS;MACpBT,IAAI,WAAAA,KAACC,GAAG,EAAEgB,OAAO,EAAE;QACjB,IAAI,CAAC,IAAAX,WAAG,EAACW,OAAO,EAAE,0BAA0B,CAAC,EAAE;UAC7C,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,IAAAa,WAAG,EAACD,OAAO,EAAE,sBAAsB,CAAC,EAAE;UACxC,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,IAAI,CAAC;QAC9B;QAEA,OAAOF,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,KAAK,CAAC;MAC/B,CAAC;MACDE,OAAO,WAAAA,QAACU,OAAO,EAAE;QACf,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACY,OAAO,CAACT,IAAI,CAACW,KAAK,CAAC;MAC5C;IACF,CAAC,EACD;MACEpB,IAAI,EAAE,sBAAsB;MAC5BU,SAAS,EAAE,SAAS;MACpBT,IAAI,WAAAA,KAACC,GAAG,EAAEgB,OAAO,EAAE;QACjB,IAAI,CAAC,IAAAX,WAAG,EAACW,OAAO,EAAE,0BAA0B,CAAC,EAAE;UAC7C,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,IAAAa,WAAG,EAACD,OAAO,EAAE,sBAAsB,CAAC,EAAE;UACxC,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,OAAOF,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,IAAI,CAAC;MAC9B,CAAC;MACDE,OAAO,WAAAA,QAACU,OAAO,EAAE;QACf,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACY,OAAO,CAACT,IAAI,CAACW,KAAK,CAAC;MAC5C;IACF,CAAC,EACD;MACEpB,IAAI,EAAE,sBAAsB;MAC5BU,SAAS,EAAE,SAAS;MACpBT,IAAI,WAAAA,KAACC,GAAG,EAAEgB,OAAO,EAAE;QACjB,IAAI,CAAC,IAAAX,WAAG,EAACW,OAAO,EAAE,yBAAyB,CAAC,IAAI,CAAC,IAAAX,WAAG,EAACW,OAAO,EAAE,uBAAuB,CAAC,EAAE;UACtF,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,IAAI,IAAAa,WAAG,EAACD,OAAO,EAAE,sBAAsB,CAAC,EAAE;UACxC,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,KAAK,CAAC;QAC/B;QAEA,OAAOF,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,IAAI,CAAC;MAC9B,CAAC;MACDE,OAAO,WAAAA,QAACU,OAAO,EAAE;QACf,OAAOd,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACY,OAAO,CAACT,IAAI,CAACW,KAAK,CAAC;MAC5C;IACF,CAAC,CACF;IACDC,UAAU,EAAE,CACV;MACErB,IAAI,EAAE,4CAA4C;MAClDsB,EAAE,WAAAA,GAACpB,GAAG,EAAEqB,KAAK,EAAE;QACb,OAAOnB,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAChBD,KAAK,CAACR,GAAG,CAAC,UAACC,IAAI;UAAA,OACbd,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAET,IAAI,CAAC,CAACU,IAAI,CAAC,YAAM;YAChDV,IAAI,CAACW,OAAO,GAAG,SAASA,OAAOA,CAAA,EAAG;cAChC,IAAAC,eAAA,CAAAvB,OAAA,EAAuBW,IAAI,EAAE,SAAS,CAAC;cAEvC,OAAOd,GAAG,CAACuB,SAAS,CAAC,eAAe,EAAET,IAAI,CAAC;YAC7C,CAAC;YAED,OAAOA,IAAI;UACb,CAAC,CAAC;QAAA,CACJ,CACF,CAAC;MACH;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,sBAAsB;MAC5BsB,EAAE,WAAAA,GAACpB,GAAG,EAAEqB,KAAK,EAAE;QACb,OAAOnB,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAACD,KAAK,CAACR,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKd,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAET,IAAI,CAAC;QAAA,EAAC,CAAC;MACjF;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,sBAAsB;MAC5BsB,EAAE,WAAAA,GAACpB,GAAG,EAAEqB,KAAK,EAAE;QACb,OAAOnB,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAACD,KAAK,CAACR,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKd,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAET,IAAI,CAAC;QAAA,EAAC,CAAC;MACjF;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,iBAAiB;MACvBU,SAAS,EAAE,UAAU;MACrBY,EAAE,WAAAA,GAACpB,GAAG,EAAE2B,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAOzB,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,IAAI,CAACuB,MAAM,CAACC,UAAU,EAAE;UACtB,OAAO1B,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,OAAOJ,GAAG,CACPuB,SAAS,CAAC,iBAAiB,EAAEI,MAAM,CAAC,CACpCH,IAAI,CAAC;UAAA,OAAMxB,GAAG,CAACuB,SAAS,CAAC,eAAe,EAAEI,MAAM,CAAC;QAAA,EAAC,CAClDH,IAAI,CAAC;UAAA,OAAMxB,GAAG,CAACuB,SAAS,CAAC,mBAAmB,EAAEI,MAAM,CAAC;QAAA,EAAC;MAC3D;IACF,CAAC,EACD;MACE7B,IAAI,EAAE,iBAAiB;MACvBU,SAAS,EAAE,SAAS;MACpBY,EAAE,WAAAA,GAACpB,GAAG,EAAE2B,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAOzB,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,IAAI,CAACuB,MAAM,CAACC,UAAU,EAAE;UACtB,OAAO1B,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,OAAOJ,GAAG,CACPuB,SAAS,CAAC,eAAe,EAAEI,MAAM,CAAC,CAClCH,IAAI,CAAC;UAAA,OAAMxB,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAEI,MAAM,CAAC;QAAA,EAAC;MACzD;IACF,CAAC,EACD;MACE7B,IAAI,EAAE,iBAAiB;MACvBsB,EAAE,WAAAA,GAACpB,GAAG,EAAE2B,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAOzB,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,IAAI,CAACuB,MAAM,CAACC,UAAU,EAAE;UACtB,OAAO1B,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,OAAOF,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAAC,CACjBtB,GAAG,CAACuB,SAAS,aAAAM,MAAA,CAAa,IAAAC,kBAAU,EAACH,MAAM,CAACC,UAAU,CAAC,GAAID,MAAM,CAAC,EAClE3B,GAAG,CAACuB,SAAS,CAAC,sBAAsB,EAAEI,MAAM,CAAC,CAC9C,CAAC;MACJ;IACF,CAAC,EACD;MACE7B,IAAI,EAAE,iBAAiB;MACvBU,SAAS,EAAE,SAAS;MACpBY,EAAE,WAAAA,GAACpB,GAAG,EAAE2B,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,EAAE;UACX,OAAOzB,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,OAAOJ,GAAG,CACPuB,SAAS,CAAC,eAAe,EAAEI,MAAM,CAAC,CAClCH,IAAI,CAAC;UAAA,OAAMxB,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAEI,MAAM,CAAC;QAAA,EAAC;MACzD;IACF,CAAC,EACD;MACE7B,IAAI,EAAE,sBAAsB;MAC5BU,SAAS,EAAE,SAAS;MACpBY,EAAE,WAAAA,GAACpB,GAAG,EAAE2B,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,CAACI,OAAO,EAAE;UACnB,OAAO7B,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QACA,IAAA4B,qBAAA,GACEhC,GAAG,CAACiC,KAAK,CAACC,MAAM,CAACC,YAAY;UADxBC,kBAAkB,GAAAJ,qBAAA,CAAlBI,kBAAkB;UAAEC,kBAAkB,GAAAL,qBAAA,CAAlBK,kBAAkB;UAAEC,oBAAoB,GAAAN,qBAAA,CAApBM,oBAAoB;QAGnE,OAAO,IAAAC,kBAAU,EACfH,kBAAkB,EAClBC,kBAAkB,IAAI,CAAC,CAAC,EACxBC,oBAAoB,EACpBX,MAAM,CAACI,OACT,CAAC,CAACP,IAAI,CAAC,UAACgB,CAAC,EAAK;UACZb,MAAM,CAACI,OAAO,GAAGS,CAAC;QACpB,CAAC,CAAC;MACJ;IACF,CAAC,EACD;MACE1C,IAAI,EAAE,sBAAsB;MAC5BU,SAAS,EAAE,UAAU;MACrBY,EAAE,WAAAA,GAACpB,GAAG,EAAE2B,MAAM,EAAE;QACd,IAAI,CAACA,MAAM,CAACI,OAAO,EAAE;UACnB,OAAO7B,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAAC,CAAC;QAC1B;QAEA,IAAAqC,sBAAA,GACEzC,GAAG,CAACiC,KAAK,CAACC,MAAM,CAACC,YAAY;UADxBO,mBAAmB,GAAAD,sBAAA,CAAnBC,mBAAmB;UAAEC,mBAAmB,GAAAF,sBAAA,CAAnBE,mBAAmB;UAAEC,qBAAqB,GAAAH,sBAAA,CAArBG,qBAAqB;QAGtE,OAAO,IAAAC,wBAAgB,EACrBH,mBAAmB,EACnBC,mBAAmB,IAAI,CAAC,CAAC,EACzBC,qBAAqB,EACrBjB,MAAM,CAACI,OACT,CAAC,CAACP,IAAI,CAAC,UAACgB,CAAC,EAAK;UACZb,MAAM,CAACI,OAAO,GAAGS,CAAC;QACpB,CAAC,CAAC;MACJ;IACF,CAAC,EACD;MACE1C,IAAI,EAAE,uBAAuB;MAC7BsB,EAAE,WAAAA,GAACpB,GAAG,EAAEmC,YAAY,EAAE;QACpBA,YAAY,CAACW,UAAU,GAAGX,YAAY,CAACW,UAAU,IAAI,CAAC,CAAC;QACvDX,YAAY,CAACW,UAAU,CAAC5B,KAAK,GAAGiB,YAAY,CAACW,UAAU,CAAC5B,KAAK,IAAI,EAAE;QACnEiB,YAAY,CAACY,YAAY,GAAGZ,YAAY,CAACY,YAAY,IAAI,CAAC,CAAC;QAC3DZ,YAAY,CAACY,YAAY,CAAC7B,KAAK,GAAGiB,YAAY,CAACY,YAAY,CAAC7B,KAAK,IAAI,EAAE;QAEvE,OAAOhB,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAAC,CACjBpB,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CACTa,YAAY,CAACW,UAAU,CAAC5B,KAAK,CAACL,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKd,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAET,IAAI,CAAC;QAAA,EACpF,CAAC,EACDZ,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CACTa,YAAY,CAACY,YAAY,CAAC7B,KAAK,CAACL,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKd,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAET,IAAI,CAAC;QAAA,EACtF,CAAC,CACF,CAAC;MACJ;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,mBAAmB;MACzBsB,EAAE,WAAAA,GAACpB,GAAG,EAAEU,QAAQ,EAAE;QAChB,OAAOR,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAAC,CACjBtB,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAEb,QAAQ,CAACsC,KAAK,CAAC,EAChDhD,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAEb,QAAQ,CAACiB,MAAM,CAAC,EACjD3B,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAEb,QAAQ,CAACuC,MAAM,CAAC,CAClD,CAAC;MACJ;IACF,CAAC,EACD;MACEnD,IAAI,EAAE,iBAAiB;MACvBsB,EAAE,WAAAA,GAACpB,GAAG,EAAEkD,cAAc,EAAE;QACtB;QACA,OAAOhD,QAAA,CAAAC,OAAA,CAAQmB,GAAG,CAChB4B,cAAc,CAACC,eAAe,CAACtC,GAAG,CAAC,UAACC,IAAI;UAAA,OAAKd,GAAG,CAACuB,SAAS,CAAC,iBAAiB,EAAET,IAAI,CAAC;QAAA,EACrF,CAAC;MACH;IACF,CAAC,EACD;MACEhB,IAAI,EAAE,iBAAiB;MACvB;MACAsB,EAAE,WAAAA,GAACpB,GAAG,EAAEoD,MAAM,EAAE;QACd,IAAMC,KAAK,GAAGD,MAAM,CAACE,UAAU,IAAIF,MAAM,CAACG,YAAY,IAAIH,MAAM,CAACI,EAAE;QACnE,IAAMA,EAAE,GAAGJ,MAAM,CAACK,SAAS,IAAIL,MAAM,CAACI,EAAE;QAExC,IAAIE,gBAAQ,CAACL,KAAK,CAACtD,IAAI,CAACsD,KAAK,CAAC,EAAE;UAC9BD,MAAM,CAACE,UAAU,GAAGF,MAAM,CAACG,YAAY,GAAGF,KAAK,CAACM,WAAW,CAAC,CAAC;QAC/D,CAAC,MAAM;UACL,IAAAjC,eAAA,CAAAvB,OAAA,EAAuBiD,MAAM,EAAE,YAAY,CAAC;UAC5C,IAAA1B,eAAA,CAAAvB,OAAA,EAAuBiD,MAAM,EAAE,cAAc,CAAC;QAChD;QAEA,IAAIA,MAAM,CAACQ,cAAc,EAAE;UACzBR,MAAM,CAACQ,cAAc,CAACC,WAAW,GAAGC,OAAO,CAACV,MAAM,CAACQ,cAAc,CAACC,WAAW,CAAC;QAChF;QAEA,IAAIH,gBAAQ,CAACK,IAAI,CAAChE,IAAI,CAACyD,EAAE,CAAC,EAAE;UAC1BJ,MAAM,CAACK,SAAS,GAAGL,MAAM,CAACI,EAAE,GAAGA,EAAE,CAACG,WAAW,CAAC,CAAC;UAE/C,OAAOzD,QAAA,CAAAC,OAAA,CAAQC,OAAO,CAACgD,MAAM,CAAC;QAChC;QAEA,IAAI,CAACC,KAAK,EAAE;UACV,OAAOnD,QAAA,CAAAC,OAAA,CAAQ6D,MAAM,CACnB,IAAIC,KAAK,CAAC,uEAAuE,CACnF,CAAC;QACH;QAEA,OAAOjE,GAAG,CAACiC,KAAK,CAACiC,QAAQ,CAACC,IAAI,CAACC,MAAM,CAACf,KAAK,CAAC,CAAC7B,IAAI,CAAC,UAACuC,IAAI,EAAK;UAC1DX,MAAM,CAACK,SAAS,GAAGL,MAAM,CAACI,EAAE,GAAGO,IAAI;UAEnC,OAAOX,MAAM;QACf,CAAC,CAAC;MACJ;IACF,CAAC,CACF,CACEvB,MAAM,CAACwC,gCAAoB,CAAC,CAC5BxC,MAAM,CAACyC,gCAAoB;EAChC,CAAC;EACDpC,MAAM,EAANA;AACF,CAAC,CAAC"}
@@ -15,33 +15,30 @@ _Object$defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
17
  exports.default = exports.FILE_SYMBOL = exports.EMITTER_SYMBOL = void 0;
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
20
  var _symbol = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/symbol"));
19
- var _map2 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
21
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
20
22
  var _apply = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/apply"));
21
23
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
22
24
  var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
23
25
  var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
24
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
25
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
26
- var _some2 = _interopRequireDefault(require("lodash/some"));
27
- var _pick2 = _interopRequireDefault(require("lodash/pick"));
28
- var _map3 = _interopRequireDefault(require("lodash/map"));
29
- var _filter2 = _interopRequireDefault(require("lodash/filter"));
30
26
  var _events = require("events");
31
27
  var _nodeScr = _interopRequireDefault(require("node-scr"));
32
28
  var _common = require("@webex/common");
33
29
  var _webexCore = require("@webex/webex-core");
30
+ var _lodash = require("lodash");
34
31
  var _helperImage = require("@webex/helper-image");
35
32
  var _sha = _interopRequireDefault(require("crypto-js/sha256"));
36
33
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol2 !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
37
34
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
38
35
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
39
- 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; }
40
- 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; }
41
- var EMITTER_SYMBOL = (0, _symbol.default)('EMITTER_SYMBOL');
42
- exports.EMITTER_SYMBOL = EMITTER_SYMBOL;
43
- var FILE_SYMBOL = (0, _symbol.default)('FILE_SYMBOL');
44
- exports.FILE_SYMBOL = FILE_SYMBOL;
36
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
37
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
38
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
39
+ */
40
+ var EMITTER_SYMBOL = exports.EMITTER_SYMBOL = (0, _symbol.default)('EMITTER_SYMBOL');
41
+ var FILE_SYMBOL = exports.FILE_SYMBOL = (0, _symbol.default)('FILE_SYMBOL');
45
42
  var PROMISE_SYMBOL = (0, _symbol.default)('PROMISE_SYMBOL');
46
43
 
47
44
  /**
@@ -82,7 +79,7 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
82
79
  uploads: {
83
80
  type: 'object',
84
81
  default: function _default() {
85
- return new _map2.default();
82
+ return new _map.default();
86
83
  }
87
84
  }
88
85
  },
@@ -128,7 +125,7 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
128
125
  width: gif.image.width,
129
126
  url: 'https://giphy.com'
130
127
  }
131
- }, FILE_SYMBOL, gif), (0, _pick2.default)(options, 'actions'));
128
+ }, FILE_SYMBOL, gif), (0, _lodash.pick)(options, 'actions'));
132
129
  this.uploads.set(gif, gifToAdd);
133
130
 
134
131
  /* Instead of encryptBinary, which produces a encrypted version of
@@ -154,8 +151,7 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
154
151
  * @returns {EventEmittingPromise}
155
152
  */
156
153
  add: function add(file, options) {
157
- var _objectSpread3,
158
- _this = this;
154
+ var _this = this;
159
155
  options = options || {};
160
156
  options.claimedFileType = file.name.substring(file.name.lastIndexOf('.'));
161
157
  var upload = this.uploads.get(file);
@@ -163,12 +159,12 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
163
159
  return upload[PROMISE_SYMBOL];
164
160
  }
165
161
  var emitter = new _events.EventEmitter();
166
- upload = _objectSpread((_objectSpread3 = {
162
+ upload = _objectSpread((0, _defineProperty2.default)((0, _defineProperty2.default)({
167
163
  displayName: file.name,
168
164
  fileSize: file.size || file.byteLength || file.length,
169
165
  mimeType: file.type,
170
166
  objectType: 'file'
171
- }, (0, _defineProperty2.default)(_objectSpread3, EMITTER_SYMBOL, emitter), (0, _defineProperty2.default)(_objectSpread3, FILE_SYMBOL, file), _objectSpread3), (0, _pick2.default)(options, 'actions'));
167
+ }, EMITTER_SYMBOL, emitter), FILE_SYMBOL, file), (0, _lodash.pick)(options, 'actions'));
172
168
  this.uploads.set(file, upload);
173
169
  var promise = (0, _helperImage.detectFileType)(file, this.logger).then(function (type) {
174
170
  upload.mimeType = type;
@@ -343,8 +339,8 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
343
339
  * @returns {boolean}
344
340
  */
345
341
  _itemContainsActionWithMimeType: function _itemContainsActionWithMimeType(items, mimeType) {
346
- return (0, _some2.default)(items.map(function (item) {
347
- return (0, _some2.default)(item.actions, {
342
+ return (0, _lodash.some)(items.map(function (item) {
343
+ return (0, _lodash.some)(item.actions, {
348
344
  mimeType: mimeType
349
345
  });
350
346
  }));
@@ -359,7 +355,7 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
359
355
  if (this._itemContainsActionWithMimeType(items, 'application/x-cisco-webex-whiteboard')) {
360
356
  return 'documents';
361
357
  }
362
- var mimeTypes = (0, _filter2.default)((0, _map3.default)(items, 'mimeType'));
358
+ var mimeTypes = (0, _lodash.filter)((0, _lodash.map)(items, 'mimeType'));
363
359
  if (mimeTypes.length !== items.length) {
364
360
  return 'documents';
365
361
  }
@@ -395,7 +391,7 @@ var ShareActivity = _webexCore.WebexPlugin.extend({
395
391
  return res.body.spaceUrl;
396
392
  });
397
393
  },
398
- version: "2.59.8"
394
+ version: "2.60.0-next.2"
399
395
  });
400
396
 
401
397
  /**
@@ -428,6 +424,5 @@ ShareActivity.create = function create(conversation, object, webex) {
428
424
  }
429
425
  return share;
430
426
  };
431
- var _default2 = ShareActivity;
432
- exports.default = _default2;
427
+ var _default2 = exports.default = ShareActivity;
433
428
  //# sourceMappingURL=share-activity.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_nodeScr","_interopRequireDefault","_common","_webexCore","_helperImage","_sha","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol2","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","object","enumerableOnly","keys","_Object$keys","_Object$getOwnPropertySymbols","symbols","filter","sym","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","EMITTER_SYMBOL","_symbol","exports","FILE_SYMBOL","PROMISE_SYMBOL","ShareActivity","WebexPlugin","extend","getSymbols","file","emitter","namespace","derived","deps","fn","conversation","session","claimedFileType","required","type","content","clientTempId","displayName","enableThumbnails","hiddenSpaceUrl","mentions","spaceUrl","uploads","_default","_map2","initialize","attrs","options","_apply","_promise","resolve","_spaceUrl","_retrieveSpaceUrl","concat","url","then","_hiddenSpaceUrl","addGif","gif","gifToAdd","get","fileSize","size","byteLength","mimeType","objectType","height","width","image","_pick2","set","SCR","create","scr","loc","thumbnailScr","add","_objectSpread3","_this","substring","lastIndexOf","upload","EventEmitter","promise","detectFileType","logger","processImage","thumbnailMaxWidth","config","thumbnailMaxHeight","imageData","main","webex","internal","encryption","encryptBinary","_ref","cdata","all","_ref2","_ref3","_slicedToArray2","uploadPromise","_upload","transferEvents","metadata","downloadUrl","thumb","_imageData","thumbnail","fileDimensions","thumbnailDimensions","_assign","_ref4","_ref5","_ref6","proxyEvents","getFiles","files","_iterator","_step","_step$value","uri","uploadOptions","fileHash","sha256","_ref7","role","initializeBody","qs","transcode","phases","body","$url","uploadUrl","finalize","$uri","finishUploadUrl","remove","delete","prepare","Error","activity","verb","undefined","items","promises","item","contentCategory","_determineContentCategory","_itemContainsActionWithMimeType","_some2","map","actions","mimeTypes","_filter2","_map3","split","shift","_iterator2","_step2","request","method","res","version","_object$object","_files$items","_files","_deleteProperty","share","parent","_default2"],"sources":["share-activity.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\n\nimport SCR from 'node-scr';\nimport {proxyEvents, transferEvents} from '@webex/common';\nimport {WebexPlugin} from '@webex/webex-core';\nimport {filter, map, pick, some} from 'lodash';\nimport {detectFileType, processImage} from '@webex/helper-image';\nimport sha256 from 'crypto-js/sha256';\n\nexport const EMITTER_SYMBOL = Symbol('EMITTER_SYMBOL');\nexport const FILE_SYMBOL = Symbol('FILE_SYMBOL');\nconst PROMISE_SYMBOL = Symbol('PROMISE_SYMBOL');\n\n/**\n * @class\n */\nconst ShareActivity = WebexPlugin.extend({\n getSymbols() {\n return {\n file: FILE_SYMBOL,\n emitter: EMITTER_SYMBOL,\n };\n },\n\n namespace: 'Conversation',\n\n derived: {\n target: {\n deps: ['conversation'],\n fn() {\n return this.conversation;\n },\n },\n },\n\n session: {\n claimedFileType: 'string',\n conversation: {\n required: true,\n type: 'object',\n },\n\n content: 'string',\n\n clientTempId: 'string',\n\n displayName: 'string',\n\n enableThumbnails: {\n default: true,\n type: 'boolean',\n },\n\n hiddenSpaceUrl: 'object',\n\n mentions: 'object',\n\n spaceUrl: 'object',\n\n uploads: {\n type: 'object',\n default() {\n return new Map();\n },\n },\n },\n\n initialize(attrs, options) {\n Reflect.apply(WebexPlugin.prototype.initialize, this, [attrs, options]);\n\n if (attrs && attrs.conversation) {\n this.spaceUrl = Promise.resolve(\n attrs.conversation._spaceUrl ||\n this._retrieveSpaceUrl(`${attrs.conversation.url}/space`).then((url) => {\n attrs.conversation._spaceUrl = url;\n\n return url;\n })\n );\n this.hiddenSpaceUrl = Promise.resolve(\n attrs.conversation._hiddenSpaceUrl ||\n this._retrieveSpaceUrl(`${attrs.conversation.url}/space/hidden`).then((url) => {\n attrs.conversation._hiddenSpaceUrl = url;\n\n return url;\n })\n );\n }\n },\n\n /**\n * Adds an additional GIF to the share activity\n * Different from regular add to skip uploading to webex files service\n * @param {File} gif\n * @param {File} gif.image // thumbnail\n * @param {Object} options\n * @param {Object} options.actions\n * @returns {Promise}\n */\n addGif(gif, options) {\n let gifToAdd = this.uploads.get(gif);\n\n // If the gif already exists, then don't do anything\n if (gifToAdd) {\n return Promise.resolve();\n }\n\n gifToAdd = {\n displayName: gif.name,\n fileSize: gif.size || gif.byteLength || gif.length,\n mimeType: gif.type,\n url: 'https://giphy.com',\n objectType: 'file',\n height: gif.height,\n width: gif.width,\n image: {\n height: gif.image.height,\n width: gif.image.width,\n url: 'https://giphy.com',\n },\n [FILE_SYMBOL]: gif,\n ...pick(options, 'actions'),\n };\n\n this.uploads.set(gif, gifToAdd);\n\n /* Instead of encryptBinary, which produces a encrypted version of\n * the file for upload and a SCR (contains info needed to encrypt the\n * SCR itself and the displayName), we directly create an SCR.\n * Because we are skipping uploading, the encrypted file is not needed.\n */\n return SCR.create()\n .then((scr) => {\n scr.loc = gif.url;\n gifToAdd.scr = scr;\n\n return SCR.create();\n })\n .then((thumbnailScr) => {\n thumbnailScr.loc = gif.image.url;\n gifToAdd.image.scr = thumbnailScr;\n });\n },\n\n /**\n * Adds an additional file to the share and begins submitting it to webex\n * files\n * @param {File} file\n * @param {Object} options\n * @param {Object} options.actions\n * @returns {EventEmittingPromise}\n */\n add(file, options) {\n options = options || {};\n options.claimedFileType = file.name.substring(file.name.lastIndexOf('.'));\n let upload = this.uploads.get(file);\n\n if (upload) {\n return upload[PROMISE_SYMBOL];\n }\n const emitter = new EventEmitter();\n\n upload = {\n displayName: file.name,\n fileSize: file.size || file.byteLength || file.length,\n mimeType: file.type,\n objectType: 'file',\n [EMITTER_SYMBOL]: emitter,\n [FILE_SYMBOL]: file,\n ...pick(options, 'actions'),\n };\n\n this.uploads.set(file, upload);\n const promise = detectFileType(file, this.logger)\n .then((type) => {\n upload.mimeType = type;\n\n return processImage({\n file,\n type,\n thumbnailMaxWidth: this.config.thumbnailMaxWidth,\n thumbnailMaxHeight: this.config.thumbnailMaxHeight,\n enableThumbnails: this.enableThumbnails,\n logger: this.logger,\n });\n })\n .then((imageData) => {\n const main = this.webex.internal.encryption\n .encryptBinary(file)\n .then(({scr, cdata}) => {\n upload.scr = scr;\n\n return Promise.all([cdata, this.spaceUrl]);\n })\n .then(([cdata, spaceUrl]) => {\n const uploadPromise = this._upload(cdata, `${spaceUrl}/upload_sessions`, options);\n\n transferEvents('progress', uploadPromise, emitter);\n\n return uploadPromise;\n })\n .then((metadata) => {\n upload.url = upload.scr.loc = metadata.downloadUrl;\n });\n\n let thumb;\n\n if (imageData) {\n const [thumbnail, fileDimensions, thumbnailDimensions] = imageData;\n\n Object.assign(upload, fileDimensions);\n\n if (thumbnail && thumbnailDimensions) {\n upload.image = thumbnailDimensions;\n thumb = this.webex.internal.encryption\n .encryptBinary(thumbnail)\n .then(({scr, cdata}) => {\n upload.image.scr = scr;\n\n return Promise.all([cdata, this.hiddenSpaceUrl]);\n })\n .then(([cdata, spaceUrl]) => this._upload(cdata, `${spaceUrl}/upload_sessions`))\n .then((metadata) => {\n upload.image.url = upload.image.scr.loc = metadata.downloadUrl;\n });\n }\n }\n\n return Promise.all([main, thumb]);\n });\n\n upload[PROMISE_SYMBOL] = promise;\n\n proxyEvents(emitter, promise);\n\n return promise;\n },\n\n /**\n * Fetches the files from the share\n * @returns {Array}\n */\n getFiles() {\n const files = [];\n\n for (const [key] of this.uploads) {\n files.push(this.uploads.get(key)[FILE_SYMBOL]);\n }\n\n return files;\n },\n\n /**\n * @param {File} file\n * @param {string} uri\n * @param {Object} uploadOptions - Optional object adding additional params to request body\n * @private\n * @returns {Promise}\n */\n _upload(file, uri, uploadOptions) {\n const fileSize = file.length || file.size || file.byteLength;\n const fileHash = sha256(file).toString();\n const {role, claimedFileType} = uploadOptions ?? {};\n const initializeBody = {fileSize, claimedFileType, ...(role && {role})};\n\n return this.webex.upload({\n uri,\n file,\n qs: {\n transcode: true,\n },\n phases: {\n initialize: {\n body: initializeBody,\n },\n upload: {\n $url(session) {\n return session.uploadUrl;\n },\n },\n finalize: {\n $uri(session) {\n return session.finishUploadUrl;\n },\n body: {fileSize, fileHash},\n },\n },\n });\n },\n\n /**\n * Removes the specified file from the share (Does not currently delete the\n * uploaded file)\n * @param {File} file\n * @returns {Promise}\n */\n remove(file) {\n this.uploads.delete(file);\n\n // Returns a promise for future-proofiness.\n return Promise.resolve();\n },\n\n /**\n * @private\n * @returns {Promise<Object>}\n */\n prepare() {\n if (!this.uploads.size) {\n throw new Error('Cannot submit a share activity without at least one file');\n }\n\n const activity = {\n verb: 'share',\n object: {\n objectType: 'content',\n displayName: this.object && this.object.displayName ? this.object.displayName : undefined,\n content: this.object && this.object.content ? this.object.content : undefined,\n mentions: this.object && this.object.mentions ? this.object.mentions : undefined,\n files: {\n items: [],\n },\n },\n clientTempId: this.clientTempId,\n };\n\n const promises = [];\n\n this.uploads.forEach((item) => {\n activity.object.files.items.push(item);\n promises.push(item[PROMISE_SYMBOL]);\n });\n\n activity.object.contentCategory = this._determineContentCategory(activity.object.files.items);\n\n return Promise.all(promises).then(() => activity);\n },\n\n /**\n * @param {Array} items\n * @param {string} mimeType\n * @private\n * @returns {boolean}\n */\n _itemContainsActionWithMimeType(items, mimeType) {\n return some(items.map((item) => some(item.actions, {mimeType})));\n },\n\n /**\n * @param {Array} items\n * @private\n * @returns {string}\n */\n _determineContentCategory(items) {\n // determine if the items contain an image\n if (this._itemContainsActionWithMimeType(items, 'application/x-cisco-webex-whiteboard')) {\n return 'documents';\n }\n\n const mimeTypes = filter(map(items, 'mimeType'));\n\n if (mimeTypes.length !== items.length) {\n return 'documents';\n }\n\n const contentCategory = mimeTypes[0].split('/').shift();\n\n if (contentCategory !== 'video' && contentCategory !== 'image') {\n return 'documents';\n }\n\n for (const mimeType of mimeTypes) {\n if (mimeType.split('/').shift() !== contentCategory) {\n return 'documents';\n }\n }\n\n return `${contentCategory}s`;\n },\n\n /**\n * @param {string} uri\n * @returns {Promise}\n */\n _retrieveSpaceUrl(uri) {\n return this.webex\n .request({\n method: 'PUT',\n uri,\n })\n .then((res) => res.body.spaceUrl);\n },\n});\n\n/**\n * Instantiates a ShareActivity\n * @param {Object} conversation\n * @param {ShareActivity|Object|array} object\n * @param {ProxyWebex} webex\n * @returns {ShareActivity}\n */\nShareActivity.create = function create(conversation, object, webex) {\n if (object instanceof ShareActivity) {\n return object;\n }\n\n let files;\n\n if (object?.object?.files) {\n files = object.object.files;\n Reflect.deleteProperty(object.object, 'files');\n }\n\n const share = new ShareActivity(\n {\n conversation,\n ...object,\n },\n {\n parent: webex,\n }\n );\n\n files = files?.items ?? files;\n if (files) {\n files.forEach((file) => share.add(file));\n }\n\n return share;\n};\n\nexport default ShareActivity;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_events","require","_nodeScr","_interopRequireDefault","_common","_webexCore","_lodash","_helperImage","_sha","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol2","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","r","t","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","EMITTER_SYMBOL","exports","_symbol","FILE_SYMBOL","PROMISE_SYMBOL","ShareActivity","WebexPlugin","extend","getSymbols","file","emitter","namespace","derived","target","deps","fn","conversation","session","claimedFileType","required","type","content","clientTempId","displayName","enableThumbnails","hiddenSpaceUrl","mentions","spaceUrl","uploads","_default","_map","initialize","attrs","options","_apply","_promise","resolve","_spaceUrl","_retrieveSpaceUrl","concat","url","then","_hiddenSpaceUrl","addGif","gif","gifToAdd","get","fileSize","size","byteLength","mimeType","objectType","height","width","image","pick","set","SCR","create","scr","loc","thumbnailScr","add","_this","substring","lastIndexOf","upload","EventEmitter","promise","detectFileType","logger","processImage","thumbnailMaxWidth","config","thumbnailMaxHeight","imageData","main","webex","internal","encryption","encryptBinary","_ref","cdata","all","_ref2","_ref3","_slicedToArray2","uploadPromise","_upload","transferEvents","metadata","downloadUrl","thumb","_imageData","thumbnail","fileDimensions","thumbnailDimensions","_assign","_ref4","_ref5","_ref6","proxyEvents","getFiles","files","_iterator","_step","_step$value","key","uri","uploadOptions","fileHash","sha256","_ref7","role","initializeBody","qs","transcode","phases","body","$url","uploadUrl","finalize","$uri","finishUploadUrl","remove","delete","prepare","Error","activity","verb","object","undefined","items","promises","item","contentCategory","_determineContentCategory","_itemContainsActionWithMimeType","some","map","actions","mimeTypes","split","shift","_iterator2","_step2","request","method","res","version","_object$object","_files$items","_files","_deleteProperty","share","parent","_default2"],"sources":["share-activity.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {EventEmitter} from 'events';\n\nimport SCR from 'node-scr';\nimport {proxyEvents, transferEvents} from '@webex/common';\nimport {WebexPlugin} from '@webex/webex-core';\nimport {filter, map, pick, some} from 'lodash';\nimport {detectFileType, processImage} from '@webex/helper-image';\nimport sha256 from 'crypto-js/sha256';\n\nexport const EMITTER_SYMBOL = Symbol('EMITTER_SYMBOL');\nexport const FILE_SYMBOL = Symbol('FILE_SYMBOL');\nconst PROMISE_SYMBOL = Symbol('PROMISE_SYMBOL');\n\n/**\n * @class\n */\nconst ShareActivity = WebexPlugin.extend({\n getSymbols() {\n return {\n file: FILE_SYMBOL,\n emitter: EMITTER_SYMBOL,\n };\n },\n\n namespace: 'Conversation',\n\n derived: {\n target: {\n deps: ['conversation'],\n fn() {\n return this.conversation;\n },\n },\n },\n\n session: {\n claimedFileType: 'string',\n conversation: {\n required: true,\n type: 'object',\n },\n\n content: 'string',\n\n clientTempId: 'string',\n\n displayName: 'string',\n\n enableThumbnails: {\n default: true,\n type: 'boolean',\n },\n\n hiddenSpaceUrl: 'object',\n\n mentions: 'object',\n\n spaceUrl: 'object',\n\n uploads: {\n type: 'object',\n default() {\n return new Map();\n },\n },\n },\n\n initialize(attrs, options) {\n Reflect.apply(WebexPlugin.prototype.initialize, this, [attrs, options]);\n\n if (attrs && attrs.conversation) {\n this.spaceUrl = Promise.resolve(\n attrs.conversation._spaceUrl ||\n this._retrieveSpaceUrl(`${attrs.conversation.url}/space`).then((url) => {\n attrs.conversation._spaceUrl = url;\n\n return url;\n })\n );\n this.hiddenSpaceUrl = Promise.resolve(\n attrs.conversation._hiddenSpaceUrl ||\n this._retrieveSpaceUrl(`${attrs.conversation.url}/space/hidden`).then((url) => {\n attrs.conversation._hiddenSpaceUrl = url;\n\n return url;\n })\n );\n }\n },\n\n /**\n * Adds an additional GIF to the share activity\n * Different from regular add to skip uploading to webex files service\n * @param {File} gif\n * @param {File} gif.image // thumbnail\n * @param {Object} options\n * @param {Object} options.actions\n * @returns {Promise}\n */\n addGif(gif, options) {\n let gifToAdd = this.uploads.get(gif);\n\n // If the gif already exists, then don't do anything\n if (gifToAdd) {\n return Promise.resolve();\n }\n\n gifToAdd = {\n displayName: gif.name,\n fileSize: gif.size || gif.byteLength || gif.length,\n mimeType: gif.type,\n url: 'https://giphy.com',\n objectType: 'file',\n height: gif.height,\n width: gif.width,\n image: {\n height: gif.image.height,\n width: gif.image.width,\n url: 'https://giphy.com',\n },\n [FILE_SYMBOL]: gif,\n ...pick(options, 'actions'),\n };\n\n this.uploads.set(gif, gifToAdd);\n\n /* Instead of encryptBinary, which produces a encrypted version of\n * the file for upload and a SCR (contains info needed to encrypt the\n * SCR itself and the displayName), we directly create an SCR.\n * Because we are skipping uploading, the encrypted file is not needed.\n */\n return SCR.create()\n .then((scr) => {\n scr.loc = gif.url;\n gifToAdd.scr = scr;\n\n return SCR.create();\n })\n .then((thumbnailScr) => {\n thumbnailScr.loc = gif.image.url;\n gifToAdd.image.scr = thumbnailScr;\n });\n },\n\n /**\n * Adds an additional file to the share and begins submitting it to webex\n * files\n * @param {File} file\n * @param {Object} options\n * @param {Object} options.actions\n * @returns {EventEmittingPromise}\n */\n add(file, options) {\n options = options || {};\n options.claimedFileType = file.name.substring(file.name.lastIndexOf('.'));\n let upload = this.uploads.get(file);\n\n if (upload) {\n return upload[PROMISE_SYMBOL];\n }\n const emitter = new EventEmitter();\n\n upload = {\n displayName: file.name,\n fileSize: file.size || file.byteLength || file.length,\n mimeType: file.type,\n objectType: 'file',\n [EMITTER_SYMBOL]: emitter,\n [FILE_SYMBOL]: file,\n ...pick(options, 'actions'),\n };\n\n this.uploads.set(file, upload);\n const promise = detectFileType(file, this.logger)\n .then((type) => {\n upload.mimeType = type;\n\n return processImage({\n file,\n type,\n thumbnailMaxWidth: this.config.thumbnailMaxWidth,\n thumbnailMaxHeight: this.config.thumbnailMaxHeight,\n enableThumbnails: this.enableThumbnails,\n logger: this.logger,\n });\n })\n .then((imageData) => {\n const main = this.webex.internal.encryption\n .encryptBinary(file)\n .then(({scr, cdata}) => {\n upload.scr = scr;\n\n return Promise.all([cdata, this.spaceUrl]);\n })\n .then(([cdata, spaceUrl]) => {\n const uploadPromise = this._upload(cdata, `${spaceUrl}/upload_sessions`, options);\n\n transferEvents('progress', uploadPromise, emitter);\n\n return uploadPromise;\n })\n .then((metadata) => {\n upload.url = upload.scr.loc = metadata.downloadUrl;\n });\n\n let thumb;\n\n if (imageData) {\n const [thumbnail, fileDimensions, thumbnailDimensions] = imageData;\n\n Object.assign(upload, fileDimensions);\n\n if (thumbnail && thumbnailDimensions) {\n upload.image = thumbnailDimensions;\n thumb = this.webex.internal.encryption\n .encryptBinary(thumbnail)\n .then(({scr, cdata}) => {\n upload.image.scr = scr;\n\n return Promise.all([cdata, this.hiddenSpaceUrl]);\n })\n .then(([cdata, spaceUrl]) => this._upload(cdata, `${spaceUrl}/upload_sessions`))\n .then((metadata) => {\n upload.image.url = upload.image.scr.loc = metadata.downloadUrl;\n });\n }\n }\n\n return Promise.all([main, thumb]);\n });\n\n upload[PROMISE_SYMBOL] = promise;\n\n proxyEvents(emitter, promise);\n\n return promise;\n },\n\n /**\n * Fetches the files from the share\n * @returns {Array}\n */\n getFiles() {\n const files = [];\n\n for (const [key] of this.uploads) {\n files.push(this.uploads.get(key)[FILE_SYMBOL]);\n }\n\n return files;\n },\n\n /**\n * @param {File} file\n * @param {string} uri\n * @param {Object} uploadOptions - Optional object adding additional params to request body\n * @private\n * @returns {Promise}\n */\n _upload(file, uri, uploadOptions) {\n const fileSize = file.length || file.size || file.byteLength;\n const fileHash = sha256(file).toString();\n const {role, claimedFileType} = uploadOptions ?? {};\n const initializeBody = {fileSize, claimedFileType, ...(role && {role})};\n\n return this.webex.upload({\n uri,\n file,\n qs: {\n transcode: true,\n },\n phases: {\n initialize: {\n body: initializeBody,\n },\n upload: {\n $url(session) {\n return session.uploadUrl;\n },\n },\n finalize: {\n $uri(session) {\n return session.finishUploadUrl;\n },\n body: {fileSize, fileHash},\n },\n },\n });\n },\n\n /**\n * Removes the specified file from the share (Does not currently delete the\n * uploaded file)\n * @param {File} file\n * @returns {Promise}\n */\n remove(file) {\n this.uploads.delete(file);\n\n // Returns a promise for future-proofiness.\n return Promise.resolve();\n },\n\n /**\n * @private\n * @returns {Promise<Object>}\n */\n prepare() {\n if (!this.uploads.size) {\n throw new Error('Cannot submit a share activity without at least one file');\n }\n\n const activity = {\n verb: 'share',\n object: {\n objectType: 'content',\n displayName: this.object && this.object.displayName ? this.object.displayName : undefined,\n content: this.object && this.object.content ? this.object.content : undefined,\n mentions: this.object && this.object.mentions ? this.object.mentions : undefined,\n files: {\n items: [],\n },\n },\n clientTempId: this.clientTempId,\n };\n\n const promises = [];\n\n this.uploads.forEach((item) => {\n activity.object.files.items.push(item);\n promises.push(item[PROMISE_SYMBOL]);\n });\n\n activity.object.contentCategory = this._determineContentCategory(activity.object.files.items);\n\n return Promise.all(promises).then(() => activity);\n },\n\n /**\n * @param {Array} items\n * @param {string} mimeType\n * @private\n * @returns {boolean}\n */\n _itemContainsActionWithMimeType(items, mimeType) {\n return some(items.map((item) => some(item.actions, {mimeType})));\n },\n\n /**\n * @param {Array} items\n * @private\n * @returns {string}\n */\n _determineContentCategory(items) {\n // determine if the items contain an image\n if (this._itemContainsActionWithMimeType(items, 'application/x-cisco-webex-whiteboard')) {\n return 'documents';\n }\n\n const mimeTypes = filter(map(items, 'mimeType'));\n\n if (mimeTypes.length !== items.length) {\n return 'documents';\n }\n\n const contentCategory = mimeTypes[0].split('/').shift();\n\n if (contentCategory !== 'video' && contentCategory !== 'image') {\n return 'documents';\n }\n\n for (const mimeType of mimeTypes) {\n if (mimeType.split('/').shift() !== contentCategory) {\n return 'documents';\n }\n }\n\n return `${contentCategory}s`;\n },\n\n /**\n * @param {string} uri\n * @returns {Promise}\n */\n _retrieveSpaceUrl(uri) {\n return this.webex\n .request({\n method: 'PUT',\n uri,\n })\n .then((res) => res.body.spaceUrl);\n },\n});\n\n/**\n * Instantiates a ShareActivity\n * @param {Object} conversation\n * @param {ShareActivity|Object|array} object\n * @param {ProxyWebex} webex\n * @returns {ShareActivity}\n */\nShareActivity.create = function create(conversation, object, webex) {\n if (object instanceof ShareActivity) {\n return object;\n }\n\n let files;\n\n if (object?.object?.files) {\n files = object.object.files;\n Reflect.deleteProperty(object.object, 'files');\n }\n\n const share = new ShareActivity(\n {\n conversation,\n ...object,\n },\n {\n parent: webex,\n }\n );\n\n files = files?.items ?? files;\n if (files) {\n files.forEach((file) => share.add(file));\n }\n\n return share;\n};\n\nexport default ShareActivity;\n"],"mappings":"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"}
package/dist/to-array.js CHANGED
@@ -11,11 +11,13 @@ _Object$defineProperty(exports, "__esModule", {
11
11
  value: true
12
12
  });
13
13
  exports.default = toArray;
14
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
15
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
16
- var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
17
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(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; }
18
- 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; }
15
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
16
+ var _lodash = require("lodash");
17
+ function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } /*!
19
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
20
+ */
19
21
  /**
20
22
  * Helper to convert objects into arrays of transforms. probably belongs in
21
23
  * webex-core
@@ -27,7 +29,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
27
29
  function toArray(direction, obj) {
28
30
  return (0, _keys.default)(obj).map(function (name) {
29
31
  var entry = obj[name];
30
- if ((0, _isFunction2.default)(entry)) {
32
+ if ((0, _lodash.isFunction)(entry)) {
31
33
  return {
32
34
  name: name,
33
35
  direction: direction,
@@ -1 +1 @@
1
- {"version":3,"names":["toArray","direction","obj","_keys","default","map","name","entry","_isFunction2","fn","_objectSpread"],"sources":["to-array.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {isFunction} from 'lodash';\n\n/**\n * Helper to convert objects into arrays of transforms. probably belongs in\n * webex-core\n * @param {string} direction \"inbound\"|\"outbound\"\n * @param {Object} obj\n * @private\n * @returns {Array}\n */\nexport default function toArray(direction, obj) {\n return Object.keys(obj).map((name) => {\n const entry = obj[name];\n\n if (isFunction(entry)) {\n return {\n name,\n direction,\n fn: entry,\n };\n }\n\n return {name, ...entry};\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,OAAOA,CAACC,SAAS,EAAEC,GAAG,EAAE;EAC9C,OAAO,IAAAC,KAAA,CAAAC,OAAA,EAAYF,GAAG,CAAC,CAACG,GAAG,CAAC,UAACC,IAAI,EAAK;IACpC,IAAMC,KAAK,GAAGL,GAAG,CAACI,IAAI,CAAC;IAEvB,IAAI,IAAAE,YAAA,CAAAJ,OAAA,EAAWG,KAAK,CAAC,EAAE;MACrB,OAAO;QACLD,IAAI,EAAJA,IAAI;QACJL,SAAS,EAATA,SAAS;QACTQ,EAAE,EAAEF;MACN,CAAC;IACH;IAEA,OAAAG,aAAA;MAAQJ,IAAI,EAAJA;IAAI,GAAKC,KAAK;EACxB,CAAC,CAAC;AACJ"}
1
+ {"version":3,"names":["_lodash","require","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","toArray","direction","obj","_keys","map","name","entry","isFunction","fn"],"sources":["to-array.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {isFunction} from 'lodash';\n\n/**\n * Helper to convert objects into arrays of transforms. probably belongs in\n * webex-core\n * @param {string} direction \"inbound\"|\"outbound\"\n * @param {Object} obj\n * @private\n * @returns {Array}\n */\nexport default function toArray(direction, obj) {\n return Object.keys(obj).map((name) => {\n const entry = obj[name];\n\n if (isFunction(entry)) {\n return {\n name,\n direction,\n fn: entry,\n };\n }\n\n return {name, ...entry};\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AAAkC,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,aAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAJlC;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASqB,OAAOA,CAACC,SAAS,EAAEC,GAAG,EAAE;EAC9C,OAAO,IAAAC,KAAA,CAAAP,OAAA,EAAYM,GAAG,CAAC,CAACE,GAAG,CAAC,UAACC,IAAI,EAAK;IACpC,IAAMC,KAAK,GAAGJ,GAAG,CAACG,IAAI,CAAC;IAEvB,IAAI,IAAAE,kBAAU,EAACD,KAAK,CAAC,EAAE;MACrB,OAAO;QACLD,IAAI,EAAJA,IAAI;QACJJ,SAAS,EAATA,SAAS;QACTO,EAAE,EAAEF;MACN,CAAC;IACH;IAEA,OAAAhB,aAAA;MAAQe,IAAI,EAAJA;IAAI,GAAKC,KAAK;EACxB,CAAC,CAAC;AACJ"}
package/package.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-conversation",
3
- "version": "2.59.8",
4
3
  "description": "",
5
4
  "license": "MIT",
6
5
  "main": "dist/index.js",
@@ -11,7 +10,7 @@
11
10
  "directory": "packages/@webex/internal-plugin-conversation"
12
11
  },
13
12
  "engines": {
14
- "node": ">=14"
13
+ "node": ">=16"
15
14
  },
16
15
  "browserify": {
17
16
  "transform": [
@@ -20,12 +19,12 @@
20
19
  ]
21
20
  },
22
21
  "dependencies": {
23
- "@webex/common": "2.59.8",
24
- "@webex/helper-html": "2.59.8",
25
- "@webex/helper-image": "2.59.8",
26
- "@webex/internal-plugin-encryption": "2.59.8",
27
- "@webex/internal-plugin-user": "2.59.8",
28
- "@webex/webex-core": "2.59.8",
22
+ "@webex/common": "^2.60.0-next.2",
23
+ "@webex/helper-html": "^2.60.0-next.2",
24
+ "@webex/helper-image": "^2.60.0-next.2",
25
+ "@webex/internal-plugin-encryption": "^2.60.0-next.2",
26
+ "@webex/internal-plugin-user": "^2.60.0-next.2",
27
+ "@webex/webex-core": "^2.60.0-next.2",
29
28
  "crypto-js": "^4.1.1",
30
29
  "lodash": "^4.17.21",
31
30
  "node-scr": "^0.3.0",
@@ -33,17 +32,17 @@
33
32
  },
34
33
  "devDependencies": {
35
34
  "@babel/core": "^7.17.10",
36
- "@webex/babel-config-legacy": "2.59.8",
37
- "@webex/eslint-config-legacy": "2.59.8",
38
- "@webex/jest-config-legacy": "2.59.8",
39
- "@webex/legacy-tools": "2.59.8",
40
- "@webex/test-helper-chai": "2.59.8",
41
- "@webex/test-helper-file": "2.59.8",
42
- "@webex/test-helper-make-local-url": "2.59.8",
43
- "@webex/test-helper-mocha": "2.59.8",
44
- "@webex/test-helper-mock-webex": "2.59.8",
45
- "@webex/test-helper-retry": "2.59.8",
46
- "@webex/test-helper-test-users": "2.59.8",
35
+ "@webex/babel-config-legacy": "^0.0.0",
36
+ "@webex/eslint-config-legacy": "^0.0.0",
37
+ "@webex/jest-config-legacy": "^0.0.0",
38
+ "@webex/legacy-tools": "^0.0.0",
39
+ "@webex/test-helper-chai": "^2.60.0-next.2",
40
+ "@webex/test-helper-file": "^2.60.0-next.2",
41
+ "@webex/test-helper-make-local-url": "^2.60.0-next.2",
42
+ "@webex/test-helper-mocha": "^2.60.0-next.2",
43
+ "@webex/test-helper-mock-webex": "^2.60.0-next.2",
44
+ "@webex/test-helper-retry": "^2.60.0-next.2",
45
+ "@webex/test-helper-test-users": "^2.60.0-next.2",
47
46
  "eslint": "^8.24.0",
48
47
  "prettier": "^2.7.1",
49
48
  "sinon": "^9.2.4"
@@ -51,10 +50,12 @@
51
50
  "scripts": {
52
51
  "build": "yarn build:src",
53
52
  "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
53
+ "deploy:npm": "yarn npm publish",
54
54
  "test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
55
55
  "test:browser:broken": "webex-legacy-tools test --integration --unit --runner karma",
56
56
  "test:integration:broken": "webex-legacy-tools test --integration --runner mocha",
57
57
  "test:style": "eslint ./src/**/*.*",
58
58
  "test:unit": "webex-legacy-tools test --unit --runner jest"
59
- }
60
- }
59
+ },
60
+ "version": "2.60.0-next.2"
61
+ }
@@ -292,10 +292,11 @@ const Conversation = WebexPlugin.extend({
292
292
  /**
293
293
  * delete a reaction
294
294
  * @param {Object} conversation
295
- * @param {Object} reactionId
295
+ * @param {Object} reactionId,
296
+ * @param {String} recipientId,
296
297
  * @returns {Promise<Activity>}
297
298
  */
298
- deleteReaction(conversation, reactionId) {
299
+ deleteReaction(conversation, reactionId, recipientId) {
299
300
  const deleteReactionPayload = {
300
301
  actor: {objectType: 'person', id: this.webex.internal.device.userId},
301
302
  object: {
@@ -310,6 +311,11 @@ const Conversation = WebexPlugin.extend({
310
311
  verb: 'delete',
311
312
  };
312
313
 
314
+ // Is not required for the request to be accepted, but follows specification.
315
+ if (recipientId) {
316
+ deleteReactionPayload.recipients = {items: [{id: recipientId, objectType: 'person'}]};
317
+ }
318
+
313
319
  return this.sendReaction(conversation, deleteReactionPayload);
314
320
  },
315
321
 
@@ -318,9 +324,10 @@ const Conversation = WebexPlugin.extend({
318
324
  * @param {Object} conversation
319
325
  * @param {Object} displayName must be 'celebrate', 'heart', 'thumbsup', 'smiley', 'haha', 'confused', 'sad'
320
326
  * @param {Object} activity activity object from convo we are reacting to
327
+ * @param {String} recipientId,
321
328
  * @returns {Promise<Activity>}
322
329
  */
323
- addReaction(conversation, displayName, activity) {
330
+ addReaction(conversation, displayName, activity, recipientId) {
324
331
  return this.createReactionHmac(displayName, activity).then((hmac) => {
325
332
  const addReactionPayload = {
326
333
  actor: {objectType: 'person', id: this.webex.internal.device.userId},
@@ -341,6 +348,10 @@ const Conversation = WebexPlugin.extend({
341
348
  },
342
349
  };
343
350
 
351
+ if (recipientId) {
352
+ addReactionPayload.recipients = {items: [{id: recipientId, objectType: 'person'}]};
353
+ }
354
+
344
355
  return this.sendReaction(conversation, addReactionPayload);
345
356
  });
346
357
  },
@@ -397,9 +408,7 @@ const Conversation = WebexPlugin.extend({
397
408
  let promise;
398
409
 
399
410
  if (isEncrypted) {
400
- promise = this.webex.internal.encryption.download(item.scr, item.options);
401
- } else if (item.scr && item.scr.loc) {
402
- promise = this._downloadUnencryptedFile(item.scr.loc, options);
411
+ promise = this.webex.internal.encryption.download(item.url, item.scr, item.options);
403
412
  } else {
404
413
  promise = this._downloadUnencryptedFile(item.url, options);
405
414
  }
@@ -1036,6 +1045,10 @@ const Conversation = WebexPlugin.extend({
1036
1045
  };
1037
1046
  }
1038
1047
 
1048
+ if (activity.recipients) {
1049
+ act.recipients = activity.recipients;
1050
+ }
1051
+
1039
1052
  if (isString(act.actor)) {
1040
1053
  act.actor = {
1041
1054
  objectType: 'person',
@@ -82,6 +82,14 @@ export const transforms = toArray('outbound', {
82
82
  },
83
83
 
84
84
  encryptActivity(ctx, key, activity) {
85
+ // Meeting Container policy update requests do not need to be encrypted.
86
+ if (
87
+ activity?.target?.objectType === 'meetingContainer' &&
88
+ activity?.object?.objectType === 'policies'
89
+ ) {
90
+ return Promise.resolve();
91
+ }
92
+
85
93
  // Activity is already encrypted
86
94
  if (activity.encryptionKeyUrl || activity.object?.created === 'True') {
87
95
  return Promise.resolve();
@@ -43,7 +43,6 @@ describe('plugin-conversation', function () {
43
43
  },
44
44
  });
45
45
 
46
- // eslint-disable-next-line no-unused-expressions
47
46
  await webex.internal.mercury.connect();
48
47
  await mccoy.webex.internal.mercury.connect();
49
48
 
@@ -51,9 +50,9 @@ describe('plugin-conversation', function () {
51
50
  });
52
51
 
53
52
  after(async () => {
54
- // eslint-disable-next-line no-unused-expressions
53
+ // eslint-disable-next-line chai-friendly/no-unused-expressions
55
54
  webex && (await webex.internal.mercury.disconnect());
56
- // eslint-disable-next-line no-unused-expressions
55
+ // eslint-disable-next-line chai-friendly/no-unused-expressions
57
56
  mccoy && (await mccoy.webex.internal.mercury.disconnect());
58
57
  });
59
58
 
@@ -204,7 +204,6 @@ describe('plugin-conversation', () => {
204
204
  )
205
205
  .then((ci) => {
206
206
  assert.property(c, 'defaultActivityEncryptionKeyUrl');
207
- /* eslint-disable no-unused-expressions */
208
207
  expect(ci.activities.items[0].object.inputs).to.not.be.null;
209
208
  });
210
209
  }));