@webex/internal-plugin-conversation 1.159.5 → 1.161.0

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["share-activity.js"],"names":["EMITTER_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","default","hiddenSpaceUrl","mentions","spaceUrl","uploads","initialize","attrs","options","prototype","resolve","_spaceUrl","_retrieveSpaceUrl","url","then","_hiddenSpaceUrl","addGif","gif","gifToAdd","get","name","fileSize","size","byteLength","length","mimeType","objectType","height","width","image","set","SCR","create","scr","loc","thumbnailScr","add","substring","lastIndexOf","upload","EventEmitter","promise","logger","thumbnailMaxWidth","config","thumbnailMaxHeight","imageData","main","webex","internal","encryption","encryptBinary","cdata","all","uploadPromise","_upload","metadata","downloadUrl","thumb","thumbnail","fileDimensions","thumbnailDimensions","getFiles","files","key","push","uri","uploadOptions","fileHash","toString","role","initializeBody","qs","transcode","phases","body","$url","uploadUrl","finalize","$uri","finishUploadUrl","remove","delete","prepare","Error","activity","verb","object","undefined","items","promises","forEach","item","contentCategory","_determineContentCategory","_itemContainsActionWithMimeType","map","actions","mimeTypes","split","shift","request","method","res","share","parent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;AACA;;AACA;;AAEA;;AACA;;;;;;;;AAEO,IAAMA,cAAc,GAAG,qBAAO,gBAAP,CAAvB;;AACA,IAAMC,WAAW,GAAG,qBAAO,aAAP,CAApB;;AACP,IAAMC,cAAc,GAAG,qBAAO,gBAAP,CAAvB;AAEA;AACA;AACA;;AACA,IAAMC,aAAa,GAAGC,uBAAYC,MAAZ,CAAmB;AACvCC,EAAAA,UADuC,wBAC1B;AACX,WAAO;AACLC,MAAAA,IAAI,EAAEN,WADD;AAELO,MAAAA,OAAO,EAAER;AAFJ,KAAP;AAID,GANsC;AAQvCS,EAAAA,SAAS,EAAE,cAR4B;AAUvCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,MAAM,EAAE;AACNC,MAAAA,IAAI,EAAE,CAAC,cAAD,CADA;AAENC,MAAAA,EAFM,gBAED;AACH,eAAO,KAAKC,YAAZ;AACD;AAJK;AADD,GAV8B;AAmBvCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,eAAe,EAAE,QADV;AAEPF,IAAAA,YAAY,EAAE;AACZG,MAAAA,QAAQ,EAAE,IADE;AAEZC,MAAAA,IAAI,EAAE;AAFM,KAFP;AAOPC,IAAAA,OAAO,EAAE,QAPF;AASPC,IAAAA,YAAY,EAAE,QATP;AAWPC,IAAAA,WAAW,EAAE,QAXN;AAaPC,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,OAAO,EAAE,IADO;AAEhBL,MAAAA,IAAI,EAAE;AAFU,KAbX;AAkBPM,IAAAA,cAAc,EAAE,QAlBT;AAoBPC,IAAAA,QAAQ,EAAE,QApBH;AAsBPC,IAAAA,QAAQ,EAAE,QAtBH;AAwBPC,IAAAA,OAAO,EAAE;AACPT,MAAAA,IAAI,EAAE,QADC;AAEPK,MAAAA,OAFO,sBAEG;AACR,eAAO,mBAAP;AACD;AAJM;AAxBF,GAnB8B;AAmDvCK,EAAAA,UAnDuC,sBAmD5BC,KAnD4B,EAmDrBC,OAnDqB,EAmDZ;AACzB,wBAAc1B,uBAAY2B,SAAZ,CAAsBH,UAApC,EAAgD,IAAhD,EAAsD,CAACC,KAAD,EAAQC,OAAR,CAAtD;;AAEA,QAAID,KAAK,IAAIA,KAAK,CAACf,YAAnB,EAAiC;AAC/B,WAAKY,QAAL,GAAgB,iBAAQM,OAAR,CAAgBH,KAAK,CAACf,YAAN,CAAmBmB,SAAnB,IAAgC,KAAKC,iBAAL,WAA0BL,KAAK,CAACf,YAAN,CAAmBqB,GAA7C,aAC7DC,IAD6D,CACxD,UAACD,GAAD,EAAS;AACbN,QAAAA,KAAK,CAACf,YAAN,CAAmBmB,SAAnB,GAA+BE,GAA/B;AAEA,eAAOA,GAAP;AACD,OAL6D,CAAhD,CAAhB;AAMA,WAAKX,cAAL,GAAsB,iBAAQQ,OAAR,CAAgBH,KAAK,CAACf,YAAN,CAAmBuB,eAAnB,IAAsC,KAAKH,iBAAL,WAA0BL,KAAK,CAACf,YAAN,CAAmBqB,GAA7C,oBACzEC,IADyE,CACpE,UAACD,GAAD,EAAS;AACbN,QAAAA,KAAK,CAACf,YAAN,CAAmBuB,eAAnB,GAAqCF,GAArC;AAEA,eAAOA,GAAP;AACD,OALyE,CAAtD,CAAtB;AAMD;AACF,GApEsC;;AAsEvC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEG,EAAAA,MA/EuC,kBA+EhCC,GA/EgC,EA+E3BT,OA/E2B,EA+ElB;AACnB,QAAIU,QAAQ,GAAG,KAAKb,OAAL,CAAac,GAAb,CAAiBF,GAAjB,CAAf,CADmB,CAGnB;;AACA,QAAIC,QAAJ,EAAc;AACZ,aAAO,iBAAQR,OAAR,EAAP;AACD;;AAEDQ,IAAAA,QAAQ,GAAG;AACTnB,MAAAA,WAAW,EAAEkB,GAAG,CAACG,IADR;AAETC,MAAAA,QAAQ,EAAEJ,GAAG,CAACK,IAAJ,IAAYL,GAAG,CAACM,UAAhB,IAA8BN,GAAG,CAACO,MAFnC;AAGTC,MAAAA,QAAQ,EAAER,GAAG,CAACrB,IAHL;AAITiB,MAAAA,GAAG,EAAE,mBAJI;AAKTa,MAAAA,UAAU,EAAE,MALH;AAMTC,MAAAA,MAAM,EAAEV,GAAG,CAACU,MANH;AAOTC,MAAAA,KAAK,EAAEX,GAAG,CAACW,KAPF;AAQTC,MAAAA,KAAK,EAAE;AACLF,QAAAA,MAAM,EAAEV,GAAG,CAACY,KAAJ,CAAUF,MADb;AAELC,QAAAA,KAAK,EAAEX,GAAG,CAACY,KAAJ,CAAUD,KAFZ;AAGLf,QAAAA,GAAG,EAAE;AAHA;AARE,OAaRlC,WAbQ,EAaMsC,GAbN,GAcR,oBAAKT,OAAL,EAAc,SAAd,CAdQ,CAAX;AAgBA,SAAKH,OAAL,CAAayB,GAAb,CAAiBb,GAAjB,EAAsBC,QAAtB;AAEA;AACJ;AACA;AACA;AACA;;AACI,WAAOa,iBAAIC,MAAJ,GACJlB,IADI,CACC,UAACmB,GAAD,EAAS;AACbA,MAAAA,GAAG,CAACC,GAAJ,GAAUjB,GAAG,CAACJ,GAAd;AACAK,MAAAA,QAAQ,CAACe,GAAT,GAAeA,GAAf;AAEA,aAAOF,iBAAIC,MAAJ,EAAP;AACD,KANI,EAOJlB,IAPI,CAOC,UAACqB,YAAD,EAAkB;AACtBA,MAAAA,YAAY,CAACD,GAAb,GAAmBjB,GAAG,CAACY,KAAJ,CAAUhB,GAA7B;AACAK,MAAAA,QAAQ,CAACW,KAAT,CAAeI,GAAf,GAAqBE,YAArB;AACD,KAVI,CAAP;AAWD,GAzHsC;;AA2HvC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,GAnIuC,eAmInCnD,IAnImC,EAmI7BuB,OAnI6B,EAmIpB;AAAA;AAAA;;AACjBA,IAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB;AACAA,IAAAA,OAAO,CAACd,eAAR,GAA0BT,IAAI,CAACc,WAAL,CAAiBsC,SAAjB,CAA2BpD,IAAI,CAACc,WAAL,CAAiBuC,WAAjB,CAA6B,GAA7B,CAA3B,CAA1B;AACA,QAAIC,MAAM,GAAG,KAAKlC,OAAL,CAAac,GAAb,CAAiBlC,IAAjB,CAAb;;AAEA,QAAIsD,MAAJ,EAAY;AACV,aAAOA,MAAM,CAAC3D,cAAD,CAAb;AACD;;AACD,QAAMM,OAAO,GAAG,IAAIsD,oBAAJ,EAAhB;AAEAD,IAAAA,MAAM,GAAG;AACPxC,MAAAA,WAAW,EAAEd,IAAI,CAACmC,IADX;AAEPC,MAAAA,QAAQ,EAAEpC,IAAI,CAACqC,IAAL,IAAarC,IAAI,CAACsC,UAAlB,IAAgCtC,IAAI,CAACuC,MAFxC;AAGPC,MAAAA,QAAQ,EAAExC,IAAI,CAACW,IAHR;AAIP8B,MAAAA,UAAU,EAAE;AAJL,sDAKNhD,cALM,EAKWQ,OALX,kDAMNP,WANM,EAMQM,IANR,qBAON,oBAAKuB,OAAL,EAAc,SAAd,CAPM,CAAT;AASA,SAAKH,OAAL,CAAayB,GAAb,CAAiB7C,IAAjB,EAAuBsD,MAAvB;AACA,QAAME,OAAO,GAAG,iCAAexD,IAAf,EAAqB,KAAKyD,MAA1B,EACb5B,IADa,CACR,UAAClB,IAAD,EAAU;AACd2C,MAAAA,MAAM,CAACd,QAAP,GAAkB7B,IAAlB;AAEA,aAAO,+BAAa;AAClBX,QAAAA,IAAI,EAAJA,IADkB;AAElBW,QAAAA,IAAI,EAAJA,IAFkB;AAGlB+C,QAAAA,iBAAiB,EAAE,KAAI,CAACC,MAAL,CAAYD,iBAHb;AAIlBE,QAAAA,kBAAkB,EAAE,KAAI,CAACD,MAAL,CAAYC,kBAJd;AAKlB7C,QAAAA,gBAAgB,EAAE,KAAI,CAACA,gBALL;AAMlB0C,QAAAA,MAAM,EAAE,KAAI,CAACA;AANK,OAAb,CAAP;AAQD,KAZa,EAab5B,IAba,CAaR,UAACgC,SAAD,EAAe;AACnB,UAAMC,IAAI,GAAG,KAAI,CAACC,KAAL,CAAWC,QAAX,CAAoBC,UAApB,CAA+BC,aAA/B,CAA6ClE,IAA7C,EACV6B,IADU,CACL,gBAAkB;AAAA,YAAhBmB,GAAgB,QAAhBA,GAAgB;AAAA,YAAXmB,KAAW,QAAXA,KAAW;AACtBb,QAAAA,MAAM,CAACN,GAAP,GAAaA,GAAb;AAEA,eAAO,iBAAQoB,GAAR,CAAY,CAACD,KAAD,EAAQ,KAAI,CAAChD,QAAb,CAAZ,CAAP;AACD,OALU,EAMVU,IANU,CAML,iBAAuB;AAAA;AAAA,YAArBsC,KAAqB;AAAA,YAAdhD,QAAc;;AAC3B,YAAMkD,aAAa,GAAG,KAAI,CAACC,OAAL,CAAaH,KAAb,YAAuBhD,QAAvB,uBAAmDI,OAAnD,CAAtB;;AAEA,oCAAe,UAAf,EAA2B8C,aAA3B,EAA0CpE,OAA1C;AAEA,eAAOoE,aAAP;AACD,OAZU,EAaVxC,IAbU,CAaL,UAAC0C,QAAD,EAAc;AAClBjB,QAAAA,MAAM,CAAC1B,GAAP,GAAa0B,MAAM,CAACN,GAAP,CAAWC,GAAX,GAAiBsB,QAAQ,CAACC,WAAvC;AACD,OAfU,CAAb;;AAkBA,UAAIC,KAAJ;;AAEA,UAAIZ,SAAJ,EAAe;AACb,sDAAyDA,SAAzD;AAAA,YAAOa,SAAP;AAAA,YAAkBC,cAAlB;AAAA,YAAkCC,mBAAlC;;AAEA,6BAActB,MAAd,EAAsBqB,cAAtB;;AAEA,YAAID,SAAS,IAAIE,mBAAjB,EAAsC;AACpCtB,UAAAA,MAAM,CAACV,KAAP,GAAegC,mBAAf;AACAH,UAAAA,KAAK,GAAG,KAAI,CAACV,KAAL,CAAWC,QAAX,CAAoBC,UAApB,CAA+BC,aAA/B,CAA6CQ,SAA7C,EACL7C,IADK,CACA,iBAAkB;AAAA,gBAAhBmB,GAAgB,SAAhBA,GAAgB;AAAA,gBAAXmB,KAAW,SAAXA,KAAW;AACtBb,YAAAA,MAAM,CAACV,KAAP,CAAaI,GAAb,GAAmBA,GAAnB;AAEA,mBAAO,iBAAQoB,GAAR,CAAY,CAACD,KAAD,EAAQ,KAAI,CAAClD,cAAb,CAAZ,CAAP;AACD,WALK,EAMLY,IANK,CAMA;AAAA;AAAA,gBAAEsC,KAAF;AAAA,gBAAShD,QAAT;;AAAA,mBAAuB,KAAI,CAACmD,OAAL,CAAaH,KAAb,YAAuBhD,QAAvB,sBAAvB;AAAA,WANA,EAOLU,IAPK,CAOA,UAAC0C,QAAD,EAAc;AAClBjB,YAAAA,MAAM,CAACV,KAAP,CAAahB,GAAb,GAAmB0B,MAAM,CAACV,KAAP,CAAaI,GAAb,CAAiBC,GAAjB,GAAuBsB,QAAQ,CAACC,WAAnD;AACD,WATK,CAAR;AAUD;AACF;;AAED,aAAO,iBAAQJ,GAAR,CAAY,CAACN,IAAD,EAAOW,KAAP,CAAZ,CAAP;AACD,KAvDa,CAAhB;AA0DAnB,IAAAA,MAAM,CAAC3D,cAAD,CAAN,GAAyB6D,OAAzB;AAEA,6BAAYvD,OAAZ,EAAqBuD,OAArB;AAEA,WAAOA,OAAP;AACD,GAtNsC;;AAwNvC;AACF;AACA;AACA;AACEqB,EAAAA,QA5NuC,sBA4N5B;AACT,QAAMC,KAAK,GAAG,EAAd;;AADS,+CAGW,KAAK1D,OAHhB;AAAA;;AAAA;AAGT,0DAAkC;AAAA;AAAA,YAAtB2D,GAAsB;;AAChCD,QAAAA,KAAK,CAACE,IAAN,CAAW,KAAK5D,OAAL,CAAac,GAAb,CAAiB6C,GAAjB,EAAsBrF,WAAtB,CAAX;AACD;AALQ;AAAA;AAAA;AAAA;AAAA;;AAOT,WAAOoF,KAAP;AACD,GApOsC;;AAuOvC;AACF;AACA;AACA;AACA;AACA;AACA;AACER,EAAAA,OA9OuC,mBA8O/BtE,IA9O+B,EA8OzBiF,GA9OyB,EA8OpBC,aA9OoB,EA8OL;AAChC,QAAM9C,QAAQ,GAAGpC,IAAI,CAACuC,MAAL,IAAevC,IAAI,CAACqC,IAApB,IAA4BrC,IAAI,CAACsC,UAAlD;AACA,QAAM6C,QAAQ,GAAG,kBAAOnF,IAAP,EAAaoF,QAAb,EAAjB;;AACA,gBAAgCF,aAAhC,aAAgCA,aAAhC,cAAgCA,aAAhC,GAAiD,EAAjD;AAAA,QAAOG,IAAP,SAAOA,IAAP;AAAA,QAAa5E,eAAb,SAAaA,eAAb;;AACA,QAAM6E,cAAc,GAAG,qBAAc;AAAClD,MAAAA,QAAQ,EAARA;AAAD,KAAd,EAA0B;AAAC3B,MAAAA,eAAe,EAAfA;AAAD,KAA1B,EAA6C4E,IAAI,IAAI;AAACA,MAAAA,IAAI,EAAJA;AAAD,KAArD,CAAvB;AAEA,WAAO,KAAKtB,KAAL,CAAWT,MAAX,CAAkB;AACvB2B,MAAAA,GAAG,EAAHA,GADuB;AAEvBjF,MAAAA,IAAI,EAAJA,IAFuB;AAGvBuF,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE;AADT,OAHmB;AAMvBC,MAAAA,MAAM,EAAE;AACNpE,QAAAA,UAAU,EAAE;AACVqE,UAAAA,IAAI,EAAEJ;AADI,SADN;AAINhC,QAAAA,MAAM,EAAE;AACNqC,UAAAA,IADM,gBACDnF,OADC,EACQ;AACZ,mBAAOA,OAAO,CAACoF,SAAf;AACD;AAHK,SAJF;AASNC,QAAAA,QAAQ,EAAE;AACRC,UAAAA,IADQ,gBACHtF,OADG,EACM;AACZ,mBAAOA,OAAO,CAACuF,eAAf;AACD,WAHO;AAIRL,UAAAA,IAAI,EAAE;AAACtD,YAAAA,QAAQ,EAARA,QAAD;AAAW+C,YAAAA,QAAQ,EAARA;AAAX;AAJE;AATJ;AANe,KAAlB,CAAP;AAuBD,GA3QsC;;AA6QvC;AACF;AACA;AACA;AACA;AACA;AACEa,EAAAA,MAnRuC,kBAmRhChG,IAnRgC,EAmR1B;AACX,SAAKoB,OAAL,CAAa6E,MAAb,CAAoBjG,IAApB,EADW,CAGX;;AACA,WAAO,iBAAQyB,OAAR,EAAP;AACD,GAxRsC;;AA0RvC;AACF;AACA;AACA;AACEyE,EAAAA,OA9RuC,qBA8R7B;AACR,QAAI,CAAC,KAAK9E,OAAL,CAAaiB,IAAlB,EAAwB;AACtB,YAAM,IAAI8D,KAAJ,CAAU,yDAAV,CAAN;AACD;;AAED,QAAMC,QAAQ,GAAG;AACfC,MAAAA,IAAI,EAAE,OADS;AAEfC,MAAAA,MAAM,EAAE;AACN7D,QAAAA,UAAU,EAAE,SADN;AAEN3B,QAAAA,WAAW,EAAE,KAAKwF,MAAL,IAAe,KAAKA,MAAL,CAAYxF,WAA3B,GAAyC,KAAKwF,MAAL,CAAYxF,WAArD,GAAmEyF,SAF1E;AAGN3F,QAAAA,OAAO,EAAE,KAAK0F,MAAL,IAAe,KAAKA,MAAL,CAAY1F,OAA3B,GAAqC,KAAK0F,MAAL,CAAY1F,OAAjD,GAA2D2F,SAH9D;AAINrF,QAAAA,QAAQ,EAAE,KAAKoF,MAAL,IAAe,KAAKA,MAAL,CAAYpF,QAA3B,GAAsC,KAAKoF,MAAL,CAAYpF,QAAlD,GAA6DqF,SAJjE;AAKNzB,QAAAA,KAAK,EAAE;AACL0B,UAAAA,KAAK,EAAE;AADF;AALD,OAFO;AAWf3F,MAAAA,YAAY,EAAE,KAAKA;AAXJ,KAAjB;AAcA,QAAM4F,QAAQ,GAAG,EAAjB;AAEA,SAAKrF,OAAL,CAAasF,OAAb,CAAqB,UAACC,IAAD,EAAU;AAC7BP,MAAAA,QAAQ,CAACE,MAAT,CAAgBxB,KAAhB,CAAsB0B,KAAtB,CAA4BxB,IAA5B,CAAiC2B,IAAjC;AACAF,MAAAA,QAAQ,CAACzB,IAAT,CAAc2B,IAAI,CAAChH,cAAD,CAAlB;AACD,KAHD;AAKAyG,IAAAA,QAAQ,CAACE,MAAT,CAAgBM,eAAhB,GAAkC,KAAKC,yBAAL,CAA+BT,QAAQ,CAACE,MAAT,CAAgBxB,KAAhB,CAAsB0B,KAArD,CAAlC;AAEA,WAAO,iBAAQpC,GAAR,CAAYqC,QAAZ,EACJ5E,IADI,CACC;AAAA,aAAMuE,QAAN;AAAA,KADD,CAAP;AAED,GA5TsC;;AA8TvC;AACF;AACA;AACA;AACA;AACA;AACEU,EAAAA,+BApUuC,2CAoUPN,KApUO,EAoUAhE,QApUA,EAoUU;AAC/C,WAAO,oBAAKgE,KAAK,CAACO,GAAN,CAAU,UAACJ,IAAD;AAAA,aAAU,oBAAKA,IAAI,CAACK,OAAV,EAAmB;AAACxE,QAAAA,QAAQ,EAARA;AAAD,OAAnB,CAAV;AAAA,KAAV,CAAL,CAAP;AACD,GAtUsC;;AAwUvC;AACF;AACA;AACA;AACA;AACEqE,EAAAA,yBA7UuC,qCA6UbL,KA7Ua,EA6UN;AAC/B;AACA,QAAI,KAAKM,+BAAL,CAAqCN,KAArC,EAA4C,sCAA5C,CAAJ,EAAyF;AACvF,aAAO,WAAP;AACD;;AAED,QAAMS,SAAS,GAAG,sBAAO,mBAAIT,KAAJ,EAAW,UAAX,CAAP,CAAlB;;AAEA,QAAIS,SAAS,CAAC1E,MAAV,KAAqBiE,KAAK,CAACjE,MAA/B,EAAuC;AACrC,aAAO,WAAP;AACD;;AAED,QAAMqE,eAAe,GAAGK,SAAS,CAAC,CAAD,CAAT,CAAaC,KAAb,CAAmB,GAAnB,EAAwBC,KAAxB,EAAxB;;AAEA,QAAIP,eAAe,KAAK,OAApB,IAA+BA,eAAe,KAAK,OAAvD,EAAgE;AAC9D,aAAO,WAAP;AACD;;AAhB8B,gDAkBRK,SAlBQ;AAAA;;AAAA;AAkB/B,6DAAkC;AAAA,YAAvBzE,QAAuB;;AAChC,YAAIA,QAAQ,CAAC0E,KAAT,CAAe,GAAf,EAAoBC,KAApB,OAAgCP,eAApC,EAAqD;AACnD,iBAAO,WAAP;AACD;AACF;AAtB8B;AAAA;AAAA;AAAA;AAAA;;AAwB/B,qBAAUA,eAAV;AACD,GAtWsC;;AAwWvC;AACF;AACA;AACA;AACEjF,EAAAA,iBA5WuC,6BA4WrBsD,GA5WqB,EA4WhB;AACrB,WAAO,KAAKlB,KAAL,CAAWqD,OAAX,CAAmB;AACxBC,MAAAA,MAAM,EAAE,KADgB;AAExBpC,MAAAA,GAAG,EAAHA;AAFwB,KAAnB,EAIJpD,IAJI,CAIC,UAACyF,GAAD;AAAA,aAASA,GAAG,CAAC5B,IAAJ,CAASvE,QAAlB;AAAA,KAJD,CAAP;AAKD,GAlXsC;AAAA;AAAA,CAAnB,CAAtB;AAqXA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACAvB,aAAa,CAACmD,MAAd,GAAuB,SAASA,MAAT,CAAgBxC,YAAhB,EAA8B+F,MAA9B,EAAsCvC,KAAtC,EAA6C;AAAA;;AAClE,MAAIuC,MAAM,YAAY1G,aAAtB,EAAqC;AACnC,WAAO0G,MAAP;AACD;;AAED,MAAIxB,KAAJ;;AAEA,MAAIwB,MAAJ,aAAIA,MAAJ,iCAAIA,MAAM,CAAEA,MAAZ,2CAAI,eAAgBxB,KAApB,EAA2B;AACzBA,IAAAA,KAAK,GAAGwB,MAAM,CAACA,MAAP,CAAcxB,KAAtB;AACA,iCAAuBwB,MAAM,CAACA,MAA9B,EAAsC,OAAtC;AACD;;AAED,MAAMiB,KAAK,GAAG,IAAI3H,aAAJ,CAAkB,qBAAc;AAC5CW,IAAAA,YAAY,EAAZA;AAD4C,GAAd,EAE7B+F,MAF6B,CAAlB,EAEF;AACVkB,IAAAA,MAAM,EAAEzD;AADE,GAFE,CAAd;AAMAe,EAAAA,KAAK,6BAAGA,KAAH,2CAAG,OAAO0B,KAAV,uDAAmB1B,KAAxB;;AACA,MAAIA,KAAJ,EAAW;AACTA,IAAAA,KAAK,CAAC4B,OAAN,CAAc,UAAC1G,IAAD;AAAA,aAAUuH,KAAK,CAACpE,GAAN,CAAUnD,IAAV,CAAV;AAAA,KAAd;AACD;;AAED,SAAOuH,KAAP;AACD,CAxBD;;gBA0Be3H,a","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(attrs.conversation._spaceUrl || this._retrieveSpaceUrl(`${attrs.conversation.url}/space`)\n .then((url) => {\n attrs.conversation._spaceUrl = url;\n\n return url;\n }));\n this.hiddenSpaceUrl = Promise.resolve(attrs.conversation._hiddenSpaceUrl || this._retrieveSpaceUrl(`${attrs.conversation.url}/space/hidden`)\n .then((url) => {\n attrs.conversation._hiddenSpaceUrl = url;\n\n return url;\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 = Object.assign({\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 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.displayName.substring(file.displayName.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 = Object.assign({\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 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.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\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.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\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 /**\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 = Object.assign({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 atleast 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)\n .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.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(Object.assign({\n conversation\n }, object), {\n parent: webex\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"]}
1
+ {"version":3,"names":["EMITTER_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","default","hiddenSpaceUrl","mentions","spaceUrl","uploads","initialize","attrs","options","prototype","resolve","_spaceUrl","_retrieveSpaceUrl","url","then","_hiddenSpaceUrl","addGif","gif","gifToAdd","get","name","fileSize","size","byteLength","length","mimeType","objectType","height","width","image","set","SCR","create","scr","loc","thumbnailScr","add","substring","lastIndexOf","upload","EventEmitter","promise","logger","thumbnailMaxWidth","config","thumbnailMaxHeight","imageData","main","webex","internal","encryption","encryptBinary","cdata","all","uploadPromise","_upload","metadata","downloadUrl","thumb","thumbnail","fileDimensions","thumbnailDimensions","getFiles","files","key","push","uri","uploadOptions","fileHash","toString","role","initializeBody","qs","transcode","phases","body","$url","uploadUrl","finalize","$uri","finishUploadUrl","remove","delete","prepare","Error","activity","verb","object","undefined","items","promises","forEach","item","contentCategory","_determineContentCategory","_itemContainsActionWithMimeType","map","actions","mimeTypes","split","shift","request","method","res","share","parent"],"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(attrs.conversation._spaceUrl || this._retrieveSpaceUrl(`${attrs.conversation.url}/space`)\n .then((url) => {\n attrs.conversation._spaceUrl = url;\n\n return url;\n }));\n this.hiddenSpaceUrl = Promise.resolve(attrs.conversation._hiddenSpaceUrl || this._retrieveSpaceUrl(`${attrs.conversation.url}/space/hidden`)\n .then((url) => {\n attrs.conversation._hiddenSpaceUrl = url;\n\n return url;\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 = Object.assign({\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 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.displayName.substring(file.displayName.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 = Object.assign({\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 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.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\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.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\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 /**\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 = Object.assign({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 atleast 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)\n .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.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(Object.assign({\n conversation\n }, object), {\n parent: webex\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 +1 @@
1
- {"version":3,"sources":["to-array.js"],"names":["toArray","direction","obj","map","name","entry","fn"],"mappings":";;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,OAAT,CAAiBC,SAAjB,EAA4BC,GAA5B,EAAiC;AAC9C,SAAO,mBAAYA,GAAZ,EAAiBC,GAAjB,CAAqB,UAACC,IAAD,EAAU;AACpC,QAAMC,KAAK,GAAGH,GAAG,CAACE,IAAD,CAAjB;;AAEA,QAAI,0BAAWC,KAAX,CAAJ,EAAuB;AACrB,aAAO;AACLD,QAAAA,IAAI,EAAJA,IADK;AAELH,QAAAA,SAAS,EAATA,SAFK;AAGLK,QAAAA,EAAE,EAAED;AAHC,OAAP;AAKD;;AAED,WAAO,qBAAc;AAACD,MAAAA,IAAI,EAAJA;AAAD,KAAd,EAAsBC,KAAtB,CAAP;AACD,GAZM,CAAP;AAaD","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 Object.assign({name}, entry);\n });\n}\n"]}
1
+ {"version":3,"names":["toArray","direction","obj","map","name","entry","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 Object.assign({name}, entry);\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,OAAT,CAAiBC,SAAjB,EAA4BC,GAA5B,EAAiC;EAC9C,OAAO,mBAAYA,GAAZ,EAAiBC,GAAjB,CAAqB,UAACC,IAAD,EAAU;IACpC,IAAMC,KAAK,GAAGH,GAAG,CAACE,IAAD,CAAjB;;IAEA,IAAI,0BAAWC,KAAX,CAAJ,EAAuB;MACrB,OAAO;QACLD,IAAI,EAAJA,IADK;QAELH,SAAS,EAATA,SAFK;QAGLK,EAAE,EAAED;MAHC,CAAP;IAKD;;IAED,OAAO,qBAAc;MAACD,IAAI,EAAJA;IAAD,CAAd,EAAsBC,KAAtB,CAAP;EACD,CAZM,CAAP;AAaD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-conversation",
3
- "version": "1.159.5",
3
+ "version": "1.161.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Ian W. Remmel <iremmel@cisco.com>",
@@ -18,13 +18,13 @@
18
18
  "dependencies": {
19
19
  "@babel/runtime-corejs2": "^7.14.8",
20
20
  "lodash": "^4.17.21",
21
- "@webex/internal-plugin-encryption": "1.159.5",
22
- "@webex/internal-plugin-user": "1.159.5",
23
- "@webex/common": "1.159.5",
24
- "@webex/helper-html": "1.159.5",
25
- "@webex/webex-core": "1.159.5",
21
+ "@webex/internal-plugin-encryption": "1.161.0",
22
+ "@webex/internal-plugin-user": "1.161.0",
23
+ "@webex/common": "1.161.0",
24
+ "@webex/helper-html": "1.161.0",
25
+ "@webex/webex-core": "1.161.0",
26
26
  "crypto-js": "^4.1.1",
27
- "@webex/helper-image": "1.159.5",
27
+ "@webex/helper-image": "1.161.0",
28
28
  "uuid": "^3.3.2",
29
29
  "node-scr": "^0.3.0",
30
30
  "envify": "^4.1.0"
@@ -138,6 +138,32 @@ export const transforms = toArray('inbound', {
138
138
  return Promise.all(promises);
139
139
  },
140
140
 
141
+ /**
142
+ * Decrypt an individual meeting container activity
143
+ * @param {Object} ctx An object containg a webex instance and a transform
144
+ * @param {object} key KMS encryption key url
145
+ * @param {Object} meetingContainerActivity An instance of a Webex meeting container activity
146
+ * @returns {Promise} Returns a ctx.transform promise
147
+ */
148
+ decryptMeetingcontainer(ctx, key, meetingContainerActivity) {
149
+ const promises = [];
150
+
151
+ if (meetingContainerActivity.displayName) {
152
+ const usableKey = meetingContainerActivity.encryptionKeyUrl || key;
153
+
154
+ promises.push(ctx.transform('decryptPropDisplayName', usableKey, meetingContainerActivity));
155
+ }
156
+
157
+ if (meetingContainerActivity.extensions) {
158
+ const itemsToDecrypt = meetingContainerActivity.extensions.items.filter((item) => item.data.objectType === 'recording');
159
+
160
+ itemsToDecrypt.forEach((itemToDecrypt) => {
161
+ promises.push(ctx.transform('decryptPropTopic', itemToDecrypt.encryptionKeyUrl, itemToDecrypt.data));
162
+ });
163
+ }
164
+
165
+ return Promise.all(promises);
166
+ },
141
167
 
142
168
  /**
143
169
  * Decrypts a given conversation and it's activites by building an array of promises that call
@@ -468,5 +494,7 @@ export const transforms = toArray('inbound', {
468
494
 
469
495
  decryptPropModel: decryptTextProp('model'),
470
496
 
471
- decryptPropLocation: decryptTextProp('location')
497
+ decryptPropLocation: decryptTextProp('location'),
498
+
499
+ decryptPropTopic: decryptTextProp('topic')
472
500
  });
@@ -419,6 +419,61 @@ describe('plugin-conversation', () => {
419
419
  assert.equal(activity.sslr, DECRYPTED_SSLR);
420
420
  });
421
421
  });
422
+
423
+ describe('meeting containers', () => {
424
+ it('decrypts a meeting container activity with only display name', () => {
425
+ const transform = transforms.find((t) => t.name === 'decryptMeetingcontainer');
426
+ const transformStub = sinon.spy();
427
+ const ctx = {
428
+ transform: transformStub
429
+ };
430
+ const key = null;
431
+ const meetingContainer = {
432
+ id: 'd5416be0-aeb9-11ec-bac4-ad7fbcfb8ba2',
433
+ objectType: 'meetingContainer',
434
+ displayName: 'eyJraWQiOiJrbXM6XC9cL2ttcy1jaXNjby53YngyLmNvbVwva2V5c1wvYjhjOTg1MTYtNmY0OS00Zjk2LThhMmEtZGIxOTc2ZTAwYTk5IiwiZW5jIjoiQTI1NkdDTSIsImFsZyI6ImRpciJ9..H-Ef6wjRGeolqSTJ.xZUwyy5VnKPGdsWDCg0T1A.3Vrx_z7Z0Z2NlnNr3vf43A'
435
+ };
436
+
437
+ return transform.fn(ctx, key, meetingContainer)
438
+ .then(() => {
439
+ assert.equal(transformStub.callCount, 1); // once for the parents object and then once for each child
440
+ assert.equal(transformStub.getCall(0).args[0], 'decryptPropDisplayName');
441
+ });
442
+ });
443
+
444
+ it('decrypts a meeting container activity with display name and extension with recording', () => {
445
+ const transform = transforms.find((t) => t.name === 'decryptMeetingcontainer');
446
+ const transformStub = sinon.spy();
447
+ const ctx = {
448
+ transform: transformStub
449
+ };
450
+ const key = null;
451
+ const meetingContainer = {
452
+ id: 'd5416be0-aeb9-11ec-bac4-ad7fbcfb8ba2',
453
+ objectType: 'meetingContainer',
454
+ displayName: 'eyJraWQiOiJrbXM6XC9cL2ttcy1jaXNjby53YngyLmNvbVwva2V5c1wvYjhjOTg1MTYtNmY0OS00Zjk2LThhMmEtZGIxOTc2ZTAwYTk5IiwiZW5jIjoiQTI1NkdDTSIsImFsZyI6ImRpciJ9..H-Ef6wjRGeolqSTJ.xZUwyy5VnKPGdsWDCg0T1A.3Vrx_z7Z0Z2NlnNr3vf43A',
455
+ extensions: {
456
+ items: [
457
+ {
458
+ data: {
459
+ id: '6a055bbe96aa103a9afd005056818248',
460
+ objectType: 'recording',
461
+ topic: 'eyJraWQiOiJrbXM6XC9cL2ttcy1jaXNjby53YngyLmNvbVwva2V5c1wvOTAwYjUwZmMtYzg0Yi00YTM4LTk0MGQtYWJjM2IyNjJiMWUyIiwiZW5jIjoiQTI1NkdDTSIsImFsZyI6ImRpciJ9..5LXICENQ0AvplBc4.yUlXzF86eyP9sZR75l6spOtAaEwYWIzRx2N-kWZQLVB2JwudN2U.-DWv7fce_Ac2K_l5QryDCQ'
462
+ },
463
+ encryptionKeyUrl: 'kms://kms-cisco.wbx2.com/keys/900b50fc-c84b-4a38-940d-abc3b262b1e2'
464
+ }
465
+ ]
466
+ }
467
+ };
468
+
469
+ return transform.fn(ctx, key, meetingContainer)
470
+ .then(() => {
471
+ assert.equal(transformStub.callCount, 2); // once for the parents object and then once for each child
472
+ assert.equal(transformStub.getCall(0).args[0], 'decryptPropDisplayName');
473
+ assert.equal(transformStub.getCall(1).args[0], 'decryptPropTopic');
474
+ });
475
+ });
476
+ });
422
477
  });
423
478
  });
424
479
  });