Built motion from commit 355702c8.|2.5.41
[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 _0x694d=['i.*','c.firstName','Contact.firstName','c.lastName','c.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.OpenchannelInteractionId\x20IN\x20?','OpenchannelInteractionId','all','rows','show','params','rawAttributes','includeAll','options','create','describe','addMessage','OpenchannelMessage','omit','ids','getMessages','findOne','format','include','addTags','setTags','findAll','emit','openchannelInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','secret','Account','Owner','Openchannel','closedAt','YYYY-MM-DD\x20HH:mm:ss','disposition','threadId','Public','Private','Messages','existsSync','createReadStream','createWriteStream','basename','direction','out','renderFile','views','downloadInteraction.ejs','transcript-','createPdfFromHTML','log','err','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','fs-extra','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','./openchannelInteraction.socket','sendStatus','status','offset','undefined','limit','count','json','apply','reject','update','then','destroy','end','stack','name','send','Users','map','fullname','TagIds','split','forEach','Tags','push','catch','answered','unmanaged','total','closed','waiting','UserId','talking','index','fieldName','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','pick','select','field','color','from','tools_tags','u.id','u.fullname','ui.OpenchannelInteractionId','user_has_openchannel_interactions','left_join','u.id\x20=\x20ui.UserId','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','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','search','parseSearch','conditions','length','find','unreadMessages','value','having','`\x20>\x200','Contact','$substring','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','body','some','isEmpty','OpenchannelAccountId','where','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','read','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','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','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','resolve','i.OpenchannelAccountId\x20IS\x20NOT\x20NULL','role','user','getOpenchannelAccounts','i.OpenchannelAccountId\x20IS\x20NULL','i.OpenchannelAccountId\x20IN\x20?','agent','sequelize','toString','keyBy','merge','OpenchannelInteraction','a.key','a.mandatoryDisposition','Account.mandatoryDisposition'];(function(_0x1d1779,_0x284147){var _0x2377e9=function(_0x299f6f){while(--_0x299f6f){_0x1d1779['push'](_0x1d1779['shift']());}};_0x2377e9(++_0x284147);}(_0x694d,0x140));var _0xd694=function(_0x5ea4e2,_0x2df4cb){_0x5ea4e2=_0x5ea4e2-0x0;var _0x595d3d=_0x694d[_0x5ea4e2];return _0x595d3d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd694('0x0'));var zipdir=require(_0xd694('0x1'));var jsonpatch=require(_0xd694('0x2'));var rp=require(_0xd694('0x3'));var moment=require('moment');var BPromise=require(_0xd694('0x4'));var Mustache=require('mustache');var util=require(_0xd694('0x5'));var path=require(_0xd694('0x6'));var sox=require(_0xd694('0x7'));var csv=require(_0xd694('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd694('0x9'));var _=require('lodash');var squel=require(_0xd694('0xa'));var crypto=require(_0xd694('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xd694('0xc'));var toCsv=require(_0xd694('0x8'));var querystring=require(_0xd694('0xd'));var Papa=require(_0xd694('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xd694('0xf'));var as=require(_0xd694('0x10'));var pdf=require(_0xd694('0x11'));var hardwareService=require(_0xd694('0x12'));var logger=require(_0xd694('0x13'))(_0xd694('0x14'));var utils=require(_0xd694('0x15'));var config=require(_0xd694('0x16'));var licenseUtil=require(_0xd694('0x17'));var db=require('../../mysqldb')['db'];config[_0xd694('0x18')]=_[_0xd694('0x19')](config[_0xd694('0x18')],{'host':_0xd694('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd694('0x18')]));require(_0xd694('0x1b'))['register'](socket);function respondWithStatusCode(_0x55b83a,_0x1f0aca){_0x1f0aca=_0x1f0aca||0xcc;return function(_0xcbdaf4){if(_0xcbdaf4){return _0x55b83a[_0xd694('0x1c')](_0x1f0aca);}return _0x55b83a[_0xd694('0x1d')](_0x1f0aca)['end']();};}function respondWithResult(_0x5df44e,_0x23b50e){_0x23b50e=_0x23b50e||0xc8;return function(_0x5c0b46){if(_0x5c0b46){return _0x5df44e[_0xd694('0x1d')](_0x23b50e)['json'](_0x5c0b46);}};}function respondWithFilteredResult(_0x3a6cf4,_0x22cdba){return function(_0x2c587b){if(_0x2c587b){var _0x1419a0=typeof _0x22cdba[_0xd694('0x1e')]===_0xd694('0x1f')&&typeof _0x22cdba[_0xd694('0x20')]===_0xd694('0x1f');var _0x2736af=_0x2c587b[_0xd694('0x21')];var _0x3405ed=_0x1419a0?0x0:_0x22cdba[_0xd694('0x1e')];var _0x387aa8=_0x1419a0?_0x2c587b[_0xd694('0x21')]:_0x22cdba[_0xd694('0x1e')]+_0x22cdba['limit'];var _0x4e1114;if(_0x387aa8>=_0x2736af){_0x387aa8=_0x2736af;_0x4e1114=0xc8;}else{_0x4e1114=0xce;}_0x3a6cf4[_0xd694('0x1d')](_0x4e1114);return _0x3a6cf4['set']('Content-Range',_0x3405ed+'-'+_0x387aa8+'/'+_0x2736af)[_0xd694('0x22')](_0x2c587b);}return null;};}function patchUpdates(_0x480612){return function(_0x2d1b17){try{jsonpatch[_0xd694('0x23')](_0x2d1b17,_0x480612,!![]);}catch(_0x2b00bb){return BPromise[_0xd694('0x24')](_0x2b00bb);}return _0x2d1b17['save']();};}function saveUpdates(_0x15f9ec,_0x4bce4c){return function(_0x3aa0bf){if(_0x3aa0bf){return _0x3aa0bf[_0xd694('0x25')](_0x15f9ec)[_0xd694('0x26')](function(_0x316eb8){return _0x316eb8;});}return null;};}function removeEntity(_0x2d34af,_0x39f9ee){return function(_0x5393e9){if(_0x5393e9){return _0x5393e9[_0xd694('0x27')]()['then'](function(){_0x2d34af[_0xd694('0x1d')](0xcc)[_0xd694('0x28')]();});}};}function handleEntityNotFound(_0x24db57,_0x293535){return function(_0x11c19a){if(!_0x11c19a){_0x24db57['sendStatus'](0x194);}return _0x11c19a;};}function handleError(_0x1d8d33,_0x5874c7){_0x5874c7=_0x5874c7||0x1f4;return function(_0x3a182b){logger['error'](_0x3a182b[_0xd694('0x29')]);if(_0x3a182b['name']){delete _0x3a182b[_0xd694('0x2a')];}_0x1d8d33[_0xd694('0x1d')](_0x5874c7)[_0xd694('0x2b')](_0x3a182b);};}function getInteractionUsers(_0x53175f,_0x88fb56){return new BPromise(function(_0x2903cd,_0x235f6d){try{if(_0x88fb56[_0x53175f['id']]){_0x53175f[_0xd694('0x2c')]=_[_0xd694('0x2d')](_0x88fb56[_0x53175f['id']],function(_0x945150){return{'id':_0x945150['id'],'fullname':_0x945150[_0xd694('0x2e')]};});}}catch(_0x60f15){_0x235f6d(_0x60f15);}_0x2903cd(_0x53175f);});}function getInteractionTags(_0x525a2e,_0x667f26){return new BPromise(function(_0x1809ea,_0x5df35a){try{if(_0x525a2e[_0xd694('0x2f')]){_0x525a2e['Tags']=[];_0x525a2e['TagIds'][_0xd694('0x30')](',')[_0xd694('0x31')](function(_0x734ecc){_0x525a2e[_0xd694('0x32')][_0xd694('0x33')](_0x667f26[_0x734ecc]);});}delete _0x525a2e[_0xd694('0x2f')];}catch(_0x4a13c7){_0x5df35a(_0x4a13c7);}_0x1809ea(_0x525a2e);});}function updateOpenchannelInteraction(_0x586142,_0x457db9,_0x5b90c2){return new BPromise(function(_0x2646dc,_0x126bc5){return getInteractionUsers(_0x586142,_0x5b90c2)[_0xd694('0x26')](function(_0x3f91e1){return getInteractionTags(_0x3f91e1,_0x457db9);})[_0xd694('0x26')](function(_0xcf7481){return getStateInteraction(_0xcf7481);})[_0xd694('0x26')](function(_0x114a65){_0x2646dc(_0x114a65);})[_0xd694('0x34')](function(_0x335b64){_0x126bc5(_0x335b64);});});}function getStateInteraction(_0x28777e){return new BPromise(function(_0x51b20e){_0x28777e['waiting']=0x0;_0x28777e['talking']=0x0;_0x28777e[_0xd694('0x35')]=0x0;_0x28777e[_0xd694('0x36')]=0x0;_0x28777e[_0xd694('0x37')]=0x0;if(!_0x28777e[_0xd694('0x38')]&&!_0x28777e['UserId']){_0x28777e[_0xd694('0x39')]+=0x1;}if(!_0x28777e['closed']&&_0x28777e[_0xd694('0x3a')]){_0x28777e[_0xd694('0x3b')]+=0x1;if(_0x28777e[_0xd694('0x39')]){_0x28777e[_0xd694('0x39')]-=0x1;}}if(_0x28777e[_0xd694('0x38')]&&_0x28777e['UserId']){_0x28777e[_0xd694('0x35')]+=0x1;if(_0x28777e[_0xd694('0x3b')]){_0x28777e[_0xd694('0x3b')]-=0x1;}}if(_0x28777e['closed']&&!_0x28777e[_0xd694('0x3a')]){_0x28777e['unmanaged']+=0x1;if(_0x28777e[_0xd694('0x39')]){_0x28777e[_0xd694('0x39')]-=0x1;}}_0x28777e[_0xd694('0x37')]+=0x1;_0x51b20e(_0x28777e);});}exports[_0xd694('0x3c')]=function(_0x50c9b0,_0x4956e9){var _0x492c3c={},_0x47d457={},_0x5ad569={'count':0x0,'rows':[]};var _0x3d447c=_[_0xd694('0x2d')](db['OpenchannelInteraction']['rawAttributes'],function(_0x33060a){return{'name':_0x33060a[_0xd694('0x3d')],'type':_0x33060a[_0xd694('0x3e')]['key']};});_0x47d457[_0xd694('0x3f')]=_[_0xd694('0x2d')](_0x3d447c,_0xd694('0x2a'));_0x47d457[_0xd694('0x40')]=_[_0xd694('0x41')](_0x50c9b0[_0xd694('0x40')]);_0x47d457[_0xd694('0x42')]=_[_0xd694('0x43')](_0x47d457['model'],_0x47d457['query']);_0x492c3c[_0xd694('0x44')]=_['intersection'](_0x47d457[_0xd694('0x3f')],qs[_0xd694('0x45')](_0x50c9b0[_0xd694('0x40')][_0xd694('0x45')]));_0x492c3c['attributes']=_0x492c3c['attributes']['length']?_0x492c3c['attributes']:_0x47d457[_0xd694('0x3f')];if(!_0x50c9b0[_0xd694('0x40')][_0xd694('0x46')](_0xd694('0x47'))){_0x492c3c[_0xd694('0x20')]=qs[_0xd694('0x20')](_0x50c9b0['query']['limit']);_0x492c3c[_0xd694('0x1e')]=qs['offset'](_0x50c9b0['query']['offset']);}_0x492c3c['order']=qs[_0xd694('0x48')](_0x50c9b0[_0xd694('0x40')][_0xd694('0x48')]);_0x492c3c['where']=qs['filters'](_[_0xd694('0x49')](_0x50c9b0[_0xd694('0x40')],_0x47d457['filters']),_0x3d447c);var _0x3e7fcc=[];var _0x436c1e=squel[_0xd694('0x4a')]()[_0xd694('0x4b')]('id')[_0xd694('0x4b')](_0xd694('0x2a'))['field'](_0xd694('0x4c'))[_0xd694('0x4d')](_0xd694('0x4e'));var _0x1e23f1=squel[_0xd694('0x4a')]()[_0xd694('0x4b')](_0xd694('0x4f'))['field'](_0xd694('0x50'))[_0xd694('0x4b')](_0xd694('0x51'))[_0xd694('0x4d')](_0xd694('0x52'),'ui')[_0xd694('0x53')]('users','u',_0xd694('0x54'));var _0x50a178=squel[_0xd694('0x4a')]()[_0xd694('0x4d')]('openchannel_interactions','i')['left_join']('cm_contacts','c',_0xd694('0x55'))[_0xd694('0x53')](_0xd694('0x56'),'o',_0xd694('0x57'))[_0xd694('0x53')](_0xd694('0x58'),'a',_0xd694('0x59'))['left_join'](_0xd694('0x5a'),'me',_0xd694('0x5b'))[_0xd694('0x53')](_0xd694('0x5c'),'it',_0xd694('0x5d'))[_0xd694('0x53')]('tools_tags','t',_0xd694('0x5e'));var _0x1a49b2=squel[_0xd694('0x5f')]();var _0x44bc0a=[];var _0x16e637=squel['expr']();var _0x1dd9a3;if(_0x50c9b0['query'][_0xd694('0x60')]){_0x1dd9a3=as[_0xd694('0x61')](_0x50c9b0[_0xd694('0x40')][_0xd694('0x60')]);var _0x14c477=_0x1dd9a3['sqlOperator'];for(var _0x32d65b=0x0;_0x32d65b<_0x1dd9a3[_0xd694('0x62')][_0xd694('0x63')];_0x32d65b++){var _0x4f31fe=_0x1dd9a3[_0xd694('0x62')][_0x32d65b];var _0x100f0f='i';var _0x43a9ff=_[_0xd694('0x64')](_0x3d447c,[_0xd694('0x2a'),_0x4f31fe[_0xd694('0x4b')]]);if(!_0x43a9ff){switch(_0x4f31fe[_0xd694('0x4b')]){case _0xd694('0x65'):if(_0x4f31fe[_0xd694('0x66')]==0x1){_0x50a178[_0xd694('0x67')]('`'+_0x4f31fe[_0xd694('0x4b')]+'`\x20=\x200');}else{_0x50a178['having']('`'+_0x4f31fe[_0xd694('0x4b')]+_0xd694('0x68'));}break;case _0xd694('0x69'):if(_0x4f31fe['operator']===_0xd694('0x6a')){if(_0x4f31fe[_0xd694('0x66')]['split']('\x20')[_0xd694('0x63')]>0x1){_0x1a49b2[_0x14c477]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0xd694('0x6b')](_0x4f31fe[_0xd694('0x66')]),null);}else{var _0x32d55a='%'+_0x4f31fe[_0xd694('0x66')]+'%';_0x1a49b2[_0x14c477](_0xd694('0x6c'),_0x32d55a,_0x32d55a,_0x32d55a);}}else{_0x43a9ff=_[_0xd694('0x64')](_0x3d447c,[_0xd694('0x2a'),_0xd694('0x6d')]);_0x4f31fe[_0xd694('0x4b')]=_0xd694('0x6d');_0x3c2834=as[_0xd694('0x6e')](_0x100f0f,_0x43a9ff[_0xd694('0x3e')],_0x4f31fe);_0x1a49b2[_0x14c477](_0x3c2834[_0xd694('0x6f')],_0x3c2834[_0xd694('0x66')][_0xd694('0x70')],_0x3c2834[_0xd694('0x66')]['end']);}break;case _0xd694('0x71'):var _0x471826=_0x4f31fe['value'][_0xd694('0x30')](',')[_0xd694('0x2d')](function(_0x4a5cd8){return Number(_0x4a5cd8);});_0x471826[_0xd694('0x31')](function(_0x3fc136){_0x16e637['or'](_0xd694('0x72'),'%,'+_0x3fc136+',%');});_0x44bc0a=_['union'](_0x44bc0a,_0x471826);break;case _0xd694('0x73'):if(_0x4f31fe[_0xd694('0x74')]===_0xd694('0x6a')){_0x1a49b2[_0x14c477](_0xd694('0x75'),'%'+_0x4f31fe[_0xd694('0x66')]+'%',null);}else{_0x43a9ff=_['find'](_0x3d447c,['name',_0xd694('0x3a')]);_0x4f31fe['field']=_0xd694('0x3a');_0x3c2834=as['buildExpression'](_0x100f0f,_0x43a9ff['type'],_0x4f31fe);_0x1a49b2[_0x14c477](_0x3c2834['text'],_0x3c2834[_0xd694('0x66')][_0xd694('0x70')],_0x3c2834[_0xd694('0x66')]['end']);}break;case _0xd694('0x76'):_0x3c2834=as[_0xd694('0x6e')]('me',null,_0x4f31fe);_0x1a49b2[_0x14c477](_0x3c2834[_0xd694('0x6f')],_0x3c2834[_0xd694('0x66')][_0xd694('0x70')],_0x3c2834[_0xd694('0x66')][_0xd694('0x28')]);break;}}else{var _0x3c2834=as['buildExpression'](_0x100f0f,_0x43a9ff[_0xd694('0x3e')],_0x4f31fe);_0x1a49b2[_0x14c477](_0x3c2834[_0xd694('0x6f')],_0x3c2834[_0xd694('0x66')][_0xd694('0x70')],_0x3c2834[_0xd694('0x66')]['end']);}}}else{var _0x2fa766=_(_0x50c9b0[_0xd694('0x40')])[_0xd694('0x41')]()[_0xd694('0x2d')](function(_0x1f35b2){return _[_0xd694('0x77')](_0x3d447c,[_0xd694('0x2a'),_0x1f35b2])?_0x1f35b2:undefined;})['compact']()[_0xd694('0x66')]();if(!_[_0xd694('0x78')](_0x2fa766)){_0x2fa766[_0xd694('0x31')](function(_0x9020c2){if(_0x9020c2===_0xd694('0x79')){_0x50a178[_0xd694('0x7a')]('i.OpenchannelAccountId\x20IN\x20?',[]['concat'](_0x50c9b0[_0xd694('0x40')][_0x9020c2]));}else if(_0x9020c2===_0xd694('0x7b')){var _0x2c5664=JSON[_0xd694('0x7c')](_0x50c9b0[_0xd694('0x40')][_0x9020c2])[_0xd694('0x7d')];var _0x336d89=JSON['parse'](_0x50c9b0['query'][_0x9020c2])['$lte'];_0x50a178[_0xd694('0x7a')](_0xd694('0x7e'),_0x2c5664,_0x336d89);}else{if(_0x50c9b0[_0xd694('0x40')][_0x9020c2]==='null'){_0x50a178[_0xd694('0x7a')]('i.'+_0x9020c2+_0xd694('0x7f'));}else{_0x50a178[_0xd694('0x7a')]('i.'+_0x9020c2+'\x20=\x20?',_0x50c9b0[_0xd694('0x40')][_0x9020c2]);}}});}if(_0x50c9b0['query']['read']){if(_0x50c9b0[_0xd694('0x40')][_0xd694('0x80')]==0x1){_0x50a178[_0xd694('0x67')](_0xd694('0x81'));}else{_0x50a178[_0xd694('0x67')]('`unreadMessages`\x20>\x200');}}if(_0x50c9b0[_0xd694('0x40')][_0xd694('0x82')]){_0x44bc0a=_[_0xd694('0x83')](_0x50c9b0[_0xd694('0x40')]['tag'])?_0x50c9b0[_0xd694('0x40')][_0xd694('0x82')]:new Array(_0x50c9b0[_0xd694('0x40')][_0xd694('0x82')]);_0x44bc0a[_0xd694('0x31')](function(_0x2d66dc){_0x16e637['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x2d66dc+',%');});}if(_0x50c9b0['query']['filter']){var _0x10c04d=_0x50c9b0[_0xd694('0x40')][_0xd694('0x84')]['replace']('\x5c','\x5c\x5c')[_0xd694('0x85')](/'/g,'\x27\x27');if(qs[_0xd694('0x86')](_0x10c04d)){_0x1a49b2['or'](_0xd694('0x87'),_0x10c04d+'%');}else{_0x1a49b2['or'](_0xd694('0x88'),qs[_0xd694('0x6b')](_0x10c04d))['or'](_0xd694('0x89'),_0x10c04d+'%')['or'](_0xd694('0x8a'),_0x10c04d+'%');}}}_0x50a178['where'](_0x1a49b2);_0x50a178['group'](_0xd694('0x8b'));var _0xf85445={'type':db[_0xd694('0x8c')][_0xd694('0x8d')][_0xd694('0x8e')],'raw':!![]};var _0x2e1549=_0x50a178[_0xd694('0x8f')]();_0x2e1549[_0xd694('0x4b')]('i.id');_0x2e1549[_0xd694('0x4b')](_0xd694('0x90'),_0xd694('0x65'));if(_0x492c3c[_0xd694('0x91')]){_0x492c3c[_0xd694('0x91')][_0xd694('0x31')](function(_0x9f7018){var _0x3672d2=_0x9f7018[0x0]===_0xd694('0x92')?_0x9f7018[0x0]:'i.'+_0x9f7018[0x0];_0x50a178[_0xd694('0x91')](_0x3672d2,_0x9f7018[0x1]===_0xd694('0x93')?![]:!![]);});}if(!_['isEmpty'](_0x44bc0a)){_0x50a178[_0xd694('0x67')](_0x16e637);_0x2e1549[_0xd694('0x7a')]('t.id\x20IN\x20?',_0x44bc0a);}BPromise[_0xd694('0x94')]()[_0xd694('0x26')](function(){if(!_0x1dd9a3){if(_0x50c9b0[_0xd694('0x40')]['OpenchannelAccountId'])return;_0x2e1549['where']('i.OpenchannelAccountId\x20IS\x20NOT\x20NULL');_0x50a178[_0xd694('0x7a')](_0xd694('0x95'));return;}if(_0x50c9b0['user'][_0xd694('0x96')]!=='agent')return;return _0x50c9b0[_0xd694('0x97')][_0xd694('0x98')]({'attributes':['id'],'raw':!![]})['then'](function(_0x49bc6d){if(_['isEmpty'](_0x49bc6d)){_0x2e1549[_0xd694('0x7a')](_0xd694('0x99'));_0x50a178[_0xd694('0x7a')](_0xd694('0x99'));}else{_0x2e1549[_0xd694('0x7a')](_0xd694('0x9a'),_[_0xd694('0x2d')](_0x49bc6d,'id'));_0x50a178['where'](_0xd694('0x9a'),_['map'](_0x49bc6d,'id'));}});})[_0xd694('0x26')](function(){if(_0x50c9b0['user']['role']===_0xd694('0x9b')&&!_0x1dd9a3&&!_0x50c9b0[_0xd694('0x40')][_0xd694('0x79')])return[];return db[_0xd694('0x9c')][_0xd694('0x40')](_0x2e1549[_0xd694('0x9d')](),_0xf85445);})[_0xd694('0x26')](function(_0xd2041a){_0x5ad569[_0xd694('0x21')]=_0xd2041a['length'];if(_0x5ad569[_0xd694('0x21')]===0x0)return[];return db[_0xd694('0x9c')][_0xd694('0x40')](_0x436c1e[_0xd694('0x9d')](),_0xf85445)['then'](function(_0x2a407e){_0x3e7fcc=_[_0xd694('0x9e')](_0x2a407e,'id');_0xf85445=_[_0xd694('0x9f')](_0xf85445,{'model':db[_0xd694('0xa0')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x50c9b0[_0xd694('0x40')][_0xd694('0x45')]){_0x492c3c['attributes'][_0xd694('0x31')](function(_0x5be3c7){_0x50a178[_0xd694('0x4b')]('i.'+_0x5be3c7);});}else{_0x50a178[_0xd694('0x4b')](_0xd694('0x90'),_0xd694('0x65'));_0x50a178[_0xd694('0x4b')](_0xd694('0xa1'),'Account.key');_0x50a178[_0xd694('0x4b')](_0xd694('0xa2'),_0xd694('0xa3'));_0x50a178[_0xd694('0x4b')]('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',_0xd694('0x92'));_0x50a178[_0xd694('0x4b')](_0xd694('0xa4'));_0x50a178[_0xd694('0x4b')](_0xd694('0xa5'),_0xd694('0xa6'));_0x50a178['field'](_0xd694('0xa7'),'Contact.lastName');_0x50a178[_0xd694('0x4b')](_0xd694('0xa8'),'Contact.email');_0x50a178[_0xd694('0x4b')](_0xd694('0xa9'),_0xd694('0xaa'));_0x50a178[_0xd694('0x4b')](_0xd694('0xab'),_0xd694('0xac'));_0x50a178[_0xd694('0x4b')](_0xd694('0xad'),_0xd694('0xae'));_0x50a178[_0xd694('0x4b')](_0xd694('0xaf'),_0xd694('0xb0'));_0x50a178[_0xd694('0x4b')](_0xd694('0xb1'),_0xd694('0xb2'));_0x50a178[_0xd694('0x4b')](_0xd694('0xb3'),'TagIds');}if(_0x492c3c[_0xd694('0x20')])_0x50a178[_0xd694('0x20')](_0x492c3c['limit']);if(_0x492c3c[_0xd694('0x1e')])_0x50a178[_0xd694('0x1e')](_0x492c3c[_0xd694('0x1e')]);return db[_0xd694('0x9c')]['query'](_0x50a178[_0xd694('0x9d')](),_0xf85445);})['then'](function(_0x1ed61a){if(_0x1ed61a[_0xd694('0x63')]>0x0)_0x1e23f1[_0xd694('0x7a')](_0xd694('0xb4'),_[_0xd694('0x2d')](_0x1ed61a,'id'));return db[_0xd694('0x9c')][_0xd694('0x40')](_0x1e23f1[_0xd694('0x9d')](),_0xf85445)[_0xd694('0x26')](function(_0x1397e9){var _0x15ee1b=_['groupBy'](_0x1397e9,_0xd694('0xb5'));var _0x23d2f5=[];_0x1ed61a[_0xd694('0x31')](function(_0x5a8522){_0x23d2f5['push'](updateOpenchannelInteraction(_0x5a8522,_0x3e7fcc,_0x15ee1b));});return BPromise[_0xd694('0xb6')](_0x23d2f5);});});})['then'](function(_0x420b5f){_0x5ad569[_0xd694('0xb7')]=_0x420b5f;return _0x5ad569;})[_0xd694('0x26')](respondWithFilteredResult(_0x4956e9,_0x492c3c))[_0xd694('0x34')](handleError(_0x4956e9,null));};exports[_0xd694('0xb8')]=function(_0x5c1b63,_0x36d064){var _0x2edcdc={};if(_0x5c1b63[_0xd694('0x40')][_0xd694('0x3e')]&&_0x5c1b63[_0xd694('0x40')][_0xd694('0x3e')]==='from'){_0x2edcdc['from']=_0x5c1b63[_0xd694('0xb9')]['id'];}else{_0x2edcdc['id']=_0x5c1b63['params']['id'];}var _0x59b3de={'raw':![],'where':_0x2edcdc},_0x57583a={};_0x57583a[_0xd694('0x3f')]=_[_0xd694('0x41')](db[_0xd694('0xa0')][_0xd694('0xba')]);_0x57583a[_0xd694('0x40')]=_['keys'](_0x5c1b63['query']);_0x57583a[_0xd694('0x42')]=_['intersection'](_0x57583a[_0xd694('0x3f')],_0x57583a[_0xd694('0x40')]);_0x59b3de[_0xd694('0x44')]=_['intersection'](_0x57583a[_0xd694('0x3f')],qs[_0xd694('0x45')](_0x5c1b63['query']['fields']));_0x59b3de[_0xd694('0x44')]=_0x59b3de[_0xd694('0x44')][_0xd694('0x63')]?_0x59b3de['attributes']:_0x57583a[_0xd694('0x3f')];if(_0x5c1b63['query'][_0xd694('0xbb')]){_0x59b3de['include']=[{'all':!![]}];}_0x59b3de=_[_0xd694('0x9f')]({},_0x59b3de,_0x5c1b63[_0xd694('0xbc')]);return db[_0xd694('0xa0')][_0xd694('0x64')](_0x59b3de)[_0xd694('0x26')](handleEntityNotFound(_0x36d064,null))['then'](respondWithResult(_0x36d064,null))[_0xd694('0x34')](handleError(_0x36d064,null));};exports[_0xd694('0xbd')]=function(_0x473aeb,_0x3d158b){return db['OpenchannelInteraction'][_0xd694('0xbd')](_0x473aeb[_0xd694('0x76')],{})[_0xd694('0x26')](respondWithResult(_0x3d158b,0xc9))[_0xd694('0x34')](handleError(_0x3d158b,null));};exports[_0xd694('0x25')]=function(_0x34f073,_0x23b28d){if(_0x34f073[_0xd694('0x76')]['id']){delete _0x34f073[_0xd694('0x76')]['id'];}return db[_0xd694('0xa0')]['find']({'where':{'id':_0x34f073['params']['id']}})['then'](handleEntityNotFound(_0x23b28d,null))[_0xd694('0x26')](saveUpdates(_0x34f073[_0xd694('0x76')],null))[_0xd694('0x26')](respondWithResult(_0x23b28d,null))[_0xd694('0x34')](handleError(_0x23b28d,null));};exports[_0xd694('0x27')]=function(_0x4974f5,_0x290b21){return db['OpenchannelInteraction'][_0xd694('0x64')]({'where':{'id':_0x4974f5['params']['id']}})['then'](handleEntityNotFound(_0x290b21,null))[_0xd694('0x26')](removeEntity(_0x290b21,null))[_0xd694('0x34')](handleError(_0x290b21,null));};exports[_0xd694('0xbe')]=function(_0x1c6ced,_0x337e50){return db['OpenchannelInteraction'][_0xd694('0xbe')]()[_0xd694('0x26')](respondWithResult(_0x337e50,null))[_0xd694('0x34')](handleError(_0x337e50,null));};exports[_0xd694('0xbf')]=function(_0x5cb0b7,_0x2006f4,_0x2da53f){return db[_0xd694('0xc0')][_0xd694('0x64')]({'where':{'id':_0x5cb0b7[_0xd694('0xb9')]['id']}})['then'](handleEntityNotFound(_0x2006f4,null))[_0xd694('0x26')](function(_0x3f1695){if(_0x3f1695){return _0x3f1695['addMessage'](_0x5cb0b7['body']['ids'],_[_0xd694('0xc1')](_0x5cb0b7['body'],[_0xd694('0xc2'),'id'])||{});}})['then'](respondWithResult(_0x2006f4,null))['catch'](handleError(_0x2006f4,null));};exports[_0xd694('0xc3')]=function(_0xfcf934,_0x3bab32,_0x5bbf43){var _0x1e5599={'raw':![],'where':{}};var _0x45768b={};var _0x3d9e2c={'count':0x0,'rows':[]};return db[_0xd694('0xa0')][_0xd694('0xc4')]({'where':{'id':_0xfcf934[_0xd694('0xb9')]['id']}})['then'](handleEntityNotFound(_0x3bab32,null))[_0xd694('0x26')](function(_0x416cc6){if(_0x416cc6){_0x45768b['model']=_[_0xd694('0x41')](db[_0xd694('0xc0')]['rawAttributes']);_0x45768b[_0xd694('0x40')]=_[_0xd694('0x41')](_0xfcf934[_0xd694('0x40')]);_0x45768b[_0xd694('0x42')]=_['intersection'](_0x45768b['model'],_0x45768b[_0xd694('0x40')]);_0x1e5599['attributes']=_[_0xd694('0x43')](_0x45768b[_0xd694('0x3f')],qs[_0xd694('0x45')](_0xfcf934[_0xd694('0x40')][_0xd694('0x45')]));_0x1e5599[_0xd694('0x44')]=_0x1e5599[_0xd694('0x44')][_0xd694('0x63')]?_0x1e5599[_0xd694('0x44')]:_0x45768b['model'];if(!_0xfcf934[_0xd694('0x40')]['hasOwnProperty'](_0xd694('0x47'))){_0x1e5599['limit']=qs[_0xd694('0x20')](_0xfcf934[_0xd694('0x40')]['limit']);_0x1e5599[_0xd694('0x1e')]=qs['offset'](_0xfcf934[_0xd694('0x40')][_0xd694('0x1e')]);}_0x1e5599[_0xd694('0x91')]=qs[_0xd694('0x48')](_0xfcf934[_0xd694('0x40')]['sort']);_0x1e5599[_0xd694('0x7a')]=qs[_0xd694('0x42')](_[_0xd694('0x49')](_0xfcf934[_0xd694('0x40')],_0x45768b[_0xd694('0x42')]));_0x1e5599[_0xd694('0x7a')][_0xd694('0xb5')]=_0x416cc6['id'];if(_0xfcf934[_0xd694('0x40')]['filter']){_0x1e5599[_0xd694('0x7a')]=_[_0xd694('0x9f')](_0x1e5599[_0xd694('0x7a')],{'$or':_[_0xd694('0x2d')](_0x1e5599[_0xd694('0x44')],function(_0x6865cd){var _0xabebf8={};_0xabebf8[_0x6865cd]={'$like':'%'+_0xfcf934['query'][_0xd694('0x84')]+'%'};return _0xabebf8;})});}if(_0xfcf934[_0xd694('0x40')]['$gte']){var _0x41e05f=_0xfcf934[_0xd694('0x40')][_0xd694('0x7d')][_0xd694('0x30')](',');var _0x3f24b9={};_0x3f24b9[_0x41e05f[0x0]]={'$gte':moment(_0x41e05f[0x1])[_0xd694('0xc5')]('YYYY-MM-DD\x20HH:mm:ss')};_0x1e5599[_0xd694('0x7a')]=_['merge'](_0x1e5599[_0xd694('0x7a')],_0x3f24b9);}_0x1e5599=_[_0xd694('0x9f')]({},_0x1e5599,_0xfcf934['options']);return db['OpenchannelMessage'][_0xd694('0x21')]({'where':_0x1e5599[_0xd694('0x7a')]})[_0xd694('0x26')](function(_0x149599){_0x3d9e2c[_0xd694('0x21')]=_0x149599;if(_0xfcf934[_0xd694('0x40')][_0xd694('0xbb')]){_0x1e5599[_0xd694('0xc6')]=[{'all':!![]}];}return db[_0xd694('0xc0')]['findAll'](_0x1e5599);})['then'](function(_0x3e7cd1){_0x3d9e2c[_0xd694('0xb7')]=_0x3e7cd1;return _0x3d9e2c;});}})[_0xd694('0x26')](respondWithFilteredResult(_0x3bab32,_0x1e5599))[_0xd694('0x34')](handleError(_0x3bab32,null));};exports[_0xd694('0xc7')]=function(_0x5ea686,_0xd5e197,_0x17cb93){return db[_0xd694('0xa0')]['find']({'where':{'id':_0x5ea686[_0xd694('0xb9')]['id']}})[_0xd694('0x26')](handleEntityNotFound(_0xd5e197,null))['then'](function(_0x1b3252){if(_0x1b3252){return _0x1b3252[_0xd694('0xc8')](_0x5ea686[_0xd694('0x76')][_0xd694('0xc2')],_[_0xd694('0xc1')](_0x5ea686[_0xd694('0x76')],['ids','id'])||{})['spread'](function(){return db[_0xd694('0x71')][_0xd694('0xc9')]({'attributes':['id','name','color'],'where':{'id':_0x5ea686[_0xd694('0x76')][_0xd694('0xc2')]}});})['then'](function(_0x3ede9b){socket[_0xd694('0xca')](_0xd694('0xcb'),{'id':Number(_0x5ea686[_0xd694('0xb9')]['id']),'tags':_0x3ede9b||[]});return{'id':Number(_0x5ea686[_0xd694('0xb9')]['id']),'tags':_0x3ede9b||[]};});}})['then'](respondWithResult(_0xd5e197,null))[_0xd694('0x34')](handleError(_0xd5e197,null));};exports['removeTags']=function(_0x360829,_0x12ce6d,_0x3a3e79){return db[_0xd694('0xa0')][_0xd694('0x64')]({'where':{'id':_0x360829[_0xd694('0xb9')]['id']}})[_0xd694('0x26')](handleEntityNotFound(_0x12ce6d,null))[_0xd694('0x26')](function(_0xc2636c){if(_0xc2636c){return _0xc2636c[_0xd694('0xcc')](_0x360829[_0xd694('0x40')]['ids']);}})[_0xd694('0x26')](respondWithStatusCode(_0x12ce6d,null))[_0xd694('0x34')](handleError(_0x12ce6d,null));};exports[_0xd694('0xcd')]=function(_0x1cd6d4,_0x3c2329){var _0x59d382=moment()[_0xd694('0xce')]()[_0xd694('0x9d')]();var _0x3bdb43=path[_0xd694('0xcf')](config[_0xd694('0xd0')],_0xd694('0xd1'),_0xd694('0xd2'),_0xd694('0xd3'));var _0x206496=path[_0xd694('0xcf')](config['root'],'server',_0xd694('0xd2'),_0xd694('0xd4'));var _0xeabe41=path[_0xd694('0xcf')](_0x3bdb43,_0x59d382);var _0xd4d4ab=util['format'](_0xd694('0xd5'),_0x1cd6d4['params']['id'],_0x59d382);var _0x126f7a=path[_0xd694('0xcf')](_0x3bdb43,_0xd4d4ab);var _0x1e69f4=[];_0x1e69f4[_0xd694('0x33')]({'model':db['User'],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x1e69f4[_0xd694('0x33')]({'model':db[_0xd694('0xd6')],'as':_0xd694('0x69'),'attributes':['id',_0xd694('0xd7'),_0xd694('0xd8')],'raw':!![]});if(_0x1cd6d4[_0xd694('0x40')][_0xd694('0xd4')]){_0x1e69f4['push']({'model':db[_0xd694('0xd9')],'as':_0xd694('0xd9'),'raw':!![]});}var _0x5dc3cc=[{'model':db[_0xd694('0xc0')],'as':'Messages','attributes':['id',_0xd694('0x76'),_0xd694('0x7b'),'direction',_0xd694('0xda'),_0xd694('0x80')],'include':_0x1e69f4}];_0x5dc3cc[_0xd694('0x33')]({'model':db['OpenchannelAccount'],'as':_0xd694('0xdb'),'attributes':['id',_0xd694('0x2a')]});_0x5dc3cc[_0xd694('0x33')]({'model':db[_0xd694('0x73')],'as':_0xd694('0xdc'),'attributes':['id',_0xd694('0x2e')]});return db[_0xd694('0xa0')][_0xd694('0x64')]({'where':{'id':_0x1cd6d4[_0xd694('0xb9')]['id']},'include':_0x5dc3cc})[_0xd694('0x26')](handleEntityNotFound(_0x3c2329,null))[_0xd694('0x26')](function(_0x16f2ce){if(_0x16f2ce){var _0x2c5c19=_0x16f2ce['get']({'plain':!![]});fs['mkdirSync'](_0xeabe41);var _0x152d52={'channel':_0xd694('0xdd'),'account':_0x2c5c19[_0xd694('0xdb')][_0xd694('0x2a')],'agent':_0x2c5c19[_0xd694('0xdc')]?_0x2c5c19[_0xd694('0xdc')]['fullname']:'N.A.','createdAt':moment(_0x2c5c19[_0xd694('0x7b')])[_0xd694('0xc5')]('YYYY-MM-DD\x20HH:mm:ss')[_0xd694('0x9d')](),'closedAt':_0x2c5c19[_0xd694('0x38')]?moment(_0x2c5c19[_0xd694('0xde')])[_0xd694('0xc5')](_0xd694('0xdf'))['toString']():'','disposition':_0x2c5c19[_0xd694('0xe0')],'visibility':_0x2c5c19[_0xd694('0xe1')]?_0xd694('0xe2'):_0xd694('0xe3'),'messages':_(_0x2c5c19[_0xd694('0xe4')])['filter']({'secret':![]})['map'](function(_0x48dcab){if(_0x48dcab[_0xd694('0xd9')]){var _0x2a1045=path['join'](_0x206496,_0x48dcab['Attachment']['basename']);if(fs[_0xd694('0xe5')](_0x2a1045)){fs[_0xd694('0xe6')](_0x2a1045)['pipe'](fs[_0xd694('0xe7')](path['join'](_0xeabe41,_0x48dcab[_0xd694('0xd9')][_0xd694('0xe8')])));}}return{'date':moment(_0x48dcab['createdAt'])[_0xd694('0xc5')](_0xd694('0xdf'))[_0xd694('0x9d')](),'sender':_0x48dcab[_0xd694('0xe9')]===_0xd694('0xea')?_0x48dcab['User']?_0x48dcab[_0xd694('0x73')]['fullname']:'System':_0x48dcab['Contact'][_0xd694('0xd7')]+(_0x48dcab[_0xd694('0x69')][_0xd694('0xd8')]?'\x20'+_0x48dcab[_0xd694('0x69')][_0xd694('0xd8')]:''),'body':_0x48dcab[_0xd694('0xd9')]?_0x48dcab['Attachment']['basename']:_0x48dcab['body'],'direction':_0x48dcab[_0xd694('0xe9')]===_0xd694('0xea')?'A':'C','secret':_0x48dcab[_0xd694('0xda')],'read':_0x48dcab[_0xd694('0x80')],'attachment':_0x48dcab[_0xd694('0xd9')]};})['value']()};return ejs[_0xd694('0xeb')](path[_0xd694('0xcf')](config['root'],_0xd694('0xd1'),_0xd694('0xec'),_0xd694('0xed')),{'interaction':_0x152d52})['then'](function(_0x43825f){var _0x13be8c=path[_0xd694('0xcf')](_0xeabe41,_0xd694('0xee')+_0x2c5c19['id']+'-'+_0x59d382+'.pdf');var _0x5765cc={'path':_0x13be8c,'channel':_0xd694('0xdd'),'interactionId':_0x2c5c19['id']};return pdf[_0xd694('0xef')](_0x43825f,_0x5765cc);})[_0xd694('0x26')](function(){return new BPromise(function(_0x25bd34,_0x3d7d50){zipdir(_0xeabe41,{'saveTo':_0x126f7a},function(_0x5c432d,_0x43592b){if(_0x5c432d)return _0x3d7d50(_0x5c432d);return _0x25bd34(_0x43592b);});})[_0xd694('0x26')](function(){return new BPromise(function(_0x31315b,_0x56b319){rimraf(_0xeabe41,function(_0x64b6d5){if(_0x64b6d5)_0x56b319(_0x64b6d5);return _0x31315b();});});})[_0xd694('0x26')](function(){return _0x3c2329[_0xd694('0xcd')](_0x126f7a,_0xd4d4ab,function(_0x4b1f24){if(_0x4b1f24){console[_0xd694('0xf0')](_0xd694('0xf1'),_0x4b1f24);}else{fs['unlinkSync'](_0x126f7a);}});});});}else{return _0x3c2329[_0xd694('0x1c')](0xc8);}})['catch'](handleError(_0x3c2329,null));};