c99642de4cf192dba50ac54c99cff7d10f5748a9
[motion2.git] / server / api / openchannelInteraction / openchannelInteraction.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x74eb=['c.fax','Contact.fax','o.fullname','Owner.fullname','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','groupBy','OpenchannelInteractionId','rows','catch','show','params','includeAll','options','create','body','describe','addMessage','OpenchannelMessage','omit','ids','getMessages','findOne','nolimit','$gte','format','include','findAll','setTags','spread','color','emit','removeTags','download','unix','join','root','files','tmp','server','attachments','transcript-%d-%s.zip','CmContact','Attachment','secret','OpenchannelAccount','Account','get','mkdirSync','Openchannel','Owner','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','disposition','threadId','Public','Private','Messages','basename','existsSync','pipe','createWriteStream','createdAt','firstName','lastName','direction','out','views','downloadInteraction.html','transcript-','.pdf','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','crypto','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelInteraction.socket','end','status','json','count','offset','limit','set','apply','reject','update','destroy','then','sendStatus','error','stack','name','send','map','fullname','TagIds','push','index','OpenchannelInteraction','rawAttributes','fieldName','type','key','model','filters','intersection','fields','query','attributes','length','hasOwnProperty','order','sort','pick','field','from','tools_tags','select','u.id','ui.OpenchannelInteractionId','user_has_openchannel_interactions','u.id\x20=\x20ui.UserId','openchannel_interactions','left_join','users','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','openchannel_interaction_has_tags','it.OpenchannelInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','sqlOperator','conditions','find','unreadMessages','value','having','Contact','operator','split','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','start','keys','some','compact','isEmpty','OpenchannelAccountId','where','i.OpenchannelAccountId\x20IN\x20?','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','i.id\x20LIKE\x20?','i.from\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.OpenchannelAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','Account.key','a.mandatoryDisposition','CASE\x20WHEN\x20i.from\x20IS\x20NOT\x20NULL\x20AND\x20i.from\x20<>\x20\x27\x27\x20THEN\x20i.from\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile'];(function(_0x4c23d5,_0x4fe802){var _0x456e05=function(_0x3b55db){while(--_0x3b55db){_0x4c23d5['push'](_0x4c23d5['shift']());}};_0x456e05(++_0x4fe802);}(_0x74eb,0x13b));var _0xb74e=function(_0x515baa,_0x4827df){_0x515baa=_0x515baa-0x0;var _0x395576=_0x74eb[_0x515baa];return _0x395576;};'use strict';var emlformat=require(_0xb74e('0x0'));var rimraf=require(_0xb74e('0x1'));var zipdir=require(_0xb74e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb74e('0x3'));var moment=require(_0xb74e('0x4'));var BPromise=require(_0xb74e('0x5'));var Mustache=require(_0xb74e('0x6'));var util=require(_0xb74e('0x7'));var path=require(_0xb74e('0x8'));var sox=require('sox');var csv=require(_0xb74e('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb74e('0xa'));var _=require(_0xb74e('0xb'));var squel=require('squel');var crypto=require(_0xb74e('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xb74e('0x9'));var querystring=require('querystring');var Papa=require(_0xb74e('0xd'));var Redis=require(_0xb74e('0xe'));var authService=require('../../components/auth/service');var qs=require(_0xb74e('0xf'));var as=require(_0xb74e('0x10'));var pdf=require(_0xb74e('0x11'));var hardwareService=require(_0xb74e('0x12'));var logger=require(_0xb74e('0x13'))(_0xb74e('0x14'));var utils=require(_0xb74e('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb74e('0x16'))['db'];config[_0xb74e('0x17')]=_[_0xb74e('0x18')](config[_0xb74e('0x17')],{'host':_0xb74e('0x19'),'port':0x18eb});var socket=require(_0xb74e('0x1a'))(new Redis(config[_0xb74e('0x17')]));require(_0xb74e('0x1b'))['register'](socket);function respondWithStatusCode(_0x106db7,_0x1d752a){_0x1d752a=_0x1d752a||0xcc;return function(_0xb0d4b0){if(_0xb0d4b0){return _0x106db7['sendStatus'](_0x1d752a);}return _0x106db7['status'](_0x1d752a)[_0xb74e('0x1c')]();};}function respondWithResult(_0x56dd5f,_0x158a7f){_0x158a7f=_0x158a7f||0xc8;return function(_0x47e678){if(_0x47e678){return _0x56dd5f[_0xb74e('0x1d')](_0x158a7f)[_0xb74e('0x1e')](_0x47e678);}};}function respondWithFilteredResult(_0xb3cc22,_0x391296){return function(_0x526549){if(_0x526549){var _0x47b4a4=_0x526549[_0xb74e('0x1f')],_0x201b98=_0x391296[_0xb74e('0x20')],_0x3f7c84=_0x391296[_0xb74e('0x20')]+_0x391296[_0xb74e('0x21')],_0xea9a4a;if(_0x3f7c84>=_0x47b4a4){_0x3f7c84=_0x47b4a4;_0xea9a4a=0xc8;}else{_0xea9a4a=0xce;}_0xb3cc22['status'](_0xea9a4a);return _0xb3cc22[_0xb74e('0x22')]('Content-Range',_0x201b98+'-'+_0x3f7c84+'/'+_0x47b4a4)[_0xb74e('0x1e')](_0x526549);}return null;};}function patchUpdates(_0x30aae2){return function(_0x45110f){try{jsonpatch[_0xb74e('0x23')](_0x45110f,_0x30aae2,!![]);}catch(_0x1bc9b5){return BPromise[_0xb74e('0x24')](_0x1bc9b5);}return _0x45110f['save']();};}function saveUpdates(_0x4929a3,_0x34064b){return function(_0x437355){if(_0x437355){return _0x437355[_0xb74e('0x25')](_0x4929a3)['then'](function(_0x3179ae){return _0x3179ae;});}return null;};}function removeEntity(_0x12ab2b,_0x3061cf){return function(_0x1b9987){if(_0x1b9987){return _0x1b9987[_0xb74e('0x26')]()[_0xb74e('0x27')](function(){_0x12ab2b['status'](0xcc)[_0xb74e('0x1c')]();});}};}function handleEntityNotFound(_0x1b7f02,_0x16ae19){return function(_0x4135e5){if(!_0x4135e5){_0x1b7f02[_0xb74e('0x28')](0x194);}return _0x4135e5;};}function handleError(_0x1bf1bd,_0x2a5955){_0x2a5955=_0x2a5955||0x1f4;return function(_0x3004d6){logger[_0xb74e('0x29')](_0x3004d6[_0xb74e('0x2a')]);if(_0x3004d6['name']){delete _0x3004d6[_0xb74e('0x2b')];}_0x1bf1bd['status'](_0x2a5955)[_0xb74e('0x2c')](_0x3004d6);};}function getInteractionUsers(_0x430481,_0x421620){return new BPromise(function(_0x19dc9c,_0x3581e5){try{if(_0x421620[_0x430481['id']]){_0x430481['Users']=_[_0xb74e('0x2d')](_0x421620[_0x430481['id']],function(_0x95bad4){return{'id':_0x95bad4['id'],'fullname':_0x95bad4[_0xb74e('0x2e')]};});}}catch(_0x3c0d3f){_0x3581e5(_0x3c0d3f);}_0x19dc9c(_0x430481);});}function getInteractionTags(_0x22f2b2,_0x5aa44c){return new BPromise(function(_0x18bbee,_0x2ce04d){try{if(_0x22f2b2[_0xb74e('0x2f')]){_0x22f2b2['Tags']=[];_0x22f2b2['TagIds']['split'](',')['forEach'](function(_0x1a3302){_0x22f2b2['Tags'][_0xb74e('0x30')](_0x5aa44c[_0x1a3302]);});}delete _0x22f2b2['TagIds'];}catch(_0x375c71){_0x2ce04d(_0x375c71);}_0x18bbee(_0x22f2b2);});}function updateOpenchannelInteraction(_0x2b8d77,_0x28d4f5,_0x8ee809){return new BPromise(function(_0x42bca5,_0x1aed70){return getInteractionUsers(_0x2b8d77,_0x8ee809)[_0xb74e('0x27')](function(_0x50e46b){return getInteractionTags(_0x50e46b,_0x28d4f5);})['then'](function(_0x2c7936){_0x42bca5(_0x2c7936);})['catch'](function(_0x546b16){_0x1aed70(_0x546b16);});});}exports[_0xb74e('0x31')]=function(_0x487f46,_0x21596f){var _0x5c5902={},_0x17b761={},_0x3f5e96={'count':0x0,'rows':[]};var _0x46eac8=_[_0xb74e('0x2d')](db[_0xb74e('0x32')][_0xb74e('0x33')],function(_0x1d19e2){return{'name':_0x1d19e2[_0xb74e('0x34')],'type':_0x1d19e2[_0xb74e('0x35')][_0xb74e('0x36')]};});_0x17b761[_0xb74e('0x37')]=_[_0xb74e('0x2d')](_0x46eac8,_0xb74e('0x2b'));_0x17b761['query']=_['keys'](_0x487f46['query']);_0x17b761[_0xb74e('0x38')]=_[_0xb74e('0x39')](_0x17b761[_0xb74e('0x37')],_0x17b761['query']);_0x5c5902['attributes']=_['intersection'](_0x17b761['model'],qs[_0xb74e('0x3a')](_0x487f46[_0xb74e('0x3b')][_0xb74e('0x3a')]));_0x5c5902[_0xb74e('0x3c')]=_0x5c5902['attributes'][_0xb74e('0x3d')]?_0x5c5902[_0xb74e('0x3c')]:_0x17b761[_0xb74e('0x37')];if(!_0x487f46[_0xb74e('0x3b')][_0xb74e('0x3e')]('nolimit')){_0x5c5902[_0xb74e('0x21')]=qs['limit'](_0x487f46[_0xb74e('0x3b')][_0xb74e('0x21')]);_0x5c5902[_0xb74e('0x20')]=qs[_0xb74e('0x20')](_0x487f46['query']['offset']);}_0x5c5902[_0xb74e('0x3f')]=qs[_0xb74e('0x40')](_0x487f46[_0xb74e('0x3b')][_0xb74e('0x40')]);_0x5c5902['where']=qs[_0xb74e('0x38')](_[_0xb74e('0x41')](_0x487f46[_0xb74e('0x3b')],_0x17b761[_0xb74e('0x38')]),_0x46eac8);var _0x3da0cd=[];var _0x311f0b=squel['select']()[_0xb74e('0x42')]('id')[_0xb74e('0x42')](_0xb74e('0x2b'))[_0xb74e('0x42')]('color')[_0xb74e('0x43')](_0xb74e('0x44'));var _0x44d4fd=squel[_0xb74e('0x45')]()[_0xb74e('0x42')](_0xb74e('0x46'))[_0xb74e('0x42')]('u.fullname')[_0xb74e('0x42')](_0xb74e('0x47'))[_0xb74e('0x43')](_0xb74e('0x48'),'ui')['left_join']('users','u',_0xb74e('0x49'));var _0x6f77fd=squel[_0xb74e('0x45')]()['from'](_0xb74e('0x4a'),'i')[_0xb74e('0x4b')]('cm_contacts','c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0xb74e('0x4b')](_0xb74e('0x4c'),'o',_0xb74e('0x4d'))[_0xb74e('0x4b')](_0xb74e('0x4e'),'a',_0xb74e('0x4f'))[_0xb74e('0x4b')](_0xb74e('0x50'),'me',_0xb74e('0x51'))['left_join'](_0xb74e('0x52'),'it',_0xb74e('0x53'))[_0xb74e('0x4b')]('tools_tags','t',_0xb74e('0x54'));var _0x294fac=squel[_0xb74e('0x55')]();var _0x4781e8=[];var _0x15018=squel[_0xb74e('0x55')]();var _0x43b04e;if(_0x487f46['query']['search']){_0x43b04e=as['parseSearch'](_0x487f46[_0xb74e('0x3b')]['search']);var _0x1242d3=_0x43b04e[_0xb74e('0x56')];for(var _0x4712b0=0x0;_0x4712b0<_0x43b04e[_0xb74e('0x57')]['length'];_0x4712b0++){var _0x5b424c=_0x43b04e[_0xb74e('0x57')][_0x4712b0];var _0x2fd93a='i';var _0x48f575=_[_0xb74e('0x58')](_0x46eac8,[_0xb74e('0x2b'),_0x5b424c[_0xb74e('0x42')]]);if(!_0x48f575){switch(_0x5b424c[_0xb74e('0x42')]){case _0xb74e('0x59'):if(_0x5b424c[_0xb74e('0x5a')]==0x1){_0x6f77fd[_0xb74e('0x5b')]('`'+_0x5b424c[_0xb74e('0x42')]+'`\x20=\x200');}else{_0x6f77fd[_0xb74e('0x5b')]('`'+_0x5b424c['field']+'`\x20>\x200');}break;case _0xb74e('0x5c'):if(_0x5b424c[_0xb74e('0x5d')]==='$substring'){if(_0x5b424c['value'][_0xb74e('0x5e')]('\x20')[_0xb74e('0x3d')]>0x1){_0x294fac[_0x1242d3](_0xb74e('0x5f'),qs[_0xb74e('0x60')](_0x5b424c['value']),null);}else{var _0x38bcca='%'+_0x5b424c[_0xb74e('0x5a')]+'%';_0x294fac[_0x1242d3](_0xb74e('0x61'),_0x38bcca,_0x38bcca,_0x38bcca);}}else{_0x48f575=_[_0xb74e('0x58')](_0x46eac8,[_0xb74e('0x2b'),_0xb74e('0x62')]);_0x5b424c[_0xb74e('0x42')]=_0xb74e('0x62');_0x5732cb=as[_0xb74e('0x63')](_0x2fd93a,_0x48f575[_0xb74e('0x35')],_0x5b424c);_0x294fac[_0x1242d3](_0x5732cb[_0xb74e('0x64')],_0x5732cb['value']['start'],_0x5732cb['value']['end']);}break;case _0xb74e('0x65'):var _0x16aa2d=_0x5b424c[_0xb74e('0x5a')]['split'](',')[_0xb74e('0x2d')](function(_0x3f18ac){return Number(_0x3f18ac);});_0x16aa2d[_0xb74e('0x66')](function(_0x3410cd){_0x15018['or'](_0xb74e('0x67'),'%,'+_0x3410cd+',%');});_0x4781e8=_['union'](_0x4781e8,_0x16aa2d);break;case _0xb74e('0x68'):if(_0x5b424c[_0xb74e('0x5d')]===_0xb74e('0x69')){_0x294fac[_0x1242d3](_0xb74e('0x6a'),'%'+_0x5b424c[_0xb74e('0x5a')]+'%',null);}else{_0x48f575=_[_0xb74e('0x58')](_0x46eac8,[_0xb74e('0x2b'),_0xb74e('0x6b')]);_0x5b424c[_0xb74e('0x42')]='UserId';_0x5732cb=as[_0xb74e('0x63')](_0x2fd93a,_0x48f575[_0xb74e('0x35')],_0x5b424c);_0x294fac[_0x1242d3](_0x5732cb[_0xb74e('0x64')],_0x5732cb['value'][_0xb74e('0x6c')],_0x5732cb[_0xb74e('0x5a')][_0xb74e('0x1c')]);}break;case'body':_0x5732cb=as[_0xb74e('0x63')]('me',null,_0x5b424c);_0x294fac[_0x1242d3](_0x5732cb[_0xb74e('0x64')],_0x5732cb[_0xb74e('0x5a')][_0xb74e('0x6c')],_0x5732cb['value']['end']);break;}}else{var _0x5732cb=as['buildExpression'](_0x2fd93a,_0x48f575['type'],_0x5b424c);_0x294fac[_0x1242d3](_0x5732cb[_0xb74e('0x64')],_0x5732cb[_0xb74e('0x5a')][_0xb74e('0x6c')],_0x5732cb[_0xb74e('0x5a')][_0xb74e('0x1c')]);}}}else{var _0x425fea=_(_0x487f46[_0xb74e('0x3b')])[_0xb74e('0x6d')]()[_0xb74e('0x2d')](function(_0x462cf9){return _[_0xb74e('0x6e')](_0x46eac8,[_0xb74e('0x2b'),_0x462cf9])?_0x462cf9:undefined;})[_0xb74e('0x6f')]()['value']();if(!_[_0xb74e('0x70')](_0x425fea)){_0x425fea[_0xb74e('0x66')](function(_0x3f4871){if(_0x3f4871===_0xb74e('0x71')){_0x6f77fd[_0xb74e('0x72')](_0xb74e('0x73'),[]['concat'](_0x487f46['query'][_0x3f4871]));}else if(_0x3f4871==='createdAt'){var _0x105d21=JSON['parse'](_0x487f46['query'][_0x3f4871])['$gte'];var _0x587d40=JSON[_0xb74e('0x74')](_0x487f46[_0xb74e('0x3b')][_0x3f4871])[_0xb74e('0x75')];_0x6f77fd[_0xb74e('0x72')](_0xb74e('0x76'),_0x105d21,_0x587d40);}else{if(_0x487f46['query'][_0x3f4871]==='null'){_0x6f77fd['where']('i.'+_0x3f4871+_0xb74e('0x77'));}else{_0x6f77fd['where']('i.'+_0x3f4871+'\x20=\x20?',_0x487f46[_0xb74e('0x3b')][_0x3f4871]);}}});}if(_0x487f46[_0xb74e('0x3b')][_0xb74e('0x78')]){if(_0x487f46[_0xb74e('0x3b')][_0xb74e('0x78')]==0x1){_0x6f77fd[_0xb74e('0x5b')](_0xb74e('0x79'));}else{_0x6f77fd[_0xb74e('0x5b')](_0xb74e('0x7a'));}}if(_0x487f46[_0xb74e('0x3b')]['tag']){_0x4781e8=_[_0xb74e('0x7b')](_0x487f46[_0xb74e('0x3b')][_0xb74e('0x7c')])?_0x487f46['query']['tag']:new Array(_0x487f46['query'][_0xb74e('0x7c')]);_0x4781e8[_0xb74e('0x66')](function(_0x540c5f){_0x15018['or'](_0xb74e('0x67'),'%,'+_0x540c5f+',%');});}if(_0x487f46[_0xb74e('0x3b')]['filter']){var _0x4ccc65=_0x487f46[_0xb74e('0x3b')][_0xb74e('0x7d')]['replace']('\x5c','\x5c\x5c')[_0xb74e('0x7e')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x4ccc65)){_0x294fac['or'](_0xb74e('0x7f'),_0x4ccc65+'%');}else{_0x294fac['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xb74e('0x60')](_0x4ccc65))['or'](_0xb74e('0x80'),_0x4ccc65+'%')['or'](_0xb74e('0x81'),_0x4ccc65+'%');}}}_0x6f77fd[_0xb74e('0x72')](_0x294fac);_0x6f77fd[_0xb74e('0x82')](_0xb74e('0x83'));var _0x31653f={'type':db[_0xb74e('0x84')][_0xb74e('0x85')]['SELECT'],'raw':!![]};var _0x2e5855=_0x6f77fd[_0xb74e('0x86')]();_0x2e5855[_0xb74e('0x42')](_0xb74e('0x83'));_0x2e5855[_0xb74e('0x42')](_0xb74e('0x87'),_0xb74e('0x59'));if(_0x5c5902[_0xb74e('0x3f')]){_0x5c5902[_0xb74e('0x3f')][_0xb74e('0x66')](function(_0x2e952d){var _0x571f8e=_0x2e952d[0x0]===_0xb74e('0x88')?_0x2e952d[0x0]:'i.'+_0x2e952d[0x0];_0x6f77fd['order'](_0x571f8e,_0x2e952d[0x1]===_0xb74e('0x89')?![]:!![]);});}if(!_['isEmpty'](_0x4781e8)){_0x6f77fd['having'](_0x15018);_0x2e5855['where']('t.id\x20IN\x20?',_0x4781e8);}BPromise['resolve']()[_0xb74e('0x27')](function(){if(!_0x43b04e){if(_0x487f46[_0xb74e('0x3b')][_0xb74e('0x71')])return;_0x2e5855[_0xb74e('0x72')](_0xb74e('0x8a'));_0x6f77fd[_0xb74e('0x72')](_0xb74e('0x8a'));return;}if(_0x487f46[_0xb74e('0x8b')][_0xb74e('0x8c')]!==_0xb74e('0x8d'))return;return _0x487f46['user']['getOpenchannelAccounts']({'attributes':['id'],'raw':!![]})[_0xb74e('0x27')](function(_0x33a3f5){if(_[_0xb74e('0x70')](_0x33a3f5)){_0x2e5855[_0xb74e('0x72')](_0xb74e('0x8e'));_0x6f77fd[_0xb74e('0x72')](_0xb74e('0x8e'));}else{_0x2e5855[_0xb74e('0x72')](_0xb74e('0x73'),_[_0xb74e('0x2d')](_0x33a3f5,'id'));_0x6f77fd[_0xb74e('0x72')](_0xb74e('0x73'),_['map'](_0x33a3f5,'id'));}});})[_0xb74e('0x27')](function(){if(_0x487f46[_0xb74e('0x8b')]['role']==='agent'&&!_0x43b04e&&!_0x487f46['query'][_0xb74e('0x71')])return[];return db[_0xb74e('0x8f')][_0xb74e('0x3b')](_0x2e5855[_0xb74e('0x90')](),_0x31653f);})['then'](function(_0x11dbe7){_0x3f5e96['count']=_0x11dbe7[_0xb74e('0x3d')];if(_0x3f5e96[_0xb74e('0x1f')]===0x0)return[];return db['sequelize'][_0xb74e('0x3b')](_0x311f0b[_0xb74e('0x90')](),_0x31653f)[_0xb74e('0x27')](function(_0x2e508d){_0x3da0cd=_[_0xb74e('0x91')](_0x2e508d,'id');_0x31653f=_[_0xb74e('0x92')](_0x31653f,{'model':db[_0xb74e('0x32')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x487f46[_0xb74e('0x3b')][_0xb74e('0x3a')]){_0x5c5902[_0xb74e('0x3c')]['forEach'](function(_0x2d4d73){_0x6f77fd[_0xb74e('0x42')]('i.'+_0x2d4d73);});}else{_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x87'),_0xb74e('0x59'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x93'),_0xb74e('0x94'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x95'),'Account.mandatoryDisposition');_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x96'),'contactName');_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x97'));_0x6f77fd['field']('c.firstName','Contact.firstName');_0x6f77fd[_0xb74e('0x42')]('c.lastName',_0xb74e('0x98'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x99'),_0xb74e('0x9a'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x9b'),_0xb74e('0x9c'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x9d'),_0xb74e('0x9e'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0x9f'),_0xb74e('0xa0'));_0x6f77fd[_0xb74e('0x42')](_0xb74e('0xa1'),_0xb74e('0xa2'));_0x6f77fd[_0xb74e('0x42')]('o.internal',_0xb74e('0xa3'));_0x6f77fd['field'](_0xb74e('0xa4'),_0xb74e('0x2f'));}if(_0x5c5902['limit'])_0x6f77fd[_0xb74e('0x21')](_0x5c5902[_0xb74e('0x21')]);if(_0x5c5902[_0xb74e('0x20')])_0x6f77fd[_0xb74e('0x20')](_0x5c5902[_0xb74e('0x20')]);return db[_0xb74e('0x8f')][_0xb74e('0x3b')](_0x6f77fd[_0xb74e('0x90')](),_0x31653f);})[_0xb74e('0x27')](function(_0x312ad9){_0x44d4fd[_0xb74e('0x72')](_0xb74e('0xa5'),_[_0xb74e('0x2d')](_0x312ad9,'id'));return db[_0xb74e('0x8f')][_0xb74e('0x3b')](_0x44d4fd['toString'](),_0x31653f)[_0xb74e('0x27')](function(_0x193f2f){var _0x396eb3=_[_0xb74e('0xa6')](_0x193f2f,_0xb74e('0xa7'));var _0x436921=[];_0x312ad9['forEach'](function(_0x499687){_0x436921[_0xb74e('0x30')](updateOpenchannelInteraction(_0x499687,_0x3da0cd,_0x396eb3));});return BPromise['all'](_0x436921);});});})[_0xb74e('0x27')](function(_0x145870){_0x3f5e96[_0xb74e('0xa8')]=_0x145870;return _0x3f5e96;})[_0xb74e('0x27')](respondWithFilteredResult(_0x21596f,_0x5c5902))[_0xb74e('0xa9')](handleError(_0x21596f,null));};exports[_0xb74e('0xaa')]=function(_0x3930f2,_0x3d0a51){var _0xdc6089={};if(_0x3930f2[_0xb74e('0x3b')]['type']&&_0x3930f2[_0xb74e('0x3b')]['type']===_0xb74e('0x43')){_0xdc6089[_0xb74e('0x43')]=_0x3930f2['params']['id'];}else{_0xdc6089['id']=_0x3930f2[_0xb74e('0xab')]['id'];}var _0x312458={'raw':![],'where':_0xdc6089},_0x188fbe={};_0x188fbe['model']=_[_0xb74e('0x6d')](db[_0xb74e('0x32')][_0xb74e('0x33')]);_0x188fbe['query']=_[_0xb74e('0x6d')](_0x3930f2[_0xb74e('0x3b')]);_0x188fbe[_0xb74e('0x38')]=_['intersection'](_0x188fbe[_0xb74e('0x37')],_0x188fbe[_0xb74e('0x3b')]);_0x312458[_0xb74e('0x3c')]=_[_0xb74e('0x39')](_0x188fbe['model'],qs[_0xb74e('0x3a')](_0x3930f2[_0xb74e('0x3b')][_0xb74e('0x3a')]));_0x312458[_0xb74e('0x3c')]=_0x312458[_0xb74e('0x3c')]['length']?_0x312458[_0xb74e('0x3c')]:_0x188fbe[_0xb74e('0x37')];if(_0x3930f2['query'][_0xb74e('0xac')]){_0x312458['include']=[{'all':!![]}];}_0x312458=_[_0xb74e('0x92')]({},_0x312458,_0x3930f2[_0xb74e('0xad')]);return db[_0xb74e('0x32')][_0xb74e('0x58')](_0x312458)['then'](handleEntityNotFound(_0x3d0a51,null))['then'](respondWithResult(_0x3d0a51,null))['catch'](handleError(_0x3d0a51,null));};exports[_0xb74e('0xae')]=function(_0x57226a,_0x319a25){return db['OpenchannelInteraction'][_0xb74e('0xae')](_0x57226a[_0xb74e('0xaf')],{})[_0xb74e('0x27')](respondWithResult(_0x319a25,0xc9))['catch'](handleError(_0x319a25,null));};exports[_0xb74e('0x25')]=function(_0x3cef29,_0x1299a5){if(_0x3cef29[_0xb74e('0xaf')]['id']){delete _0x3cef29[_0xb74e('0xaf')]['id'];}return db[_0xb74e('0x32')][_0xb74e('0x58')]({'where':{'id':_0x3cef29[_0xb74e('0xab')]['id']}})[_0xb74e('0x27')](handleEntityNotFound(_0x1299a5,null))[_0xb74e('0x27')](saveUpdates(_0x3cef29[_0xb74e('0xaf')],null))[_0xb74e('0x27')](respondWithResult(_0x1299a5,null))['catch'](handleError(_0x1299a5,null));};exports['destroy']=function(_0x42b159,_0x5a38e7){return db[_0xb74e('0x32')][_0xb74e('0x58')]({'where':{'id':_0x42b159['params']['id']}})[_0xb74e('0x27')](handleEntityNotFound(_0x5a38e7,null))[_0xb74e('0x27')](removeEntity(_0x5a38e7,null))['catch'](handleError(_0x5a38e7,null));};exports[_0xb74e('0xb0')]=function(_0x246e7b,_0x1874ef){return db[_0xb74e('0x32')]['describe']()['then'](respondWithResult(_0x1874ef,null))['catch'](handleError(_0x1874ef,null));};exports[_0xb74e('0xb1')]=function(_0x512340,_0x104839,_0x17b3b7){return db[_0xb74e('0xb2')][_0xb74e('0x58')]({'where':{'id':_0x512340[_0xb74e('0xab')]['id']}})['then'](handleEntityNotFound(_0x104839,null))[_0xb74e('0x27')](function(_0x3e6213){if(_0x3e6213){return _0x3e6213[_0xb74e('0xb1')](_0x512340['body']['ids'],_[_0xb74e('0xb3')](_0x512340['body'],[_0xb74e('0xb4'),'id'])||{});}})[_0xb74e('0x27')](respondWithResult(_0x104839,null))['catch'](handleError(_0x104839,null));};exports[_0xb74e('0xb5')]=function(_0x3df28e,_0x24e5e6,_0xef64fa){var _0x585adf={'raw':![],'where':{}};var _0x2dac45={};var _0x50641a={'count':0x0,'rows':[]};return db[_0xb74e('0x32')][_0xb74e('0xb6')]({'where':{'id':_0x3df28e[_0xb74e('0xab')]['id']}})[_0xb74e('0x27')](handleEntityNotFound(_0x24e5e6,null))[_0xb74e('0x27')](function(_0x187751){if(_0x187751){_0x2dac45['model']=_[_0xb74e('0x6d')](db[_0xb74e('0xb2')][_0xb74e('0x33')]);_0x2dac45[_0xb74e('0x3b')]=_['keys'](_0x3df28e[_0xb74e('0x3b')]);_0x2dac45['filters']=_[_0xb74e('0x39')](_0x2dac45['model'],_0x2dac45[_0xb74e('0x3b')]);_0x585adf[_0xb74e('0x3c')]=_['intersection'](_0x2dac45[_0xb74e('0x37')],qs[_0xb74e('0x3a')](_0x3df28e[_0xb74e('0x3b')][_0xb74e('0x3a')]));_0x585adf[_0xb74e('0x3c')]=_0x585adf['attributes'][_0xb74e('0x3d')]?_0x585adf['attributes']:_0x2dac45['model'];if(!_0x3df28e['query'][_0xb74e('0x3e')](_0xb74e('0xb7'))){_0x585adf[_0xb74e('0x21')]=qs['limit'](_0x3df28e[_0xb74e('0x3b')][_0xb74e('0x21')]);_0x585adf[_0xb74e('0x20')]=qs[_0xb74e('0x20')](_0x3df28e[_0xb74e('0x3b')][_0xb74e('0x20')]);}_0x585adf[_0xb74e('0x3f')]=qs[_0xb74e('0x40')](_0x3df28e['query'][_0xb74e('0x40')]);_0x585adf[_0xb74e('0x72')]=qs[_0xb74e('0x38')](_['pick'](_0x3df28e[_0xb74e('0x3b')],_0x2dac45[_0xb74e('0x38')]));_0x585adf[_0xb74e('0x72')][_0xb74e('0xa7')]=_0x187751['id'];if(_0x3df28e[_0xb74e('0x3b')]['filter']){_0x585adf['where']=_[_0xb74e('0x92')](_0x585adf[_0xb74e('0x72')],{'$or':_['map'](_0x585adf[_0xb74e('0x3c')],function(_0x2e7de3){var _0x23c851={};_0x23c851[_0x2e7de3]={'$like':'%'+_0x3df28e[_0xb74e('0x3b')][_0xb74e('0x7d')]+'%'};return _0x23c851;})});}if(_0x3df28e[_0xb74e('0x3b')][_0xb74e('0xb8')]){var _0x402bec=_0x3df28e[_0xb74e('0x3b')][_0xb74e('0xb8')][_0xb74e('0x5e')](',');var _0x3eae21={};_0x3eae21[_0x402bec[0x0]]={'$gte':moment(_0x402bec[0x1])[_0xb74e('0xb9')]('YYYY-MM-DD\x20HH:mm:ss')};_0x585adf[_0xb74e('0x72')]=_[_0xb74e('0x92')](_0x585adf[_0xb74e('0x72')],_0x3eae21);}_0x585adf=_[_0xb74e('0x92')]({},_0x585adf,_0x3df28e[_0xb74e('0xad')]);return db['OpenchannelMessage']['count']({'where':_0x585adf[_0xb74e('0x72')]})[_0xb74e('0x27')](function(_0x3bbad7){_0x50641a[_0xb74e('0x1f')]=_0x3bbad7;if(_0x3df28e['query'][_0xb74e('0xac')]){_0x585adf[_0xb74e('0xba')]=[{'all':!![]}];}return db[_0xb74e('0xb2')][_0xb74e('0xbb')](_0x585adf);})[_0xb74e('0x27')](function(_0x43e4f9){_0x50641a[_0xb74e('0xa8')]=_0x43e4f9;return _0x50641a;});}})[_0xb74e('0x27')](respondWithFilteredResult(_0x24e5e6,_0x585adf))['catch'](handleError(_0x24e5e6,null));};exports['addTags']=function(_0x2abfec,_0x5693fc,_0x327fa2){return db[_0xb74e('0x32')][_0xb74e('0x58')]({'where':{'id':_0x2abfec[_0xb74e('0xab')]['id']}})[_0xb74e('0x27')](handleEntityNotFound(_0x5693fc,null))[_0xb74e('0x27')](function(_0x5df400){if(_0x5df400){return _0x5df400[_0xb74e('0xbc')](_0x2abfec[_0xb74e('0xaf')][_0xb74e('0xb4')],_['omit'](_0x2abfec['body'],['ids','id'])||{})[_0xb74e('0xbd')](function(){return db[_0xb74e('0x65')][_0xb74e('0xbb')]({'attributes':['id',_0xb74e('0x2b'),_0xb74e('0xbe')],'where':{'id':_0x2abfec[_0xb74e('0xaf')][_0xb74e('0xb4')]}});})[_0xb74e('0x27')](function(_0x3ce69a){socket[_0xb74e('0xbf')]('openchannelInteractionTags:save',{'id':Number(_0x2abfec[_0xb74e('0xab')]['id']),'tags':_0x3ce69a||[]});return{'id':Number(_0x2abfec[_0xb74e('0xab')]['id']),'tags':_0x3ce69a||[]};});}})[_0xb74e('0x27')](respondWithResult(_0x5693fc,null))[_0xb74e('0xa9')](handleError(_0x5693fc,null));};exports[_0xb74e('0xc0')]=function(_0x1b8757,_0x23aa1d,_0x331e3c){return db[_0xb74e('0x32')][_0xb74e('0x58')]({'where':{'id':_0x1b8757[_0xb74e('0xab')]['id']}})[_0xb74e('0x27')](handleEntityNotFound(_0x23aa1d,null))['then'](function(_0x8d9ece){if(_0x8d9ece){return _0x8d9ece['removeTags'](_0x1b8757['query'][_0xb74e('0xb4')]);}})['then'](respondWithStatusCode(_0x23aa1d,null))[_0xb74e('0xa9')](handleError(_0x23aa1d,null));};exports[_0xb74e('0xc1')]=function(_0x5a0cb4,_0x52880d){var _0x5bf82c=moment()[_0xb74e('0xc2')]()[_0xb74e('0x90')]();var _0x4d7304=path[_0xb74e('0xc3')](config[_0xb74e('0xc4')],'server',_0xb74e('0xc5'),_0xb74e('0xc6'));var _0x5342f6=path[_0xb74e('0xc3')](config[_0xb74e('0xc4')],_0xb74e('0xc7'),'files',_0xb74e('0xc8'));var _0x580949=path['join'](_0x4d7304,_0x5bf82c);var _0x1cc1bd=util[_0xb74e('0xb9')](_0xb74e('0xc9'),_0x5a0cb4[_0xb74e('0xab')]['id'],_0x5bf82c);var _0x26a9b1=path['join'](_0x4d7304,_0x1cc1bd);var _0x2558ef=[];_0x2558ef[_0xb74e('0x30')]({'model':db[_0xb74e('0x68')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x2558ef['push']({'model':db[_0xb74e('0xca')],'as':_0xb74e('0x5c'),'attributes':['id','firstName','lastName'],'raw':!![]});if(_0x5a0cb4[_0xb74e('0x3b')][_0xb74e('0xc8')]){_0x2558ef[_0xb74e('0x30')]({'model':db[_0xb74e('0xcb')],'as':_0xb74e('0xcb'),'raw':!![]});}var _0x5687f0=[{'model':db['OpenchannelMessage'],'as':'Messages','attributes':['id',_0xb74e('0xaf'),'createdAt','direction',_0xb74e('0xcc'),_0xb74e('0x78')],'include':_0x2558ef}];_0x5687f0[_0xb74e('0x30')]({'model':db[_0xb74e('0xcd')],'as':_0xb74e('0xce'),'attributes':['id',_0xb74e('0x2b')]});_0x5687f0[_0xb74e('0x30')]({'model':db[_0xb74e('0x68')],'as':'Owner','attributes':['id',_0xb74e('0x2e')]});return db[_0xb74e('0x32')][_0xb74e('0x58')]({'where':{'id':_0x5a0cb4[_0xb74e('0xab')]['id']},'include':_0x5687f0})[_0xb74e('0x27')](handleEntityNotFound(_0x52880d,null))[_0xb74e('0x27')](function(_0x3ff46b){if(_0x3ff46b){var _0x2575e3=_0x3ff46b[_0xb74e('0xcf')]({'plain':!![]});fs[_0xb74e('0xd0')](_0x580949);var _0x58806b={'channel':_0xb74e('0xd1'),'account':_0x2575e3[_0xb74e('0xce')]['name'],'agent':_0x2575e3[_0xb74e('0xd2')]?_0x2575e3['Owner'][_0xb74e('0x2e')]:_0xb74e('0xd3'),'createdAt':moment(_0x2575e3['createdAt'])[_0xb74e('0xb9')](_0xb74e('0xd4'))[_0xb74e('0x90')](),'closedAt':_0x2575e3[_0xb74e('0xd5')]?moment(_0x2575e3[_0xb74e('0xd6')])['format'](_0xb74e('0xd4'))[_0xb74e('0x90')]():'','disposition':_0x2575e3[_0xb74e('0xd7')],'visibility':_0x2575e3[_0xb74e('0xd8')]?_0xb74e('0xd9'):_0xb74e('0xda'),'messages':_(_0x2575e3[_0xb74e('0xdb')])[_0xb74e('0x7d')]({'secret':![]})[_0xb74e('0x2d')](function(_0xabd0f){if(_0xabd0f[_0xb74e('0xcb')]){var _0x5d9fd6=path[_0xb74e('0xc3')](_0x5342f6,_0xabd0f['Attachment'][_0xb74e('0xdc')]);if(fs[_0xb74e('0xdd')](_0x5d9fd6)){fs['createReadStream'](_0x5d9fd6)[_0xb74e('0xde')](fs[_0xb74e('0xdf')](path[_0xb74e('0xc3')](_0x580949,_0xabd0f[_0xb74e('0xcb')][_0xb74e('0xdc')])));}}return{'date':moment(_0xabd0f[_0xb74e('0xe0')])[_0xb74e('0xb9')](_0xb74e('0xd4'))[_0xb74e('0x90')](),'sender':_0xabd0f['direction']==='out'?_0xabd0f['User']?_0xabd0f[_0xb74e('0x68')][_0xb74e('0x2e')]:'System':_0xabd0f[_0xb74e('0x5c')][_0xb74e('0xe1')]+(_0xabd0f[_0xb74e('0x5c')][_0xb74e('0xe2')]?'\x20'+_0xabd0f[_0xb74e('0x5c')]['lastName']:''),'body':_0xabd0f['Attachment']?_0xabd0f[_0xb74e('0xcb')][_0xb74e('0xdc')]:_0xabd0f['body'],'direction':_0xabd0f[_0xb74e('0xe3')]===_0xb74e('0xe4')?'A':'C','secret':_0xabd0f['secret'],'read':_0xabd0f[_0xb74e('0x78')],'attachment':_0xabd0f['Attachment']};})[_0xb74e('0x5a')]()};return ejs['renderFile'](path[_0xb74e('0xc3')](config['root'],_0xb74e('0xc7'),_0xb74e('0xe5'),_0xb74e('0xe6')),{'interaction':_0x58806b})[_0xb74e('0x27')](function(_0x1d0652){var _0x374405=path[_0xb74e('0xc3')](_0x580949,_0xb74e('0xe7')+_0x2575e3['id']+'-'+_0x5bf82c+_0xb74e('0xe8'));var _0x53bece={'path':_0x374405,'channel':_0xb74e('0xd1'),'interactionId':_0x2575e3['id']};return pdf[_0xb74e('0xe9')](_0x1d0652,_0x53bece);})[_0xb74e('0x27')](function(){return new BPromise(function(_0x2cdbaf,_0x236f42){zipdir(_0x580949,{'saveTo':_0x26a9b1},function(_0x1e7d65,_0x5a812b){if(_0x1e7d65)return _0x236f42(_0x1e7d65);return _0x2cdbaf(_0x5a812b);});})[_0xb74e('0x27')](function(){return new BPromise(function(_0x1ee653,_0x252d55){rimraf(_0x580949,function(_0xb1feea){if(_0xb1feea)_0x252d55(_0xb1feea);return _0x1ee653();});});})[_0xb74e('0x27')](function(){return _0x52880d[_0xb74e('0xc1')](_0x26a9b1,_0x1cc1bd,function(_0x4fa435){if(_0x4fa435){console[_0xb74e('0xea')](_0xb74e('0xeb'),_0x4fa435);}else{fs[_0xb74e('0xec')](_0x26a9b1);}});});});}else{return _0x52880d['sendStatus'](0xc8);}})[_0xb74e('0xa9')](handleError(_0x52880d,null));};