45a313dd47615841c15be9df3132e35360a9c9e3
[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 _0x2798=['setTags','emit','openchannelInteractionTags:save','removeTags','download','unix','join','server','tmp','root','files','attachments','CmContact','firstName','Attachment','Messages','direction','secret','OpenchannelAccount','Account','mkdirSync','10px','40px','30px','%s\x20#%d','Owner','N.A.','disposition','Public','existsSync','createReadStream','createWriteStream','basename','YYYY-MM-DD\x20HH:mm:ss','System','lastName','out','renderFile','views','downloadInteraction.html','transcript-','err','unlinkSync','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','lodash','squel','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','./openchannelInteraction.socket','register','end','json','count','offset','limit','status','set','Content-Range','save','then','destroy','sendStatus','error','stack','name','send','Users','fullname','TagIds','Tags','split','push','catch','index','map','OpenchannelInteraction','rawAttributes','type','model','query','keys','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','users','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','left_join','o.id\x20=\x20i.UserId','openchannel_accounts','a.id\x20=\x20i.OpenchannelAccountId','openchannel_messages','me.OpenchannelInteractionId\x20=\x20i.id','it.OpenchannelInteractionId\x20=\x20i.id','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','start','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','text','body','some','compact','isEmpty','OpenchannelAccountId','i.OpenchannelAccountId\x20IN\x20?','createdAt','parse','$lte','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.from\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','i.id','Sequelize','QueryTypes','t.id\x20IN\x20?','resolve','journey','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','user','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','i.*','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.mobile','c.fax','Contact.fax','o.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','OpenchannelInteractionId','rows','show','params','include','options','create','update','describe','addMessage','OpenchannelMessage','ids','omit','getMessages','findOne','$gte','format','includeAll','findAll','addTags'];(function(_0x497b1e,_0x586379){var _0x3f72e1=function(_0x4c227d){while(--_0x4c227d){_0x497b1e['push'](_0x497b1e['shift']());}};_0x3f72e1(++_0x586379);}(_0x2798,0x112));var _0x8279=function(_0x52dbe1,_0x142683){_0x52dbe1=_0x52dbe1-0x0;var _0x4a82c2=_0x2798[_0x52dbe1];return _0x4a82c2;};'use strict';var pdf=require(_0x8279('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x8279('0x1'));var zipdir=require(_0x8279('0x2'));var jsonpatch=require(_0x8279('0x3'));var rp=require(_0x8279('0x4'));var moment=require(_0x8279('0x5'));var BPromise=require(_0x8279('0x6'));var Mustache=require(_0x8279('0x7'));var util=require('util');var path=require('path');var sox=require(_0x8279('0x8'));var csv=require('to-csv');var ejs=require(_0x8279('0x9'));var fs=require('fs');var _=require(_0x8279('0xa'));var squel=require(_0x8279('0xb'));var crypto=require('crypto');var jsforce=require(_0x8279('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x8279('0xd'));var querystring=require(_0x8279('0xe'));var Papa=require('papaparse');var Redis=require(_0x8279('0xf'));var authService=require(_0x8279('0x10'));var qs=require(_0x8279('0x11'));var as=require(_0x8279('0x12'));var hardwareService=require(_0x8279('0x13'));var logger=require(_0x8279('0x14'))(_0x8279('0x15'));var utils=require(_0x8279('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x8279('0x17'))['db'];config[_0x8279('0x18')]=_[_0x8279('0x19')](config[_0x8279('0x18')],{'host':_0x8279('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x8279('0x1b'))[_0x8279('0x1c')](socket);function respondWithStatusCode(_0x47d820,_0x98eb57){_0x98eb57=_0x98eb57||0xcc;return function(_0x1c2ec1){if(_0x1c2ec1){return _0x47d820['sendStatus'](_0x98eb57);}return _0x47d820['status'](_0x98eb57)[_0x8279('0x1d')]();};}function respondWithResult(_0x373f9c,_0x47ab77){_0x47ab77=_0x47ab77||0xc8;return function(_0x3d2f8c){if(_0x3d2f8c){return _0x373f9c['status'](_0x47ab77)[_0x8279('0x1e')](_0x3d2f8c);}};}function respondWithFilteredResult(_0xe88a21,_0x1b88f0){return function(_0x72053a){if(_0x72053a){var _0x3fbe59=_0x72053a[_0x8279('0x1f')],_0x159688=_0x1b88f0[_0x8279('0x20')],_0x5c544a=_0x1b88f0['offset']+_0x1b88f0[_0x8279('0x21')],_0x5be9e9;if(_0x5c544a>=_0x3fbe59){_0x5c544a=_0x3fbe59;_0x5be9e9=0xc8;}else{_0x5be9e9=0xce;}_0xe88a21[_0x8279('0x22')](_0x5be9e9);return _0xe88a21[_0x8279('0x23')](_0x8279('0x24'),_0x159688+'-'+_0x5c544a+'/'+_0x3fbe59)[_0x8279('0x1e')](_0x72053a);}return null;};}function patchUpdates(_0x542ed9){return function(_0x43397d){try{jsonpatch['apply'](_0x43397d,_0x542ed9,!![]);}catch(_0x44dcff){return BPromise['reject'](_0x44dcff);}return _0x43397d[_0x8279('0x25')]();};}function saveUpdates(_0x47440e,_0x5a3210){return function(_0x5185a5){if(_0x5185a5){return _0x5185a5['update'](_0x47440e)[_0x8279('0x26')](function(_0x3d675){return _0x3d675;});}return null;};}function removeEntity(_0x398861,_0x3981b5){return function(_0x26fd94){if(_0x26fd94){return _0x26fd94[_0x8279('0x27')]()[_0x8279('0x26')](function(){_0x398861[_0x8279('0x22')](0xcc)[_0x8279('0x1d')]();});}};}function handleEntityNotFound(_0x1e3769,_0x528b3a){return function(_0x29e270){if(!_0x29e270){_0x1e3769[_0x8279('0x28')](0x194);}return _0x29e270;};}function handleError(_0x122d56,_0x2290a2){_0x2290a2=_0x2290a2||0x1f4;return function(_0x2b08e4){logger[_0x8279('0x29')](_0x2b08e4[_0x8279('0x2a')]);if(_0x2b08e4[_0x8279('0x2b')]){delete _0x2b08e4['name'];}_0x122d56['status'](_0x2290a2)[_0x8279('0x2c')](_0x2b08e4);};}function getInteractionUsers(_0x5897fb,_0x20a170){return new BPromise(function(_0x496a0c,_0xe7b898){try{if(_0x20a170[_0x5897fb['id']]){_0x5897fb[_0x8279('0x2d')]=_['map'](_0x20a170[_0x5897fb['id']],function(_0x119fed){return{'id':_0x119fed['id'],'fullname':_0x119fed[_0x8279('0x2e')]};});}}catch(_0x5f4252){_0xe7b898(_0x5f4252);}_0x496a0c(_0x5897fb);});}function getInteractionTags(_0x43d69a,_0xeeda8a){return new BPromise(function(_0x25fd0f,_0x4f4b7c){try{if(_0x43d69a[_0x8279('0x2f')]){_0x43d69a[_0x8279('0x30')]=[];_0x43d69a[_0x8279('0x2f')][_0x8279('0x31')](',')['forEach'](function(_0x20390c){_0x43d69a['Tags'][_0x8279('0x32')](_0xeeda8a[_0x20390c]);});}delete _0x43d69a['TagIds'];}catch(_0x590656){_0x4f4b7c(_0x590656);}_0x25fd0f(_0x43d69a);});}function updateOpenchannelInteraction(_0x30cacf,_0x3e2334,_0x1f87be){return new BPromise(function(_0x5eff21,_0x4aa33d){return getInteractionUsers(_0x30cacf,_0x1f87be)[_0x8279('0x26')](function(_0x18d018){return getInteractionTags(_0x18d018,_0x3e2334);})['then'](function(_0x4b7503){_0x5eff21(_0x4b7503);})[_0x8279('0x33')](function(_0x2ebefb){_0x4aa33d(_0x2ebefb);});});}exports[_0x8279('0x34')]=function(_0x57730c,_0x19d31b){var _0x5a85a7={},_0xbd7242={},_0x48488b={'count':0x0,'rows':[]};var _0x173a8f=_[_0x8279('0x35')](db[_0x8279('0x36')][_0x8279('0x37')],function(_0x5dc8c6){return{'name':_0x5dc8c6['fieldName'],'type':_0x5dc8c6[_0x8279('0x38')]['key']};});_0xbd7242[_0x8279('0x39')]=_[_0x8279('0x35')](_0x173a8f,_0x8279('0x2b'));_0xbd7242[_0x8279('0x3a')]=_[_0x8279('0x3b')](_0x57730c[_0x8279('0x3a')]);_0xbd7242['filters']=_[_0x8279('0x3c')](_0xbd7242['model'],_0xbd7242[_0x8279('0x3a')]);_0x5a85a7[_0x8279('0x3d')]=_['intersection'](_0xbd7242['model'],qs[_0x8279('0x3e')](_0x57730c['query']['fields']));_0x5a85a7[_0x8279('0x3d')]=_0x5a85a7[_0x8279('0x3d')][_0x8279('0x3f')]?_0x5a85a7[_0x8279('0x3d')]:_0xbd7242['model'];if(!_0x57730c[_0x8279('0x3a')]['hasOwnProperty'](_0x8279('0x40'))){_0x5a85a7[_0x8279('0x21')]=qs[_0x8279('0x21')](_0x57730c['query'][_0x8279('0x21')]);_0x5a85a7[_0x8279('0x20')]=qs[_0x8279('0x20')](_0x57730c[_0x8279('0x3a')][_0x8279('0x20')]);}_0x5a85a7[_0x8279('0x41')]=qs[_0x8279('0x42')](_0x57730c['query'][_0x8279('0x42')]);_0x5a85a7[_0x8279('0x43')]=qs[_0x8279('0x44')](_[_0x8279('0x45')](_0x57730c['query'],_0xbd7242[_0x8279('0x44')]),_0x173a8f);var _0x59421d=[];var _0x241245=squel[_0x8279('0x46')]()['field']('id')[_0x8279('0x47')](_0x8279('0x2b'))[_0x8279('0x47')](_0x8279('0x48'))[_0x8279('0x49')](_0x8279('0x4a'));var _0x50122d=squel['select']()['field'](_0x8279('0x4b'))[_0x8279('0x47')](_0x8279('0x4c'))[_0x8279('0x47')](_0x8279('0x4d'))['from'](_0x8279('0x4e'),'ui')['left_join'](_0x8279('0x4f'),'u','u.id\x20=\x20ui.UserId');var _0x7334be=squel[_0x8279('0x46')]()[_0x8279('0x49')]('openchannel_interactions','i')['left_join'](_0x8279('0x50'),'c',_0x8279('0x51'))[_0x8279('0x52')](_0x8279('0x4f'),'o',_0x8279('0x53'))['left_join'](_0x8279('0x54'),'a',_0x8279('0x55'))['left_join'](_0x8279('0x56'),'me',_0x8279('0x57'))['left_join']('openchannel_interaction_has_tags','it',_0x8279('0x58'))[_0x8279('0x52')](_0x8279('0x4a'),'t','t.id\x20=\x20it.TagId');var _0x44c8d9=squel[_0x8279('0x59')]();var _0xddf34c=[];var _0x28766d=squel[_0x8279('0x59')]();var _0x481654;if(_0x57730c[_0x8279('0x3a')][_0x8279('0x5a')]){_0x481654=as[_0x8279('0x5b')](_0x57730c[_0x8279('0x3a')][_0x8279('0x5a')]);var _0xd27257=_0x481654[_0x8279('0x5c')];for(var _0x5dcaa4=0x0;_0x5dcaa4<_0x481654['conditions']['length'];_0x5dcaa4++){var _0x4a9935=_0x481654[_0x8279('0x5d')][_0x5dcaa4];var _0x232e1c='i';var _0x25edf7=_[_0x8279('0x5e')](_0x173a8f,[_0x8279('0x2b'),_0x4a9935[_0x8279('0x47')]]);if(!_0x25edf7){switch(_0x4a9935[_0x8279('0x47')]){case _0x8279('0x5f'):if(_0x4a9935[_0x8279('0x60')]==0x1){_0x7334be[_0x8279('0x61')]('`'+_0x4a9935[_0x8279('0x47')]+_0x8279('0x62'));}else{_0x7334be[_0x8279('0x61')]('`'+_0x4a9935[_0x8279('0x47')]+_0x8279('0x63'));}break;case _0x8279('0x64'):if(_0x4a9935[_0x8279('0x65')]===_0x8279('0x66')){if(_0x4a9935[_0x8279('0x60')][_0x8279('0x31')]('\x20')[_0x8279('0x3f')]>0x1){_0x44c8d9[_0xd27257](_0x8279('0x67'),qs[_0x8279('0x68')](_0x4a9935[_0x8279('0x60')]),null);}else{var _0x4c869f='%'+_0x4a9935[_0x8279('0x60')]+'%';_0x44c8d9[_0xd27257]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x4c869f,_0x4c869f,_0x4c869f);}}else{_0x25edf7=_[_0x8279('0x5e')](_0x173a8f,['name','ContactId']);_0x4a9935['field']=_0x8279('0x69');_0x1e8d61=as['buildExpression'](_0x232e1c,_0x25edf7['type'],_0x4a9935);_0x44c8d9[_0xd27257](_0x1e8d61['text'],_0x1e8d61['value'][_0x8279('0x6a')],_0x1e8d61['value']['end']);}break;case _0x8279('0x6b'):var _0x15f2e6=_0x4a9935['value'][_0x8279('0x31')](',')[_0x8279('0x35')](function(_0x4d2378){return Number(_0x4d2378);});_0x15f2e6[_0x8279('0x6c')](function(_0x36fdb3){_0x28766d['or'](_0x8279('0x6d'),'%,'+_0x36fdb3+',%');});_0xddf34c=_['union'](_0xddf34c,_0x15f2e6);break;case _0x8279('0x6e'):if(_0x4a9935['operator']===_0x8279('0x66')){_0x44c8d9[_0xd27257](_0x8279('0x6f'),'%'+_0x4a9935['value']+'%',null);}else{_0x25edf7=_[_0x8279('0x5e')](_0x173a8f,['name','UserId']);_0x4a9935[_0x8279('0x47')]=_0x8279('0x70');_0x1e8d61=as[_0x8279('0x71')](_0x232e1c,_0x25edf7[_0x8279('0x38')],_0x4a9935);_0x44c8d9[_0xd27257](_0x1e8d61[_0x8279('0x72')],_0x1e8d61[_0x8279('0x60')][_0x8279('0x6a')],_0x1e8d61[_0x8279('0x60')]['end']);}break;case _0x8279('0x73'):_0x1e8d61=as[_0x8279('0x71')]('me',null,_0x4a9935);_0x44c8d9[_0xd27257](_0x1e8d61[_0x8279('0x72')],_0x1e8d61[_0x8279('0x60')]['start'],_0x1e8d61[_0x8279('0x60')]['end']);break;}}else{var _0x1e8d61=as[_0x8279('0x71')](_0x232e1c,_0x25edf7['type'],_0x4a9935);_0x44c8d9[_0xd27257](_0x1e8d61[_0x8279('0x72')],_0x1e8d61[_0x8279('0x60')][_0x8279('0x6a')],_0x1e8d61['value'][_0x8279('0x1d')]);}}}else{var _0x3e8e06=_(_0x57730c[_0x8279('0x3a')])[_0x8279('0x3b')]()[_0x8279('0x35')](function(_0x20f1bc){return _[_0x8279('0x74')](_0x173a8f,['name',_0x20f1bc])?_0x20f1bc:undefined;})[_0x8279('0x75')]()['value']();if(!_[_0x8279('0x76')](_0x3e8e06)){_0x3e8e06[_0x8279('0x6c')](function(_0x10d6ba){if(_0x10d6ba===_0x8279('0x77')){_0x7334be['where'](_0x8279('0x78'),[]['concat'](_0x57730c['query'][_0x10d6ba]));}else if(_0x10d6ba===_0x8279('0x79')){var _0x282da9=JSON['parse'](_0x57730c[_0x8279('0x3a')][_0x10d6ba])['$gte'];var _0x146dea=JSON[_0x8279('0x7a')](_0x57730c[_0x8279('0x3a')][_0x10d6ba])[_0x8279('0x7b')];_0x7334be[_0x8279('0x43')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x282da9,_0x146dea);}else{if(_0x57730c[_0x8279('0x3a')][_0x10d6ba]===_0x8279('0x7c')){_0x7334be['where']('i.'+_0x10d6ba+'\x20IS\x20NULL');}else{_0x7334be[_0x8279('0x43')]('i.'+_0x10d6ba+_0x8279('0x7d'),_0x57730c['query'][_0x10d6ba]);}}});}if(_0x57730c[_0x8279('0x3a')][_0x8279('0x7e')]){if(_0x57730c[_0x8279('0x3a')]['read']==0x1){_0x7334be[_0x8279('0x61')](_0x8279('0x7f'));}else{_0x7334be['having'](_0x8279('0x80'));}}if(_0x57730c['query'][_0x8279('0x81')]){_0xddf34c=_['isArray'](_0x57730c[_0x8279('0x3a')]['tag'])?_0x57730c['query']['tag']:new Array(_0x57730c[_0x8279('0x3a')][_0x8279('0x81')]);_0xddf34c['forEach'](function(_0xf84c05){_0x28766d['or'](_0x8279('0x6d'),'%,'+_0xf84c05+',%');});}if(_0x57730c[_0x8279('0x3a')][_0x8279('0x82')]){var _0x120423=_0x57730c[_0x8279('0x3a')][_0x8279('0x82')][_0x8279('0x83')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs['isNumeric'](_0x120423)){_0x44c8d9['or'](_0x8279('0x84'),_0x120423+'%');}else{_0x44c8d9['or'](_0x8279('0x85'),qs[_0x8279('0x68')](_0x120423))['or'](_0x8279('0x86'),_0x120423+'%')['or'](_0x8279('0x87'),_0x120423+'%');}}}_0x7334be[_0x8279('0x43')](_0x44c8d9);_0x7334be['group'](_0x8279('0x88'));var _0x56c61f={'type':db[_0x8279('0x89')][_0x8279('0x8a')]['SELECT'],'raw':!![]};var _0x203ff2=_0x7334be['clone']();_0x203ff2[_0x8279('0x47')](_0x8279('0x88'));_0x203ff2[_0x8279('0x47')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');if(_0x5a85a7[_0x8279('0x41')]){_0x5a85a7[_0x8279('0x41')][_0x8279('0x6c')](function(_0x3e9ccc){_0x7334be[_0x8279('0x41')]('i.'+_0x3e9ccc[0x0],_0x3e9ccc[0x1]==='DESC'?![]:!![]);});}if(!_[_0x8279('0x76')](_0xddf34c)){_0x7334be[_0x8279('0x61')](_0x28766d);_0x203ff2[_0x8279('0x43')](_0x8279('0x8b'),_0xddf34c);}BPromise[_0x8279('0x8c')]()[_0x8279('0x26')](function(){if(!_0x481654){if(_0x57730c['query'][_0x8279('0x77')]||_0x57730c['query'][_0x8279('0x8d')])return;_0x203ff2[_0x8279('0x43')](_0x8279('0x8e'));_0x7334be[_0x8279('0x43')](_0x8279('0x8e'));return;}return _0x57730c[_0x8279('0x8f')][_0x8279('0x90')]({'attributes':['id'],'raw':!![]})['then'](function(_0x4defad){if(_[_0x8279('0x76')](_0x4defad)){_0x203ff2['where'](_0x8279('0x91'));_0x7334be[_0x8279('0x43')](_0x8279('0x91'));}else{_0x203ff2[_0x8279('0x43')](_0x8279('0x78'),_[_0x8279('0x35')](_0x4defad,'id'));_0x7334be[_0x8279('0x43')]('i.OpenchannelAccountId\x20IN\x20?',_[_0x8279('0x35')](_0x4defad,'id'));}});})['then'](function(){db[_0x8279('0x92')][_0x8279('0x3a')](_0x203ff2[_0x8279('0x93')](),_0x56c61f)[_0x8279('0x26')](function(_0xd1c8c0){_0x48488b['count']=_0xd1c8c0[_0x8279('0x3f')];if(_0x48488b[_0x8279('0x1f')]===0x0)return[];return db[_0x8279('0x92')][_0x8279('0x3a')](_0x241245[_0x8279('0x93')](),_0x56c61f)[_0x8279('0x26')](function(_0x10aa30){_0x59421d=_[_0x8279('0x94')](_0x10aa30,'id');_0x56c61f=_[_0x8279('0x95')](_0x56c61f,{'model':db[_0x8279('0x36')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x57730c[_0x8279('0x3a')][_0x8279('0x3e')]){_0x5a85a7[_0x8279('0x3d')][_0x8279('0x6c')](function(_0x207ee9){_0x7334be['field']('i.'+_0x207ee9);});}else{_0x7334be[_0x8279('0x47')](_0x8279('0x96'),'unreadMessages');_0x7334be[_0x8279('0x47')](_0x8279('0x97'),_0x8279('0x98'));_0x7334be[_0x8279('0x47')](_0x8279('0x99'),'Account.mandatoryDisposition');_0x7334be[_0x8279('0x47')](_0x8279('0x9a'));_0x7334be['field']('c.firstName',_0x8279('0x9b'));_0x7334be[_0x8279('0x47')](_0x8279('0x9c'),_0x8279('0x9d'));_0x7334be[_0x8279('0x47')]('c.email',_0x8279('0x9e'));_0x7334be[_0x8279('0x47')](_0x8279('0x9f'),'Contact.phone');_0x7334be['field']('c.mobile',_0x8279('0xa0'));_0x7334be[_0x8279('0x47')](_0x8279('0xa1'),_0x8279('0xa2'));_0x7334be['field'](_0x8279('0xa3'),'Owner.fullname');_0x7334be[_0x8279('0x47')](_0x8279('0xa4'),_0x8279('0xa5'));_0x7334be['field'](_0x8279('0xa6'),'TagIds');}if(_0x5a85a7[_0x8279('0x21')])_0x7334be['limit'](_0x5a85a7[_0x8279('0x21')]);if(_0x5a85a7[_0x8279('0x20')])_0x7334be[_0x8279('0x20')](_0x5a85a7[_0x8279('0x20')]);return db['sequelize'][_0x8279('0x3a')](_0x7334be[_0x8279('0x93')](),_0x56c61f);})[_0x8279('0x26')](function(_0x4d4c2a){_0x50122d[_0x8279('0x43')](_0x8279('0xa7'),_[_0x8279('0x35')](_0x4d4c2a,'id'));return db[_0x8279('0x92')]['query'](_0x50122d[_0x8279('0x93')](),_0x56c61f)['then'](function(_0x38d830){var _0x287c3e=_['groupBy'](_0x38d830,_0x8279('0xa8'));var _0x590ac5=[];_0x4d4c2a[_0x8279('0x6c')](function(_0x175458){_0x590ac5[_0x8279('0x32')](updateOpenchannelInteraction(_0x175458,_0x59421d,_0x287c3e));});return BPromise['all'](_0x590ac5);});});})[_0x8279('0x26')](function(_0x40f1db){_0x48488b[_0x8279('0xa9')]=_0x40f1db;return _0x48488b;})['then'](respondWithFilteredResult(_0x19d31b,_0x5a85a7));})[_0x8279('0x33')](handleError(_0x19d31b,null));};exports[_0x8279('0xaa')]=function(_0x3e7ca3,_0x1fc319){var _0x5c247f={};if(_0x3e7ca3['query'][_0x8279('0x38')]&&_0x3e7ca3['query'][_0x8279('0x38')]===_0x8279('0x49')){_0x5c247f[_0x8279('0x49')]=_0x3e7ca3[_0x8279('0xab')]['id'];}else{_0x5c247f['id']=_0x3e7ca3[_0x8279('0xab')]['id'];}var _0x134130={'raw':![],'where':_0x5c247f},_0x3173a7={};_0x3173a7['model']=_[_0x8279('0x3b')](db['OpenchannelInteraction'][_0x8279('0x37')]);_0x3173a7[_0x8279('0x3a')]=_['keys'](_0x3e7ca3[_0x8279('0x3a')]);_0x3173a7[_0x8279('0x44')]=_[_0x8279('0x3c')](_0x3173a7[_0x8279('0x39')],_0x3173a7[_0x8279('0x3a')]);_0x134130['attributes']=_[_0x8279('0x3c')](_0x3173a7[_0x8279('0x39')],qs['fields'](_0x3e7ca3[_0x8279('0x3a')][_0x8279('0x3e')]));_0x134130[_0x8279('0x3d')]=_0x134130['attributes'][_0x8279('0x3f')]?_0x134130['attributes']:_0x3173a7[_0x8279('0x39')];if(_0x3e7ca3[_0x8279('0x3a')]['includeAll']){_0x134130[_0x8279('0xac')]=[{'all':!![]}];}_0x134130=_[_0x8279('0x95')]({},_0x134130,_0x3e7ca3[_0x8279('0xad')]);return db[_0x8279('0x36')][_0x8279('0x5e')](_0x134130)[_0x8279('0x26')](handleEntityNotFound(_0x1fc319,null))['then'](respondWithResult(_0x1fc319,null))[_0x8279('0x33')](handleError(_0x1fc319,null));};exports[_0x8279('0xae')]=function(_0x2e327d,_0x2e4e7){return db[_0x8279('0x36')]['create'](_0x2e327d[_0x8279('0x73')],{})['then'](respondWithResult(_0x2e4e7,0xc9))['catch'](handleError(_0x2e4e7,null));};exports[_0x8279('0xaf')]=function(_0x6fab63,_0x4e0c52){if(_0x6fab63['body']['id']){delete _0x6fab63[_0x8279('0x73')]['id'];}return db[_0x8279('0x36')]['find']({'where':{'id':_0x6fab63[_0x8279('0xab')]['id']}})[_0x8279('0x26')](handleEntityNotFound(_0x4e0c52,null))['then'](saveUpdates(_0x6fab63[_0x8279('0x73')],null))[_0x8279('0x26')](respondWithResult(_0x4e0c52,null))[_0x8279('0x33')](handleError(_0x4e0c52,null));};exports['destroy']=function(_0x5c697c,_0x37de57){return db[_0x8279('0x36')]['find']({'where':{'id':_0x5c697c[_0x8279('0xab')]['id']}})[_0x8279('0x26')](handleEntityNotFound(_0x37de57,null))[_0x8279('0x26')](removeEntity(_0x37de57,null))['catch'](handleError(_0x37de57,null));};exports[_0x8279('0xb0')]=function(_0x1b910a,_0x235abf){return db[_0x8279('0x36')]['describe']()[_0x8279('0x26')](respondWithResult(_0x235abf,null))[_0x8279('0x33')](handleError(_0x235abf,null));};exports[_0x8279('0xb1')]=function(_0xec223,_0x44fce3,_0x23e9bd){return db[_0x8279('0xb2')][_0x8279('0x5e')]({'where':{'id':_0xec223[_0x8279('0xab')]['id']}})[_0x8279('0x26')](handleEntityNotFound(_0x44fce3,null))[_0x8279('0x26')](function(_0x3760a6){if(_0x3760a6){return _0x3760a6[_0x8279('0xb1')](_0xec223[_0x8279('0x73')][_0x8279('0xb3')],_[_0x8279('0xb4')](_0xec223[_0x8279('0x73')],[_0x8279('0xb3'),'id'])||{});}})[_0x8279('0x26')](respondWithResult(_0x44fce3,null))[_0x8279('0x33')](handleError(_0x44fce3,null));};exports[_0x8279('0xb5')]=function(_0x14f08b,_0x4358c5,_0x36fe23){var _0x4dc7e8={'raw':![],'where':{}};var _0xfd39e0={};var _0x2188ee={'count':0x0,'rows':[]};return db[_0x8279('0x36')][_0x8279('0xb6')]({'where':{'id':_0x14f08b[_0x8279('0xab')]['id']}})[_0x8279('0x26')](handleEntityNotFound(_0x4358c5,null))[_0x8279('0x26')](function(_0x11ea9c){if(_0x11ea9c){_0xfd39e0['model']=_[_0x8279('0x3b')](db[_0x8279('0xb2')][_0x8279('0x37')]);_0xfd39e0[_0x8279('0x3a')]=_[_0x8279('0x3b')](_0x14f08b[_0x8279('0x3a')]);_0xfd39e0[_0x8279('0x44')]=_[_0x8279('0x3c')](_0xfd39e0[_0x8279('0x39')],_0xfd39e0[_0x8279('0x3a')]);_0x4dc7e8['attributes']=_['intersection'](_0xfd39e0['model'],qs[_0x8279('0x3e')](_0x14f08b[_0x8279('0x3a')][_0x8279('0x3e')]));_0x4dc7e8[_0x8279('0x3d')]=_0x4dc7e8['attributes'][_0x8279('0x3f')]?_0x4dc7e8['attributes']:_0xfd39e0['model'];if(!_0x14f08b[_0x8279('0x3a')]['hasOwnProperty'](_0x8279('0x40'))){_0x4dc7e8[_0x8279('0x21')]=qs[_0x8279('0x21')](_0x14f08b['query'][_0x8279('0x21')]);_0x4dc7e8[_0x8279('0x20')]=qs[_0x8279('0x20')](_0x14f08b[_0x8279('0x3a')][_0x8279('0x20')]);}_0x4dc7e8[_0x8279('0x41')]=qs[_0x8279('0x42')](_0x14f08b[_0x8279('0x3a')][_0x8279('0x42')]);_0x4dc7e8[_0x8279('0x43')]=qs['filters'](_[_0x8279('0x45')](_0x14f08b[_0x8279('0x3a')],_0xfd39e0[_0x8279('0x44')]));_0x4dc7e8[_0x8279('0x43')]['OpenchannelInteractionId']=_0x11ea9c['id'];if(_0x14f08b[_0x8279('0x3a')][_0x8279('0x82')]){_0x4dc7e8[_0x8279('0x43')]=_[_0x8279('0x95')](_0x4dc7e8[_0x8279('0x43')],{'$or':_[_0x8279('0x35')](_0x4dc7e8[_0x8279('0x3d')],function(_0x542130){var _0x131ad7={};_0x131ad7[_0x542130]={'$like':'%'+_0x14f08b[_0x8279('0x3a')][_0x8279('0x82')]+'%'};return _0x131ad7;})});}if(_0x14f08b[_0x8279('0x3a')]['$gte']){var _0x1178e2=_0x14f08b[_0x8279('0x3a')][_0x8279('0xb7')][_0x8279('0x31')](',');var _0x68c5b1={};_0x68c5b1[_0x1178e2[0x0]]={'$gte':moment(_0x1178e2[0x1])[_0x8279('0xb8')]('YYYY-MM-DD\x20HH:mm:ss')};_0x4dc7e8['where']=_[_0x8279('0x95')](_0x4dc7e8[_0x8279('0x43')],_0x68c5b1);}_0x4dc7e8=_[_0x8279('0x95')]({},_0x4dc7e8,_0x14f08b[_0x8279('0xad')]);return db[_0x8279('0xb2')][_0x8279('0x1f')]({'where':_0x4dc7e8[_0x8279('0x43')]})[_0x8279('0x26')](function(_0x3d97a5){_0x2188ee[_0x8279('0x1f')]=_0x3d97a5;if(_0x14f08b[_0x8279('0x3a')][_0x8279('0xb9')]){_0x4dc7e8[_0x8279('0xac')]=[{'all':!![]}];}return db[_0x8279('0xb2')][_0x8279('0xba')](_0x4dc7e8);})[_0x8279('0x26')](function(_0x5e4522){_0x2188ee[_0x8279('0xa9')]=_0x5e4522;return _0x2188ee;});}})[_0x8279('0x26')](respondWithFilteredResult(_0x4358c5,_0x4dc7e8))[_0x8279('0x33')](handleError(_0x4358c5,null));};exports[_0x8279('0xbb')]=function(_0x174532,_0x509278,_0x1d0152){return db[_0x8279('0x36')][_0x8279('0x5e')]({'where':{'id':_0x174532['params']['id']}})[_0x8279('0x26')](handleEntityNotFound(_0x509278,null))[_0x8279('0x26')](function(_0x8e7bc0){if(_0x8e7bc0){return _0x8e7bc0[_0x8279('0xbc')](_0x174532[_0x8279('0x73')][_0x8279('0xb3')],_[_0x8279('0xb4')](_0x174532['body'],[_0x8279('0xb3'),'id'])||{})['spread'](function(){return db[_0x8279('0x6b')][_0x8279('0xba')]({'attributes':['id',_0x8279('0x2b'),'color'],'where':{'id':_0x174532[_0x8279('0x73')][_0x8279('0xb3')]}});})[_0x8279('0x26')](function(_0xfb944){socket[_0x8279('0xbd')](_0x8279('0xbe'),{'id':Number(_0x174532[_0x8279('0xab')]['id']),'tags':_0xfb944||[]});return{'id':Number(_0x174532[_0x8279('0xab')]['id']),'tags':_0xfb944||[]};});}})[_0x8279('0x26')](respondWithResult(_0x509278,null))[_0x8279('0x33')](handleError(_0x509278,null));};exports[_0x8279('0xbf')]=function(_0x2959d8,_0x4f2ddd,_0x136857){return db[_0x8279('0x36')][_0x8279('0x5e')]({'where':{'id':_0x2959d8['params']['id']}})[_0x8279('0x26')](handleEntityNotFound(_0x4f2ddd,null))['then'](function(_0x53198c){if(_0x53198c){return _0x53198c[_0x8279('0xbf')](_0x2959d8[_0x8279('0x3a')][_0x8279('0xb3')]);}})[_0x8279('0x26')](respondWithStatusCode(_0x4f2ddd,null))[_0x8279('0x33')](handleError(_0x4f2ddd,null));};exports[_0x8279('0xc0')]=function(_0x246339,_0x54c0da){var _0x370ebc=moment()[_0x8279('0xc1')]()[_0x8279('0x93')]();var _0x171052=path[_0x8279('0xc2')](config['root'],_0x8279('0xc3'),'files',_0x8279('0xc4'));var _0xade36b=path[_0x8279('0xc2')](config[_0x8279('0xc5')],_0x8279('0xc3'),_0x8279('0xc6'),_0x8279('0xc7'));var _0x2c9802=path[_0x8279('0xc2')](_0x171052,_0x370ebc);var _0x4b43ef=util[_0x8279('0xb8')]('transcript-%d-%s.zip',_0x246339['params']['id'],_0x370ebc);var _0x315761=path['join'](_0x171052,_0x4b43ef);var _0x3e3596=[];_0x3e3596[_0x8279('0x32')]({'model':db['User'],'as':'User','attributes':['id',_0x8279('0x2e')],'raw':!![]});_0x3e3596[_0x8279('0x32')]({'model':db[_0x8279('0xc8')],'as':'Contact','attributes':['id',_0x8279('0xc9'),'lastName'],'raw':!![]});if(_0x246339[_0x8279('0x3a')]['attachments']){_0x3e3596[_0x8279('0x32')]({'model':db['Attachment'],'as':_0x8279('0xca'),'raw':!![]});}var _0x19aa17=[{'model':db[_0x8279('0xb2')],'as':_0x8279('0xcb'),'attributes':['id',_0x8279('0x73'),_0x8279('0x79'),_0x8279('0xcc'),_0x8279('0xcd'),_0x8279('0x7e')],'include':_0x3e3596}];_0x19aa17[_0x8279('0x32')]({'model':db[_0x8279('0xce')],'as':_0x8279('0xcf'),'attributes':['id',_0x8279('0x2b')]});_0x19aa17[_0x8279('0x32')]({'model':db[_0x8279('0x6e')],'as':'Owner','attributes':['id',_0x8279('0x2e')]});return db[_0x8279('0x36')][_0x8279('0x5e')]({'where':{'id':_0x246339[_0x8279('0xab')]['id']},'include':_0x19aa17})[_0x8279('0x26')](handleEntityNotFound(_0x54c0da,null))[_0x8279('0x26')](function(_0x5e5702){if(_0x5e5702){var _0x40837f=_0x5e5702['get']({'plain':!![]});fs[_0x8279('0xd0')](_0x2c9802);var _0x4d6d96={'format':'A4','border':_0x8279('0xd1'),'header':{'height':_0x8279('0xd2'),'contents':{'first':'<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h5>Interaction\x20Transcript</h5>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>'}},'footer':{'height':_0x8279('0xd3'),'contents':{'default':util[_0x8279('0xb8')]('<hr\x20class=\x22separator\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22footer\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22left\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22center\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>{{page}}/{{pages}}</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22right\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span>%s</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',util[_0x8279('0xb8')](_0x8279('0xd4'),'Openchannel',_0x40837f['id']),moment()[_0x8279('0xb8')]('YYYY-MM-DD')[_0x8279('0x93')]())}}};var _0x5b6d36={'channel':'Openchannel','account':_0x40837f[_0x8279('0xcf')][_0x8279('0x2b')],'agent':_0x40837f[_0x8279('0xd5')]?_0x40837f[_0x8279('0xd5')]['fullname']:_0x8279('0xd6'),'createdAt':moment(_0x40837f[_0x8279('0x79')])[_0x8279('0xb8')]('YYYY-MM-DD\x20HH:mm:ss')[_0x8279('0x93')](),'closedAt':_0x40837f['closed']?moment(_0x40837f['closedAt'])[_0x8279('0xb8')]('YYYY-MM-DD\x20HH:mm:ss')[_0x8279('0x93')]():'','disposition':_0x40837f[_0x8279('0xd7')],'visibility':_0x40837f['threadId']?_0x8279('0xd8'):'Private','messages':_(_0x40837f[_0x8279('0xcb')])['filter']({'secret':![]})['map'](function(_0x26c7b1){if(_0x26c7b1[_0x8279('0xca')]){var _0x5b189f=path['join'](_0xade36b,_0x26c7b1[_0x8279('0xca')]['basename']);if(fs[_0x8279('0xd9')](_0x5b189f)){fs[_0x8279('0xda')](_0x5b189f)['pipe'](fs[_0x8279('0xdb')](path[_0x8279('0xc2')](_0x2c9802,_0x26c7b1['Attachment'][_0x8279('0xdc')])));}}return{'date':moment(_0x26c7b1['createdAt'])[_0x8279('0xb8')](_0x8279('0xdd'))['toString'](),'sender':_0x26c7b1[_0x8279('0xcc')]==='out'?_0x26c7b1[_0x8279('0x6e')]?_0x26c7b1[_0x8279('0x6e')][_0x8279('0x2e')]:_0x8279('0xde'):_0x26c7b1[_0x8279('0x64')][_0x8279('0xc9')]+(_0x26c7b1[_0x8279('0x64')][_0x8279('0xdf')]?'\x20'+_0x26c7b1[_0x8279('0x64')]['lastName']:''),'body':_0x26c7b1[_0x8279('0xca')]?_0x26c7b1['Attachment'][_0x8279('0xdc')]:_0x26c7b1[_0x8279('0x73')],'direction':_0x26c7b1[_0x8279('0xcc')]===_0x8279('0xe0')?'A':'C','secret':_0x26c7b1['secret'],'read':_0x26c7b1[_0x8279('0x7e')],'attachment':_0x26c7b1['Attachment']};})[_0x8279('0x60')]()};return ejs[_0x8279('0xe1')](path[_0x8279('0xc2')](config['root'],_0x8279('0xc3'),_0x8279('0xe2'),_0x8279('0xe3')),{'interaction':_0x5b6d36})[_0x8279('0x26')](function(_0x59c3cc){return new BPromise(function(_0x131528,_0xec2c94){pdf[_0x8279('0xae')](_0x59c3cc,_0x4d6d96)['toFile'](path[_0x8279('0xc2')](_0x2c9802,_0x8279('0xe4')+_0x40837f['id']+'-'+_0x370ebc+'.pdf'),function(_0x408c96,_0x4f6151){if(_0x408c96)return _0xec2c94(_0x408c96);_0x131528(_0x4f6151);});});})[_0x8279('0x26')](function(){return new BPromise(function(_0x35091d,_0x10dfce){zipdir(_0x2c9802,{'saveTo':_0x315761},function(_0x9be480,_0x48fa35){if(_0x9be480)return _0x10dfce(_0x9be480);return _0x35091d(_0x48fa35);});})[_0x8279('0x26')](function(){return new BPromise(function(_0x238a9a,_0x1255d3){rimraf(_0x2c9802,function(_0x3550a0){if(_0x3550a0)_0x1255d3(_0x3550a0);return _0x238a9a();});});})['then'](function(){return _0x54c0da[_0x8279('0xc0')](_0x315761,_0x4b43ef,function(_0x3790c9){if(_0x3790c9){console['log'](_0x8279('0xe5'),_0x3790c9);}else{fs[_0x8279('0xe6')](_0x315761);}});});});}else{return _0x54c0da[_0x8279('0x28')](0xc8);}})[_0x8279('0x33')](handleError(_0x54c0da,null));};