73e297ce8b8a451c6ea5a4151e46189ba94afe6b
[motion2.git] / server / api / whatsappInteraction / whatsappInteraction.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 _0x5035=['count','offset','set','Content-Range','reject','update','then','end','error','stack','name','send','Users','map','TagIds','Tags','split','index','WhatsappInteraction','fieldName','type','key','model','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','select','field','color','from','tools_tags','u.id','ui.WhatsappInteractionId','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','sqlOperator','conditions','unreadMessages','value','`\x20=\x200','having','`\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','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','start','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','UserId','keys','some','compact','isEmpty','WhatsappAccountId','where','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','read','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','Sequelize','QueryTypes','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','merge','a.key','Account.key','CASE\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','contactName','c.firstName','Contact.lastName','Contact.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.internal','GROUP_CONCAT(DISTINCT\x20t.id)','limit','ui.WhatsappInteractionId\x20IN\x20?','WhatsappInteractionId','push','rows','catch','show','params','rawAttributes','includeAll','include','create','body','find','destroy','describe','addMessage','ids','omit','findOne','WhatsappMessage','$gte','format','YYYY-MM-DD\x20HH:mm:ss','options','findAll','addTags','setTags','spread','emit','whatsappInteractionTags:save','removeTags','download','root','server','files','tmp','join','attachments','transcript-%d-%s.zip','fullname','CmContact','lastName','Attachment','Messages','direction','secret','WhatsappAccount','Account','Owner','mkdirSync','10px','40px','<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>','30px','<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>','%s\x20#%d','YYYY-MM-DD','Whatsapp','N.A.','closed','closedAt','basename','existsSync','createReadStream','out','System','renderFile','downloadInteraction.html','toFile','transcript-','log','err','unlinkSync','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status'];(function(_0x39d980,_0x15c127){var _0x33fcbc=function(_0x32548a){while(--_0x32548a){_0x39d980['push'](_0x39d980['shift']());}};_0x33fcbc(++_0x15c127);}(_0x5035,0xcb));var _0x5503=function(_0x2da5c7,_0x3365af){_0x2da5c7=_0x2da5c7-0x0;var _0x2e8b44=_0x5035[_0x2da5c7];return _0x2e8b44;};'use strict';var pdf=require(_0x5503('0x0'));var emlformat=require(_0x5503('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5503('0x2'));var rp=require(_0x5503('0x3'));var moment=require(_0x5503('0x4'));var BPromise=require(_0x5503('0x5'));var Mustache=require(_0x5503('0x6'));var util=require('util');var path=require(_0x5503('0x7'));var sox=require(_0x5503('0x8'));var csv=require(_0x5503('0x9'));var ejs=require(_0x5503('0xa'));var fs=require('fs');var _=require(_0x5503('0xb'));var squel=require('squel');var crypto=require(_0x5503('0xc'));var jsforce=require(_0x5503('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x5503('0x9'));var querystring=require(_0x5503('0xe'));var Papa=require('papaparse');var Redis=require(_0x5503('0xf'));var authService=require(_0x5503('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x5503('0x11'));var hardwareService=require(_0x5503('0x12'));var logger=require(_0x5503('0x13'))(_0x5503('0x14'));var utils=require(_0x5503('0x15'));var config=require(_0x5503('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x5503('0x17')]=_[_0x5503('0x18')](config[_0x5503('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x5503('0x19'))(new Redis(config['redis']));require(_0x5503('0x1a'))[_0x5503('0x1b')](socket);function respondWithStatusCode(_0x2174b7,_0x4c39a6){_0x4c39a6=_0x4c39a6||0xcc;return function(_0x56e10a){if(_0x56e10a){return _0x2174b7[_0x5503('0x1c')](_0x4c39a6);}return _0x2174b7[_0x5503('0x1d')](_0x4c39a6)['end']();};}function respondWithResult(_0x4bd1a6,_0x4e0614){_0x4e0614=_0x4e0614||0xc8;return function(_0x37c3af){if(_0x37c3af){return _0x4bd1a6[_0x5503('0x1d')](_0x4e0614)['json'](_0x37c3af);}};}function respondWithFilteredResult(_0x1eeb4f,_0x1f1222){return function(_0x3de651){if(_0x3de651){var _0x375158=_0x3de651[_0x5503('0x1e')],_0x3d288b=_0x1f1222[_0x5503('0x1f')],_0x5b2f0e=_0x1f1222['offset']+_0x1f1222['limit'],_0x5b57a9;if(_0x5b2f0e>=_0x375158){_0x5b2f0e=_0x375158;_0x5b57a9=0xc8;}else{_0x5b57a9=0xce;}_0x1eeb4f[_0x5503('0x1d')](_0x5b57a9);return _0x1eeb4f[_0x5503('0x20')](_0x5503('0x21'),_0x3d288b+'-'+_0x5b2f0e+'/'+_0x375158)['json'](_0x3de651);}return null;};}function patchUpdates(_0x5e99d4){return function(_0x27e860){try{jsonpatch['apply'](_0x27e860,_0x5e99d4,!![]);}catch(_0x214662){return BPromise[_0x5503('0x22')](_0x214662);}return _0x27e860['save']();};}function saveUpdates(_0x113545,_0xdffc29){return function(_0x24e574){if(_0x24e574){return _0x24e574[_0x5503('0x23')](_0x113545)[_0x5503('0x24')](function(_0x3b1f8f){return _0x3b1f8f;});}return null;};}function removeEntity(_0x28e761,_0x46b444){return function(_0x34524d){if(_0x34524d){return _0x34524d['destroy']()[_0x5503('0x24')](function(){_0x28e761[_0x5503('0x1d')](0xcc)[_0x5503('0x25')]();});}};}function handleEntityNotFound(_0xdb184f,_0x217a25){return function(_0x397403){if(!_0x397403){_0xdb184f['sendStatus'](0x194);}return _0x397403;};}function handleError(_0x37a6e6,_0x4dbc17){_0x4dbc17=_0x4dbc17||0x1f4;return function(_0x272ecc){logger[_0x5503('0x26')](_0x272ecc[_0x5503('0x27')]);if(_0x272ecc[_0x5503('0x28')]){delete _0x272ecc[_0x5503('0x28')];}_0x37a6e6['status'](_0x4dbc17)[_0x5503('0x29')](_0x272ecc);};}function getInteractionUsers(_0x36f409,_0x5640a9){return new BPromise(function(_0x9439fc,_0x3e0e3a){try{if(_0x5640a9[_0x36f409['id']]){_0x36f409[_0x5503('0x2a')]=_[_0x5503('0x2b')](_0x5640a9[_0x36f409['id']],function(_0x55db45){return{'id':_0x55db45['id'],'fullname':_0x55db45['fullname']};});}}catch(_0x18d8e1){_0x3e0e3a(_0x18d8e1);}_0x9439fc(_0x36f409);});}function getInteractionTags(_0x52369a,_0x3b3cf2){return new BPromise(function(_0x3177a1,_0x2a5b9f){try{if(_0x52369a[_0x5503('0x2c')]){_0x52369a[_0x5503('0x2d')]=[];_0x52369a[_0x5503('0x2c')][_0x5503('0x2e')](',')['forEach'](function(_0x50e00f){_0x52369a['Tags']['push'](_0x3b3cf2[_0x50e00f]);});}delete _0x52369a[_0x5503('0x2c')];}catch(_0xc1b07a){_0x2a5b9f(_0xc1b07a);}_0x3177a1(_0x52369a);});}function updateWhatsappInteraction(_0x5c6edf,_0x275fdc,_0x2957df){return new BPromise(function(_0x5b53a6,_0x1b09ec){return getInteractionUsers(_0x5c6edf,_0x2957df)['then'](function(_0x119637){return getInteractionTags(_0x119637,_0x275fdc);})['then'](function(_0x2d942d){_0x5b53a6(_0x2d942d);})['catch'](function(_0x44a2a5){_0x1b09ec(_0x44a2a5);});});}exports[_0x5503('0x2f')]=function(_0x6e67b3,_0x1936b6){var _0x1d125b={},_0x2d53d2={},_0x53aed5={'count':0x0,'rows':[]};var _0x64867d=_[_0x5503('0x2b')](db[_0x5503('0x30')]['rawAttributes'],function(_0x1226fb){return{'name':_0x1226fb[_0x5503('0x31')],'type':_0x1226fb[_0x5503('0x32')][_0x5503('0x33')]};});_0x2d53d2[_0x5503('0x34')]=_[_0x5503('0x2b')](_0x64867d,_0x5503('0x28'));_0x2d53d2['query']=_['keys'](_0x6e67b3['query']);_0x2d53d2[_0x5503('0x35')]=_[_0x5503('0x36')](_0x2d53d2[_0x5503('0x34')],_0x2d53d2[_0x5503('0x37')]);_0x1d125b[_0x5503('0x38')]=_['intersection'](_0x2d53d2[_0x5503('0x34')],qs[_0x5503('0x39')](_0x6e67b3[_0x5503('0x37')][_0x5503('0x39')]));_0x1d125b[_0x5503('0x38')]=_0x1d125b[_0x5503('0x38')][_0x5503('0x3a')]?_0x1d125b[_0x5503('0x38')]:_0x2d53d2['model'];if(!_0x6e67b3[_0x5503('0x37')][_0x5503('0x3b')](_0x5503('0x3c'))){_0x1d125b['limit']=qs['limit'](_0x6e67b3[_0x5503('0x37')]['limit']);_0x1d125b[_0x5503('0x1f')]=qs[_0x5503('0x1f')](_0x6e67b3[_0x5503('0x37')][_0x5503('0x1f')]);}_0x1d125b[_0x5503('0x3d')]=qs[_0x5503('0x3e')](_0x6e67b3['query'][_0x5503('0x3e')]);_0x1d125b['where']=qs[_0x5503('0x35')](_[_0x5503('0x3f')](_0x6e67b3[_0x5503('0x37')],_0x2d53d2[_0x5503('0x35')]),_0x64867d);var _0x286ecd=[];var _0x498dd6=squel[_0x5503('0x40')]()[_0x5503('0x41')]('id')[_0x5503('0x41')](_0x5503('0x28'))[_0x5503('0x41')](_0x5503('0x42'))[_0x5503('0x43')](_0x5503('0x44'));var _0x430217=squel[_0x5503('0x40')]()['field'](_0x5503('0x45'))[_0x5503('0x41')]('u.fullname')[_0x5503('0x41')](_0x5503('0x46'))[_0x5503('0x43')]('user_has_whatsapp_interactions','ui')[_0x5503('0x47')](_0x5503('0x48'),'u',_0x5503('0x49'));var _0x424892=squel[_0x5503('0x40')]()['from']('whatsapp_interactions','i')[_0x5503('0x47')](_0x5503('0x4a'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x5503('0x47')](_0x5503('0x48'),'o',_0x5503('0x4b'))[_0x5503('0x47')](_0x5503('0x4c'),'a',_0x5503('0x4d'))[_0x5503('0x47')](_0x5503('0x4e'),'me',_0x5503('0x4f'))[_0x5503('0x47')]('whatsapp_interaction_has_tags','it','it.WhatsappInteractionId\x20=\x20i.id')['left_join']('tools_tags','t',_0x5503('0x50'));var _0x19e6db=squel[_0x5503('0x51')]();var _0x6a545f=[];var _0x598958=squel['expr']();var _0xd0983b;if(_0x6e67b3[_0x5503('0x37')]['search']){_0xd0983b=as[_0x5503('0x52')](_0x6e67b3[_0x5503('0x37')]['search']);var _0x14d9ab=_0xd0983b[_0x5503('0x53')];for(var _0xbcd5e2=0x0;_0xbcd5e2<_0xd0983b[_0x5503('0x54')][_0x5503('0x3a')];_0xbcd5e2++){var _0x1c4adb=_0xd0983b[_0x5503('0x54')][_0xbcd5e2];var _0x151c92='i';var _0x3b9f52=_['find'](_0x64867d,[_0x5503('0x28'),_0x1c4adb['field']]);if(!_0x3b9f52){switch(_0x1c4adb[_0x5503('0x41')]){case _0x5503('0x55'):if(_0x1c4adb[_0x5503('0x56')]==0x1){_0x424892['having']('`'+_0x1c4adb[_0x5503('0x41')]+_0x5503('0x57'));}else{_0x424892[_0x5503('0x58')]('`'+_0x1c4adb[_0x5503('0x41')]+_0x5503('0x59'));}break;case _0x5503('0x5a'):if(_0x1c4adb[_0x5503('0x5b')]===_0x5503('0x5c')){if(_0x1c4adb[_0x5503('0x56')][_0x5503('0x2e')]('\x20')[_0x5503('0x3a')]>0x1){_0x19e6db[_0x14d9ab](_0x5503('0x5d'),qs[_0x5503('0x5e')](_0x1c4adb[_0x5503('0x56')]),null);}else{var _0x1372c1='%'+_0x1c4adb['value']+'%';_0x19e6db[_0x14d9ab](_0x5503('0x5f'),_0x1372c1,_0x1372c1,_0x1372c1);}}else{_0x3b9f52=_['find'](_0x64867d,[_0x5503('0x28'),_0x5503('0x60')]);_0x1c4adb[_0x5503('0x41')]=_0x5503('0x60');_0x11660a=as[_0x5503('0x61')](_0x151c92,_0x3b9f52['type'],_0x1c4adb);_0x19e6db[_0x14d9ab](_0x11660a[_0x5503('0x62')],_0x11660a[_0x5503('0x56')][_0x5503('0x63')],_0x11660a[_0x5503('0x56')][_0x5503('0x25')]);}break;case _0x5503('0x64'):var _0x5564f=_0x1c4adb[_0x5503('0x56')][_0x5503('0x2e')](',')[_0x5503('0x2b')](function(_0x206bfc){return Number(_0x206bfc);});_0x5564f[_0x5503('0x65')](function(_0x363f32){_0x598958['or'](_0x5503('0x66'),'%,'+_0x363f32+',%');});_0x6a545f=_[_0x5503('0x67')](_0x6a545f,_0x5564f);break;case _0x5503('0x68'):if(_0x1c4adb['operator']==='$substring'){_0x19e6db[_0x14d9ab]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x1c4adb[_0x5503('0x56')]+'%',null);}else{_0x3b9f52=_['find'](_0x64867d,['name','UserId']);_0x1c4adb[_0x5503('0x41')]=_0x5503('0x69');_0x11660a=as[_0x5503('0x61')](_0x151c92,_0x3b9f52[_0x5503('0x32')],_0x1c4adb);_0x19e6db[_0x14d9ab](_0x11660a[_0x5503('0x62')],_0x11660a[_0x5503('0x56')][_0x5503('0x63')],_0x11660a[_0x5503('0x56')][_0x5503('0x25')]);}break;case'body':_0x11660a=as[_0x5503('0x61')]('me',null,_0x1c4adb);_0x19e6db[_0x14d9ab](_0x11660a[_0x5503('0x62')],_0x11660a[_0x5503('0x56')][_0x5503('0x63')],_0x11660a[_0x5503('0x56')][_0x5503('0x25')]);break;}}else{var _0x11660a=as[_0x5503('0x61')](_0x151c92,_0x3b9f52[_0x5503('0x32')],_0x1c4adb);_0x19e6db[_0x14d9ab](_0x11660a[_0x5503('0x62')],_0x11660a[_0x5503('0x56')][_0x5503('0x63')],_0x11660a[_0x5503('0x56')][_0x5503('0x25')]);}}}else{var _0x569802=_(_0x6e67b3[_0x5503('0x37')])[_0x5503('0x6a')]()[_0x5503('0x2b')](function(_0x2036cd){return _[_0x5503('0x6b')](_0x64867d,[_0x5503('0x28'),_0x2036cd])?_0x2036cd:undefined;})[_0x5503('0x6c')]()[_0x5503('0x56')]();if(!_[_0x5503('0x6d')](_0x569802)){_0x569802['forEach'](function(_0x5d9de4){if(_0x5d9de4===_0x5503('0x6e')){_0x424892[_0x5503('0x6f')](_0x5503('0x70'),[][_0x5503('0x71')](_0x6e67b3[_0x5503('0x37')][_0x5d9de4]));}else if(_0x5d9de4===_0x5503('0x72')){var _0x1ce7b9=JSON[_0x5503('0x73')](_0x6e67b3['query'][_0x5d9de4])['$gte'];var _0x2b3c1d=JSON['parse'](_0x6e67b3['query'][_0x5d9de4])[_0x5503('0x74')];_0x424892[_0x5503('0x6f')](_0x5503('0x75'),_0x1ce7b9,_0x2b3c1d);}else{if(_0x6e67b3[_0x5503('0x37')][_0x5d9de4]===_0x5503('0x76')){_0x424892[_0x5503('0x6f')]('i.'+_0x5d9de4+_0x5503('0x77'));}else{_0x424892[_0x5503('0x6f')]('i.'+_0x5d9de4+'\x20=\x20?',_0x6e67b3[_0x5503('0x37')][_0x5d9de4]);}}});}if(_0x6e67b3['query'][_0x5503('0x78')]){if(_0x6e67b3[_0x5503('0x37')]['read']==0x1){_0x424892[_0x5503('0x58')]('`unreadMessages`\x20=\x200');}else{_0x424892[_0x5503('0x58')]('`unreadMessages`\x20>\x200');}}if(_0x6e67b3[_0x5503('0x37')][_0x5503('0x79')]){_0x6a545f=_[_0x5503('0x7a')](_0x6e67b3[_0x5503('0x37')]['tag'])?_0x6e67b3[_0x5503('0x37')][_0x5503('0x79')]:new Array(_0x6e67b3[_0x5503('0x37')][_0x5503('0x79')]);_0x6a545f['forEach'](function(_0x27e249){_0x598958['or'](_0x5503('0x66'),'%,'+_0x27e249+',%');});}if(_0x6e67b3[_0x5503('0x37')][_0x5503('0x7b')]){var _0x2a9f7e=_0x6e67b3['query'][_0x5503('0x7b')][_0x5503('0x7c')]('\x5c','\x5c\x5c')[_0x5503('0x7c')](/'/g,'\x27\x27');if(qs[_0x5503('0x7d')](_0x2a9f7e)){_0x19e6db['or'](_0x5503('0x7e'),_0x2a9f7e+'%')['or'](_0x5503('0x7f'),_0x2a9f7e+'%');}else{_0x19e6db['or'](_0x5503('0x80'),qs['getFullTextValue'](_0x2a9f7e))['or'](_0x5503('0x81'),_0x2a9f7e+'%');}}}_0x424892['where'](_0x19e6db);_0x424892[_0x5503('0x82')]('i.id');var _0x3f5900={'type':db[_0x5503('0x83')][_0x5503('0x84')]['SELECT'],'raw':!![]};var _0x82fcda=_0x424892[_0x5503('0x85')]();_0x82fcda[_0x5503('0x41')]('i.id');_0x82fcda[_0x5503('0x41')](_0x5503('0x86'),_0x5503('0x55'));if(_0x1d125b[_0x5503('0x3d')]){_0x1d125b[_0x5503('0x3d')]['forEach'](function(_0x1c33b3){var _0x56fc81=_0x1c33b3[0x0]==='contactName'?_0x1c33b3[0x0]:'i.'+_0x1c33b3[0x0];_0x424892[_0x5503('0x3d')](_0x56fc81,_0x1c33b3[0x1]===_0x5503('0x87')?![]:!![]);});}if(!_[_0x5503('0x6d')](_0x6a545f)){_0x424892[_0x5503('0x58')](_0x598958);_0x82fcda[_0x5503('0x6f')]('t.id\x20IN\x20?',_0x6a545f);}BPromise['resolve']()[_0x5503('0x24')](function(){if(!_0xd0983b){if(_0x6e67b3[_0x5503('0x37')][_0x5503('0x6e')])return;_0x82fcda[_0x5503('0x6f')](_0x5503('0x88'));_0x424892[_0x5503('0x6f')](_0x5503('0x88'));return;}if(_0x6e67b3[_0x5503('0x89')][_0x5503('0x8a')]!==_0x5503('0x8b'))return;return _0x6e67b3[_0x5503('0x89')][_0x5503('0x8c')]({'attributes':['id'],'raw':!![]})[_0x5503('0x24')](function(_0x90b284){if(_[_0x5503('0x6d')](_0x90b284)){_0x82fcda[_0x5503('0x6f')](_0x5503('0x8d'));_0x424892[_0x5503('0x6f')](_0x5503('0x8d'));}else{_0x82fcda[_0x5503('0x6f')](_0x5503('0x70'),_[_0x5503('0x2b')](_0x90b284,'id'));_0x424892['where'](_0x5503('0x70'),_['map'](_0x90b284,'id'));}});})[_0x5503('0x24')](function(){if(_0x6e67b3[_0x5503('0x89')][_0x5503('0x8a')]===_0x5503('0x8b')&&!_0xd0983b&&!_0x6e67b3[_0x5503('0x37')][_0x5503('0x6e')])return[];return db[_0x5503('0x8e')][_0x5503('0x37')](_0x82fcda[_0x5503('0x8f')](),_0x3f5900);})[_0x5503('0x24')](function(_0x5ce872){_0x53aed5['count']=_0x5ce872[_0x5503('0x3a')];if(_0x53aed5[_0x5503('0x1e')]===0x0)return[];return db['sequelize']['query'](_0x498dd6[_0x5503('0x8f')](),_0x3f5900)[_0x5503('0x24')](function(_0x332fe4){_0x286ecd=_['keyBy'](_0x332fe4,'id');_0x3f5900=_[_0x5503('0x90')](_0x3f5900,{'model':db[_0x5503('0x30')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x6e67b3[_0x5503('0x37')]['fields']){_0x1d125b[_0x5503('0x38')][_0x5503('0x65')](function(_0x26cd20){_0x424892[_0x5503('0x41')]('i.'+_0x26cd20);});}else{_0x424892[_0x5503('0x41')](_0x5503('0x86'),_0x5503('0x55'));_0x424892[_0x5503('0x41')](_0x5503('0x91'),_0x5503('0x92'));_0x424892[_0x5503('0x41')]('a.mandatoryDisposition','Account.mandatoryDisposition');_0x424892[_0x5503('0x41')](_0x5503('0x93'),_0x5503('0x94'));_0x424892[_0x5503('0x41')]('i.*');_0x424892[_0x5503('0x41')](_0x5503('0x95'),'Contact.firstName');_0x424892[_0x5503('0x41')]('c.lastName',_0x5503('0x96'));_0x424892[_0x5503('0x41')]('c.email',_0x5503('0x97'));_0x424892[_0x5503('0x41')]('c.phone',_0x5503('0x98'));_0x424892[_0x5503('0x41')](_0x5503('0x99'),_0x5503('0x9a'));_0x424892[_0x5503('0x41')](_0x5503('0x9b'),_0x5503('0x9c'));_0x424892['field']('o.fullname','Owner.fullname');_0x424892[_0x5503('0x41')](_0x5503('0x9d'),'Owner.internal');_0x424892['field'](_0x5503('0x9e'),_0x5503('0x2c'));}if(_0x1d125b['limit'])_0x424892[_0x5503('0x9f')](_0x1d125b['limit']);if(_0x1d125b[_0x5503('0x1f')])_0x424892[_0x5503('0x1f')](_0x1d125b[_0x5503('0x1f')]);return db['sequelize']['query'](_0x424892[_0x5503('0x8f')](),_0x3f5900);})['then'](function(_0x6c94bf){_0x430217[_0x5503('0x6f')](_0x5503('0xa0'),_[_0x5503('0x2b')](_0x6c94bf,'id'));return db['sequelize'][_0x5503('0x37')](_0x430217[_0x5503('0x8f')](),_0x3f5900)[_0x5503('0x24')](function(_0x274725){var _0x454193=_['groupBy'](_0x274725,_0x5503('0xa1'));var _0x1aad8c=[];_0x6c94bf[_0x5503('0x65')](function(_0x253615){_0x1aad8c[_0x5503('0xa2')](updateWhatsappInteraction(_0x253615,_0x286ecd,_0x454193));});return BPromise['all'](_0x1aad8c);});});})[_0x5503('0x24')](function(_0x3095bc){_0x53aed5[_0x5503('0xa3')]=_0x3095bc;return _0x53aed5;})['then'](respondWithFilteredResult(_0x1936b6,_0x1d125b))[_0x5503('0xa4')](handleError(_0x1936b6,null));};exports[_0x5503('0xa5')]=function(_0x2efbf1,_0x2269f6){var _0x417e2c={'raw':![],'where':{'id':_0x2efbf1[_0x5503('0xa6')]['id']}},_0x46e134={};_0x46e134['model']=_[_0x5503('0x6a')](db[_0x5503('0x30')][_0x5503('0xa7')]);_0x46e134[_0x5503('0x37')]=_[_0x5503('0x6a')](_0x2efbf1[_0x5503('0x37')]);_0x46e134[_0x5503('0x35')]=_[_0x5503('0x36')](_0x46e134[_0x5503('0x34')],_0x46e134[_0x5503('0x37')]);_0x417e2c[_0x5503('0x38')]=_[_0x5503('0x36')](_0x46e134[_0x5503('0x34')],qs[_0x5503('0x39')](_0x2efbf1[_0x5503('0x37')]['fields']));_0x417e2c['attributes']=_0x417e2c[_0x5503('0x38')][_0x5503('0x3a')]?_0x417e2c['attributes']:_0x46e134['model'];if(_0x2efbf1[_0x5503('0x37')][_0x5503('0xa8')]){_0x417e2c[_0x5503('0xa9')]=[{'all':!![]}];}_0x417e2c=_['merge']({},_0x417e2c,_0x2efbf1['options']);return db[_0x5503('0x30')]['find'](_0x417e2c)[_0x5503('0x24')](handleEntityNotFound(_0x2269f6,null))['then'](respondWithResult(_0x2269f6,null))[_0x5503('0xa4')](handleError(_0x2269f6,null));};exports[_0x5503('0xaa')]=function(_0x248d1b,_0x11f0ae){return db[_0x5503('0x30')]['create'](_0x248d1b[_0x5503('0xab')],{})[_0x5503('0x24')](respondWithResult(_0x11f0ae,0xc9))['catch'](handleError(_0x11f0ae,null));};exports[_0x5503('0x23')]=function(_0x48edac,_0x31fff0){if(_0x48edac[_0x5503('0xab')]['id']){delete _0x48edac[_0x5503('0xab')]['id'];}return db[_0x5503('0x30')][_0x5503('0xac')]({'where':{'id':_0x48edac[_0x5503('0xa6')]['id']}})[_0x5503('0x24')](handleEntityNotFound(_0x31fff0,null))['then'](saveUpdates(_0x48edac[_0x5503('0xab')],null))[_0x5503('0x24')](respondWithResult(_0x31fff0,null))[_0x5503('0xa4')](handleError(_0x31fff0,null));};exports[_0x5503('0xad')]=function(_0x50f486,_0x50c92b){return db[_0x5503('0x30')][_0x5503('0xac')]({'where':{'id':_0x50f486[_0x5503('0xa6')]['id']}})[_0x5503('0x24')](handleEntityNotFound(_0x50c92b,null))[_0x5503('0x24')](removeEntity(_0x50c92b,null))[_0x5503('0xa4')](handleError(_0x50c92b,null));};exports[_0x5503('0xae')]=function(_0xa7cc86,_0x332792){return db[_0x5503('0x30')][_0x5503('0xae')]()[_0x5503('0x24')](respondWithResult(_0x332792,null))[_0x5503('0xa4')](handleError(_0x332792,null));};exports[_0x5503('0xaf')]=function(_0x4d2c4b,_0x4e8f4f,_0x4188ca){return db['WhatsappMessage'][_0x5503('0xac')]({'where':{'id':_0x4d2c4b[_0x5503('0xa6')]['id']}})[_0x5503('0x24')](handleEntityNotFound(_0x4e8f4f,null))[_0x5503('0x24')](function(_0x43b37d){if(_0x43b37d){return _0x43b37d[_0x5503('0xaf')](_0x4d2c4b['body'][_0x5503('0xb0')],_[_0x5503('0xb1')](_0x4d2c4b['body'],[_0x5503('0xb0'),'id'])||{});}})[_0x5503('0x24')](respondWithResult(_0x4e8f4f,null))[_0x5503('0xa4')](handleError(_0x4e8f4f,null));};exports['getMessages']=function(_0x4b415d,_0x2524ea,_0x203aa4){var _0x50c0b4={'raw':![],'where':{}};var _0x57455e={};var _0x269a78={'count':0x0,'rows':[]};return db[_0x5503('0x30')][_0x5503('0xb2')]({'where':{'id':_0x4b415d[_0x5503('0xa6')]['id']}})['then'](handleEntityNotFound(_0x2524ea,null))['then'](function(_0x1e7bb5){if(_0x1e7bb5){_0x57455e[_0x5503('0x34')]=_[_0x5503('0x6a')](db[_0x5503('0xb3')][_0x5503('0xa7')]);_0x57455e[_0x5503('0x37')]=_[_0x5503('0x6a')](_0x4b415d[_0x5503('0x37')]);_0x57455e[_0x5503('0x35')]=_[_0x5503('0x36')](_0x57455e['model'],_0x57455e['query']);_0x50c0b4['attributes']=_[_0x5503('0x36')](_0x57455e[_0x5503('0x34')],qs[_0x5503('0x39')](_0x4b415d[_0x5503('0x37')][_0x5503('0x39')]));_0x50c0b4[_0x5503('0x38')]=_0x50c0b4['attributes'][_0x5503('0x3a')]?_0x50c0b4[_0x5503('0x38')]:_0x57455e[_0x5503('0x34')];if(!_0x4b415d[_0x5503('0x37')]['hasOwnProperty'](_0x5503('0x3c'))){_0x50c0b4[_0x5503('0x9f')]=qs[_0x5503('0x9f')](_0x4b415d['query'][_0x5503('0x9f')]);_0x50c0b4[_0x5503('0x1f')]=qs[_0x5503('0x1f')](_0x4b415d['query'][_0x5503('0x1f')]);}_0x50c0b4[_0x5503('0x3d')]=qs[_0x5503('0x3e')](_0x4b415d[_0x5503('0x37')]['sort']);_0x50c0b4[_0x5503('0x6f')]=qs[_0x5503('0x35')](_[_0x5503('0x3f')](_0x4b415d['query'],_0x57455e[_0x5503('0x35')]));_0x50c0b4[_0x5503('0x6f')][_0x5503('0xa1')]=_0x1e7bb5['id'];if(_0x4b415d[_0x5503('0x37')][_0x5503('0x7b')]){_0x50c0b4[_0x5503('0x6f')]=_[_0x5503('0x90')](_0x50c0b4[_0x5503('0x6f')],{'$or':_[_0x5503('0x2b')](_0x50c0b4[_0x5503('0x38')],function(_0x696973){var _0x337be5={};_0x337be5[_0x696973]={'$like':'%'+_0x4b415d['query'][_0x5503('0x7b')]+'%'};return _0x337be5;})});}if(_0x4b415d[_0x5503('0x37')]['$gte']){var _0x4d3113=_0x4b415d[_0x5503('0x37')][_0x5503('0xb4')]['split'](',');var _0x5d44d4={};_0x5d44d4[_0x4d3113[0x0]]={'$gte':moment(_0x4d3113[0x1])[_0x5503('0xb5')](_0x5503('0xb6'))};_0x50c0b4[_0x5503('0x6f')]=_[_0x5503('0x90')](_0x50c0b4['where'],_0x5d44d4);}_0x50c0b4=_[_0x5503('0x90')]({},_0x50c0b4,_0x4b415d[_0x5503('0xb7')]);return db[_0x5503('0xb3')]['count']({'where':_0x50c0b4[_0x5503('0x6f')]})[_0x5503('0x24')](function(_0x166836){_0x269a78[_0x5503('0x1e')]=_0x166836;if(_0x4b415d['query']['includeAll']){_0x50c0b4[_0x5503('0xa9')]=[{'all':!![]}];}return db['WhatsappMessage'][_0x5503('0xb8')](_0x50c0b4);})[_0x5503('0x24')](function(_0xb924d7){_0x269a78['rows']=_0xb924d7;return _0x269a78;});}})['then'](respondWithFilteredResult(_0x2524ea,_0x50c0b4))[_0x5503('0xa4')](handleError(_0x2524ea,null));};exports[_0x5503('0xb9')]=function(_0x203457,_0x260474,_0x495221){return db[_0x5503('0x30')][_0x5503('0xac')]({'where':{'id':_0x203457['params']['id']}})[_0x5503('0x24')](handleEntityNotFound(_0x260474,null))[_0x5503('0x24')](function(_0x18bdaf){if(_0x18bdaf){return _0x18bdaf[_0x5503('0xba')](_0x203457['body'][_0x5503('0xb0')],_[_0x5503('0xb1')](_0x203457[_0x5503('0xab')],[_0x5503('0xb0'),'id'])||{})[_0x5503('0xbb')](function(){return db['Tag'][_0x5503('0xb8')]({'attributes':['id','name',_0x5503('0x42')],'where':{'id':_0x203457['body']['ids']}});})[_0x5503('0x24')](function(_0xc0a4be){socket[_0x5503('0xbc')](_0x5503('0xbd'),{'id':Number(_0x203457['params']['id']),'tags':_0xc0a4be||[]});return{'id':Number(_0x203457[_0x5503('0xa6')]['id']),'tags':_0xc0a4be||[]};});}})['then'](respondWithResult(_0x260474,null))[_0x5503('0xa4')](handleError(_0x260474,null));};exports[_0x5503('0xbe')]=function(_0x28bdf2,_0x4c59a8,_0x125b31){return db['WhatsappInteraction']['find']({'where':{'id':_0x28bdf2[_0x5503('0xa6')]['id']}})['then'](handleEntityNotFound(_0x4c59a8,null))['then'](function(_0x489418){if(_0x489418){return _0x489418[_0x5503('0xbe')](_0x28bdf2[_0x5503('0x37')][_0x5503('0xb0')]);}})['then'](respondWithStatusCode(_0x4c59a8,null))['catch'](handleError(_0x4c59a8,null));};exports[_0x5503('0xbf')]=function(_0x4f5c9f,_0x4ae24e){var _0x3e50b8=moment()['unix']()[_0x5503('0x8f')]();var _0x13ade5=path['join'](config[_0x5503('0xc0')],_0x5503('0xc1'),_0x5503('0xc2'),_0x5503('0xc3'));var _0xc61c1=path[_0x5503('0xc4')](config[_0x5503('0xc0')],_0x5503('0xc1'),_0x5503('0xc2'),_0x5503('0xc5'));var _0x17d135=path[_0x5503('0xc4')](_0x13ade5,_0x3e50b8);var _0x38a354=util[_0x5503('0xb5')](_0x5503('0xc6'),_0x4f5c9f[_0x5503('0xa6')]['id'],_0x3e50b8);var _0x23a01b=path[_0x5503('0xc4')](_0x13ade5,_0x38a354);var _0x34a227=[];_0x34a227[_0x5503('0xa2')]({'model':db['User'],'as':_0x5503('0x68'),'attributes':['id',_0x5503('0xc7')],'raw':!![]});_0x34a227[_0x5503('0xa2')]({'model':db[_0x5503('0xc8')],'as':'Contact','attributes':['id','firstName',_0x5503('0xc9')],'raw':!![]});if(_0x4f5c9f[_0x5503('0x37')][_0x5503('0xc5')]){_0x34a227[_0x5503('0xa2')]({'model':db['Attachment'],'as':_0x5503('0xca'),'raw':!![]});}var _0x5f2edc=[{'model':db['WhatsappMessage'],'as':_0x5503('0xcb'),'attributes':['id',_0x5503('0xab'),_0x5503('0x72'),_0x5503('0xcc'),_0x5503('0xcd'),_0x5503('0x78')],'include':_0x34a227}];_0x5f2edc[_0x5503('0xa2')]({'model':db[_0x5503('0xce')],'as':_0x5503('0xcf'),'attributes':['id',_0x5503('0x28')]});_0x5f2edc[_0x5503('0xa2')]({'model':db[_0x5503('0x68')],'as':_0x5503('0xd0'),'attributes':['id',_0x5503('0xc7')]});return db[_0x5503('0x30')][_0x5503('0xac')]({'where':{'id':_0x4f5c9f['params']['id']},'include':_0x5f2edc})[_0x5503('0x24')](handleEntityNotFound(_0x4ae24e,null))['then'](function(_0x10a75c){if(_0x10a75c){var _0x1f4f39=_0x10a75c['get']({'plain':!![]});fs[_0x5503('0xd1')](_0x17d135);var _0x58c5a5={'format':'A4','border':_0x5503('0xd2'),'header':{'height':_0x5503('0xd3'),'contents':{'first':_0x5503('0xd4')}},'footer':{'height':_0x5503('0xd5'),'contents':{'default':util[_0x5503('0xb5')](_0x5503('0xd6'),util[_0x5503('0xb5')](_0x5503('0xd7'),'Whatsapp',_0x1f4f39['id']),moment()[_0x5503('0xb5')](_0x5503('0xd8'))[_0x5503('0x8f')]())}}};var _0x28e022={'channel':_0x5503('0xd9'),'account':_0x1f4f39[_0x5503('0xcf')][_0x5503('0x28')],'agent':_0x1f4f39[_0x5503('0xd0')]?_0x1f4f39[_0x5503('0xd0')][_0x5503('0xc7')]:_0x5503('0xda'),'createdAt':moment(_0x1f4f39[_0x5503('0x72')])[_0x5503('0xb5')](_0x5503('0xb6'))['toString'](),'closedAt':_0x1f4f39[_0x5503('0xdb')]?moment(_0x1f4f39[_0x5503('0xdc')])[_0x5503('0xb5')](_0x5503('0xb6'))[_0x5503('0x8f')]():'','disposition':_0x1f4f39['disposition'],'messages':_(_0x1f4f39[_0x5503('0xcb')])[_0x5503('0x7b')]({'secret':![]})[_0x5503('0x2b')](function(_0x2eacb6){if(_0x2eacb6[_0x5503('0xca')]){var _0x3385fe=path[_0x5503('0xc4')](_0xc61c1,_0x2eacb6['Attachment'][_0x5503('0xdd')]);if(fs[_0x5503('0xde')](_0x3385fe)){fs[_0x5503('0xdf')](_0x3385fe)['pipe'](fs['createWriteStream'](path['join'](_0x17d135,_0x2eacb6[_0x5503('0xca')]['basename'])));}}return{'date':moment(_0x2eacb6[_0x5503('0x72')])['format'](_0x5503('0xb6'))[_0x5503('0x8f')](),'sender':_0x2eacb6['direction']===_0x5503('0xe0')?_0x2eacb6[_0x5503('0x68')]?_0x2eacb6[_0x5503('0x68')]['fullname']:_0x5503('0xe1'):_0x2eacb6[_0x5503('0x5a')]['firstName']+(_0x2eacb6[_0x5503('0x5a')][_0x5503('0xc9')]?'\x20'+_0x2eacb6[_0x5503('0x5a')][_0x5503('0xc9')]:''),'body':_0x2eacb6[_0x5503('0xca')]?_0x2eacb6[_0x5503('0xca')]['basename']:_0x2eacb6[_0x5503('0xab')],'direction':_0x2eacb6[_0x5503('0xcc')]===_0x5503('0xe0')?'A':'C','secret':_0x2eacb6[_0x5503('0xcd')],'read':_0x2eacb6[_0x5503('0x78')],'attachment':_0x2eacb6[_0x5503('0xca')]};})[_0x5503('0x56')]()};return ejs[_0x5503('0xe2')](path[_0x5503('0xc4')](config['root'],_0x5503('0xc1'),'views',_0x5503('0xe3')),{'interaction':_0x28e022})['then'](function(_0x4a83cd){return new BPromise(function(_0x1816a4,_0x24553b){pdf[_0x5503('0xaa')](_0x4a83cd,_0x58c5a5)[_0x5503('0xe4')](path[_0x5503('0xc4')](_0x17d135,_0x5503('0xe5')+_0x1f4f39['id']+'-'+_0x3e50b8+'.pdf'),function(_0x12cffb,_0x432d3d){if(_0x12cffb)return _0x24553b(_0x12cffb);_0x1816a4(_0x432d3d);});});})[_0x5503('0x24')](function(){return new BPromise(function(_0xc3c77d,_0x52fd2e){zipdir(_0x17d135,{'saveTo':_0x23a01b},function(_0x128232,_0x4f7205){if(_0x128232)return _0x52fd2e(_0x128232);return _0xc3c77d(_0x4f7205);});})[_0x5503('0x24')](function(){return new BPromise(function(_0x1521b3,_0x88ec25){rimraf(_0x17d135,function(_0x221116){if(_0x221116)_0x88ec25(_0x221116);return _0x1521b3();});});})[_0x5503('0x24')](function(){return _0x4ae24e['download'](_0x23a01b,_0x38a354,function(_0xf5710e){if(_0xf5710e){console[_0x5503('0xe6')](_0x5503('0xe7'),_0xf5710e);}else{fs[_0x5503('0xe8')](_0x23a01b);}});});});}else{return _0x4ae24e['sendStatus'](0xc8);}})['catch'](handleError(_0x4ae24e,null));};