Built motion from commit (unavailable).|2.5.14
[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 _0xf403=['transcript-','.pdf','unlinkSync','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','register','sendStatus','end','json','count','offset','status','Content-Range','apply','reject','save','update','destroy','error','name','map','fullname','Tags','TagIds','split','forEach','push','then','catch','index','WhatsappInteraction','rawAttributes','fieldName','type','key','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','sort','where','filters','pick','select','field','color','from','tools_tags','u.id','u.fullname','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','whatsapp_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','a.id\x20=\x20i.WhatsappAccountId','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','unreadMessages','having','`\x20>\x200','Contact','operator','$substring','value','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','union','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','merge','a.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','i.*','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','all','rows','includeAll','include','options','find','create','body','params','describe','addMessage','ids','omit','findOne','WhatsappMessage','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','Tag','emit','removeTags','unix','join','root','files','server','attachments','transcript-%d-%s.zip','User','CmContact','firstName','lastName','Attachment','Messages','direction','secret','WhatsappAccount','Account','Owner','get','mkdirSync','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>','Whatsapp','YYYY-MM-DD','closed','closedAt','basename','existsSync','createWriteStream','out','System','renderFile','views','toFile'];(function(_0x5426e2,_0x5f2968){var _0x920dc=function(_0x3a87c6){while(--_0x3a87c6){_0x5426e2['push'](_0x5426e2['shift']());}};_0x920dc(++_0x5f2968);}(_0xf403,0x1d3));var _0x3f40=function(_0x19607c,_0x42a583){_0x19607c=_0x19607c-0x0;var _0x3fab52=_0xf403[_0x19607c];return _0x3fab52;};'use strict';var pdf=require(_0x3f40('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x3f40('0x1'));var zipdir=require(_0x3f40('0x2'));var jsonpatch=require(_0x3f40('0x3'));var rp=require(_0x3f40('0x4'));var moment=require(_0x3f40('0x5'));var BPromise=require(_0x3f40('0x6'));var Mustache=require(_0x3f40('0x7'));var util=require(_0x3f40('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x3f40('0x9'));var ejs=require(_0x3f40('0xa'));var fs=require('fs');var _=require(_0x3f40('0xb'));var squel=require(_0x3f40('0xc'));var crypto=require('crypto');var jsforce=require(_0x3f40('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x3f40('0xe'));var Papa=require(_0x3f40('0xf'));var Redis=require(_0x3f40('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x3f40('0x11'));var hardwareService=require(_0x3f40('0x12'));var logger=require(_0x3f40('0x13'))('api');var utils=require(_0x3f40('0x14'));var config=require(_0x3f40('0x15'));var licenseUtil=require(_0x3f40('0x16'));var db=require('../../mysqldb')['db'];config[_0x3f40('0x17')]=_['defaults'](config[_0x3f40('0x17')],{'host':_0x3f40('0x18'),'port':0x18eb});var socket=require(_0x3f40('0x19'))(new Redis(config[_0x3f40('0x17')]));require('./whatsappInteraction.socket')[_0x3f40('0x1a')](socket);function respondWithStatusCode(_0x308e97,_0xa25e56){_0xa25e56=_0xa25e56||0xcc;return function(_0x1c9144){if(_0x1c9144){return _0x308e97[_0x3f40('0x1b')](_0xa25e56);}return _0x308e97['status'](_0xa25e56)[_0x3f40('0x1c')]();};}function respondWithResult(_0x3d11c9,_0x535f85){_0x535f85=_0x535f85||0xc8;return function(_0x4ef80e){if(_0x4ef80e){return _0x3d11c9['status'](_0x535f85)[_0x3f40('0x1d')](_0x4ef80e);}};}function respondWithFilteredResult(_0x13b950,_0x59718c){return function(_0x131e55){if(_0x131e55){var _0x374644=_0x131e55[_0x3f40('0x1e')],_0x5b4ebc=_0x59718c[_0x3f40('0x1f')],_0x2639ef=_0x59718c[_0x3f40('0x1f')]+_0x59718c['limit'],_0xaab367;if(_0x2639ef>=_0x374644){_0x2639ef=_0x374644;_0xaab367=0xc8;}else{_0xaab367=0xce;}_0x13b950[_0x3f40('0x20')](_0xaab367);return _0x13b950['set'](_0x3f40('0x21'),_0x5b4ebc+'-'+_0x2639ef+'/'+_0x374644)[_0x3f40('0x1d')](_0x131e55);}return null;};}function patchUpdates(_0x3f4a93){return function(_0x113293){try{jsonpatch[_0x3f40('0x22')](_0x113293,_0x3f4a93,!![]);}catch(_0x4aa559){return BPromise[_0x3f40('0x23')](_0x4aa559);}return _0x113293[_0x3f40('0x24')]();};}function saveUpdates(_0x117823,_0x3a230a){return function(_0x258de9){if(_0x258de9){return _0x258de9[_0x3f40('0x25')](_0x117823)['then'](function(_0x31fc91){return _0x31fc91;});}return null;};}function removeEntity(_0x59eb32,_0x5d9e35){return function(_0x4fed43){if(_0x4fed43){return _0x4fed43[_0x3f40('0x26')]()['then'](function(){_0x59eb32[_0x3f40('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4b206b,_0x4b0ade){return function(_0x30a945){if(!_0x30a945){_0x4b206b[_0x3f40('0x1b')](0x194);}return _0x30a945;};}function handleError(_0x140044,_0x257833){_0x257833=_0x257833||0x1f4;return function(_0x5b1079){logger[_0x3f40('0x27')](_0x5b1079['stack']);if(_0x5b1079[_0x3f40('0x28')]){delete _0x5b1079[_0x3f40('0x28')];}_0x140044[_0x3f40('0x20')](_0x257833)['send'](_0x5b1079);};}function getInteractionUsers(_0x287632,_0x4b5ef7){return new BPromise(function(_0x1cab5c,_0x5b9079){try{if(_0x4b5ef7[_0x287632['id']]){_0x287632['Users']=_[_0x3f40('0x29')](_0x4b5ef7[_0x287632['id']],function(_0x19fb8e){return{'id':_0x19fb8e['id'],'fullname':_0x19fb8e[_0x3f40('0x2a')]};});}}catch(_0xb23186){_0x5b9079(_0xb23186);}_0x1cab5c(_0x287632);});}function getInteractionTags(_0x357396,_0x1056d0){return new BPromise(function(_0x40cd76,_0xe70e64){try{if(_0x357396['TagIds']){_0x357396[_0x3f40('0x2b')]=[];_0x357396[_0x3f40('0x2c')][_0x3f40('0x2d')](',')[_0x3f40('0x2e')](function(_0x3b20f4){_0x357396['Tags'][_0x3f40('0x2f')](_0x1056d0[_0x3b20f4]);});}delete _0x357396[_0x3f40('0x2c')];}catch(_0x434e6d){_0xe70e64(_0x434e6d);}_0x40cd76(_0x357396);});}function updateWhatsappInteraction(_0x575bd8,_0x21c8eb,_0x2869d0){return new BPromise(function(_0x239fd5,_0x27f13d){return getInteractionUsers(_0x575bd8,_0x2869d0)[_0x3f40('0x30')](function(_0x323908){return getInteractionTags(_0x323908,_0x21c8eb);})[_0x3f40('0x30')](function(_0x1b5f3f){_0x239fd5(_0x1b5f3f);})[_0x3f40('0x31')](function(_0x1eed90){_0x27f13d(_0x1eed90);});});}exports[_0x3f40('0x32')]=function(_0x25399a,_0x424168){var _0x13f7bc={},_0x22a8bc={},_0xf26a2f={'count':0x0,'rows':[]};var _0x81e4ad=_[_0x3f40('0x29')](db[_0x3f40('0x33')][_0x3f40('0x34')],function(_0x234420){return{'name':_0x234420[_0x3f40('0x35')],'type':_0x234420[_0x3f40('0x36')][_0x3f40('0x37')]};});_0x22a8bc[_0x3f40('0x38')]=_[_0x3f40('0x29')](_0x81e4ad,_0x3f40('0x28'));_0x22a8bc[_0x3f40('0x39')]=_[_0x3f40('0x3a')](_0x25399a[_0x3f40('0x39')]);_0x22a8bc['filters']=_['intersection'](_0x22a8bc[_0x3f40('0x38')],_0x22a8bc[_0x3f40('0x39')]);_0x13f7bc[_0x3f40('0x3b')]=_[_0x3f40('0x3c')](_0x22a8bc[_0x3f40('0x38')],qs[_0x3f40('0x3d')](_0x25399a[_0x3f40('0x39')]['fields']));_0x13f7bc[_0x3f40('0x3b')]=_0x13f7bc['attributes'][_0x3f40('0x3e')]?_0x13f7bc[_0x3f40('0x3b')]:_0x22a8bc[_0x3f40('0x38')];if(!_0x25399a['query'][_0x3f40('0x3f')](_0x3f40('0x40'))){_0x13f7bc['limit']=qs[_0x3f40('0x41')](_0x25399a[_0x3f40('0x39')]['limit']);_0x13f7bc[_0x3f40('0x1f')]=qs['offset'](_0x25399a[_0x3f40('0x39')]['offset']);}_0x13f7bc['order']=qs[_0x3f40('0x42')](_0x25399a['query'][_0x3f40('0x42')]);_0x13f7bc[_0x3f40('0x43')]=qs[_0x3f40('0x44')](_[_0x3f40('0x45')](_0x25399a['query'],_0x22a8bc[_0x3f40('0x44')]),_0x81e4ad);var _0x5b0eaa=[];var _0x4597fb=squel[_0x3f40('0x46')]()[_0x3f40('0x47')]('id')['field']('name')[_0x3f40('0x47')](_0x3f40('0x48'))[_0x3f40('0x49')](_0x3f40('0x4a'));var _0x1ae82d=squel[_0x3f40('0x46')]()[_0x3f40('0x47')](_0x3f40('0x4b'))['field'](_0x3f40('0x4c'))['field']('ui.WhatsappInteractionId')[_0x3f40('0x49')](_0x3f40('0x4d'),'ui')[_0x3f40('0x4e')](_0x3f40('0x4f'),'u',_0x3f40('0x50'));var _0xa75b96=squel[_0x3f40('0x46')]()[_0x3f40('0x49')](_0x3f40('0x51'),'i')[_0x3f40('0x4e')](_0x3f40('0x52'),'c',_0x3f40('0x53'))[_0x3f40('0x4e')](_0x3f40('0x4f'),'o','o.id\x20=\x20i.UserId')[_0x3f40('0x4e')]('whatsapp_accounts','a',_0x3f40('0x54'))[_0x3f40('0x4e')]('whatsapp_messages','me',_0x3f40('0x55'))[_0x3f40('0x4e')](_0x3f40('0x56'),'it',_0x3f40('0x57'))[_0x3f40('0x4e')](_0x3f40('0x4a'),'t',_0x3f40('0x58'));var _0x2a141e=squel[_0x3f40('0x59')]();var _0x1a9967=[];var _0x3a7b82=squel[_0x3f40('0x59')]();var _0x1cfe4f;if(_0x25399a[_0x3f40('0x39')][_0x3f40('0x5a')]){_0x1cfe4f=as[_0x3f40('0x5b')](_0x25399a[_0x3f40('0x39')][_0x3f40('0x5a')]);var _0x32bd05=_0x1cfe4f[_0x3f40('0x5c')];for(var _0xca7210=0x0;_0xca7210<_0x1cfe4f['conditions'][_0x3f40('0x3e')];_0xca7210++){var _0x50db96=_0x1cfe4f[_0x3f40('0x5d')][_0xca7210];var _0x11ee59='i';var _0x3bfb89=_['find'](_0x81e4ad,['name',_0x50db96['field']]);if(!_0x3bfb89){switch(_0x50db96[_0x3f40('0x47')]){case _0x3f40('0x5e'):if(_0x50db96['value']==0x1){_0xa75b96[_0x3f40('0x5f')]('`'+_0x50db96[_0x3f40('0x47')]+'`\x20=\x200');}else{_0xa75b96[_0x3f40('0x5f')]('`'+_0x50db96['field']+_0x3f40('0x60'));}break;case _0x3f40('0x61'):if(_0x50db96[_0x3f40('0x62')]===_0x3f40('0x63')){if(_0x50db96[_0x3f40('0x64')][_0x3f40('0x2d')]('\x20')[_0x3f40('0x3e')]>0x1){_0x2a141e[_0x32bd05](_0x3f40('0x65'),qs[_0x3f40('0x66')](_0x50db96[_0x3f40('0x64')]),null);}else{var _0x4138bd='%'+_0x50db96[_0x3f40('0x64')]+'%';_0x2a141e[_0x32bd05](_0x3f40('0x67'),_0x4138bd,_0x4138bd,_0x4138bd);}}else{_0x3bfb89=_['find'](_0x81e4ad,[_0x3f40('0x28'),_0x3f40('0x68')]);_0x50db96[_0x3f40('0x47')]=_0x3f40('0x68');_0x35b1d2=as[_0x3f40('0x69')](_0x11ee59,_0x3bfb89['type'],_0x50db96);_0x2a141e[_0x32bd05](_0x35b1d2[_0x3f40('0x6a')],_0x35b1d2[_0x3f40('0x64')][_0x3f40('0x6b')],_0x35b1d2[_0x3f40('0x64')][_0x3f40('0x1c')]);}break;case'Tag':var _0x5acce7=_0x50db96[_0x3f40('0x64')][_0x3f40('0x2d')](',')['map'](function(_0x701ed0){return Number(_0x701ed0);});_0x5acce7['forEach'](function(_0x204cff){_0x3a7b82['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x204cff+',%');});_0x1a9967=_[_0x3f40('0x6c')](_0x1a9967,_0x5acce7);break;case'User':if(_0x50db96[_0x3f40('0x62')]===_0x3f40('0x63')){_0x2a141e[_0x32bd05](_0x3f40('0x6d'),'%'+_0x50db96['value']+'%',null);}else{_0x3bfb89=_['find'](_0x81e4ad,['name','UserId']);_0x50db96[_0x3f40('0x47')]='UserId';_0x35b1d2=as['buildExpression'](_0x11ee59,_0x3bfb89[_0x3f40('0x36')],_0x50db96);_0x2a141e[_0x32bd05](_0x35b1d2[_0x3f40('0x6a')],_0x35b1d2[_0x3f40('0x64')][_0x3f40('0x6b')],_0x35b1d2['value'][_0x3f40('0x1c')]);}break;case'body':_0x35b1d2=as['buildExpression']('me',null,_0x50db96);_0x2a141e[_0x32bd05](_0x35b1d2['text'],_0x35b1d2[_0x3f40('0x64')]['start'],_0x35b1d2['value'][_0x3f40('0x1c')]);break;}}else{var _0x35b1d2=as[_0x3f40('0x69')](_0x11ee59,_0x3bfb89[_0x3f40('0x36')],_0x50db96);_0x2a141e[_0x32bd05](_0x35b1d2[_0x3f40('0x6a')],_0x35b1d2['value'][_0x3f40('0x6b')],_0x35b1d2['value'][_0x3f40('0x1c')]);}}}else{var _0x2b1619=_(_0x25399a[_0x3f40('0x39')])['keys']()[_0x3f40('0x29')](function(_0x2408f4){return _[_0x3f40('0x6e')](_0x81e4ad,[_0x3f40('0x28'),_0x2408f4])?_0x2408f4:undefined;})[_0x3f40('0x6f')]()['value']();if(!_[_0x3f40('0x70')](_0x2b1619)){_0x2b1619[_0x3f40('0x2e')](function(_0xf6b569){if(_0xf6b569===_0x3f40('0x71')){_0xa75b96[_0x3f40('0x43')](_0x3f40('0x72'),[][_0x3f40('0x73')](_0x25399a[_0x3f40('0x39')][_0xf6b569]));}else if(_0xf6b569===_0x3f40('0x74')){var _0x37add1=JSON[_0x3f40('0x75')](_0x25399a[_0x3f40('0x39')][_0xf6b569])['$gte'];var _0x5de7af=JSON['parse'](_0x25399a[_0x3f40('0x39')][_0xf6b569])[_0x3f40('0x76')];_0xa75b96[_0x3f40('0x43')](_0x3f40('0x77'),_0x37add1,_0x5de7af);}else{if(_0x25399a[_0x3f40('0x39')][_0xf6b569]===_0x3f40('0x78')){_0xa75b96['where']('i.'+_0xf6b569+_0x3f40('0x79'));}else{_0xa75b96['where']('i.'+_0xf6b569+_0x3f40('0x7a'),_0x25399a[_0x3f40('0x39')][_0xf6b569]);}}});}if(_0x25399a[_0x3f40('0x39')][_0x3f40('0x7b')]){if(_0x25399a[_0x3f40('0x39')]['read']==0x1){_0xa75b96[_0x3f40('0x5f')]('`unreadMessages`\x20=\x200');}else{_0xa75b96['having'](_0x3f40('0x7c'));}}if(_0x25399a['query'][_0x3f40('0x7d')]){_0x1a9967=_[_0x3f40('0x7e')](_0x25399a[_0x3f40('0x39')][_0x3f40('0x7d')])?_0x25399a[_0x3f40('0x39')][_0x3f40('0x7d')]:new Array(_0x25399a[_0x3f40('0x39')]['tag']);_0x1a9967[_0x3f40('0x2e')](function(_0x250e3a){_0x3a7b82['or'](_0x3f40('0x7f'),'%,'+_0x250e3a+',%');});}if(_0x25399a[_0x3f40('0x39')][_0x3f40('0x80')]){var _0x53fbcf=_0x25399a[_0x3f40('0x39')][_0x3f40('0x80')][_0x3f40('0x81')]('\x5c','\x5c\x5c')[_0x3f40('0x81')](/'/g,'\x27\x27');if(qs[_0x3f40('0x82')](_0x53fbcf)){_0x2a141e['or'](_0x3f40('0x83'),_0x53fbcf+'%')['or']('i.phone\x20LIKE\x20?',_0x53fbcf+'%');}else{_0x2a141e['or'](_0x3f40('0x84'),qs[_0x3f40('0x66')](_0x53fbcf))['or'](_0x3f40('0x85'),_0x53fbcf+'%');}}}_0xa75b96[_0x3f40('0x43')](_0x2a141e);_0xa75b96[_0x3f40('0x86')]('i.id');var _0x5adccf={'type':db['Sequelize'][_0x3f40('0x87')][_0x3f40('0x88')],'raw':!![]};var _0x212ca4=_0xa75b96[_0x3f40('0x89')]();_0x212ca4[_0x3f40('0x47')](_0x3f40('0x8a'));_0x212ca4[_0x3f40('0x47')](_0x3f40('0x8b'),_0x3f40('0x5e'));if(_0x13f7bc[_0x3f40('0x8c')]){_0x13f7bc[_0x3f40('0x8c')][_0x3f40('0x2e')](function(_0x14afa7){var _0x4f5a02=_0x14afa7[0x0]===_0x3f40('0x8d')?_0x14afa7[0x0]:'i.'+_0x14afa7[0x0];_0xa75b96[_0x3f40('0x8c')](_0x4f5a02,_0x14afa7[0x1]===_0x3f40('0x8e')?![]:!![]);});}if(!_['isEmpty'](_0x1a9967)){_0xa75b96['having'](_0x3a7b82);_0x212ca4[_0x3f40('0x43')](_0x3f40('0x8f'),_0x1a9967);}BPromise[_0x3f40('0x90')]()[_0x3f40('0x30')](function(){if(!_0x1cfe4f){if(_0x25399a['query'][_0x3f40('0x71')])return;_0x212ca4[_0x3f40('0x43')](_0x3f40('0x91'));_0xa75b96[_0x3f40('0x43')](_0x3f40('0x91'));return;}if(_0x25399a[_0x3f40('0x92')][_0x3f40('0x93')]!==_0x3f40('0x94'))return;return _0x25399a[_0x3f40('0x92')][_0x3f40('0x95')]({'attributes':['id'],'raw':!![]})['then'](function(_0x556904){if(_[_0x3f40('0x70')](_0x556904)){_0x212ca4[_0x3f40('0x43')](_0x3f40('0x96'));_0xa75b96[_0x3f40('0x43')]('i.WhatsappAccountId\x20IS\x20NULL');}else{_0x212ca4[_0x3f40('0x43')](_0x3f40('0x72'),_[_0x3f40('0x29')](_0x556904,'id'));_0xa75b96[_0x3f40('0x43')](_0x3f40('0x72'),_['map'](_0x556904,'id'));}});})['then'](function(){if(_0x25399a[_0x3f40('0x92')][_0x3f40('0x93')]===_0x3f40('0x94')&&!_0x1cfe4f&&!_0x25399a['query'][_0x3f40('0x71')])return[];return db[_0x3f40('0x97')][_0x3f40('0x39')](_0x212ca4['toString'](),_0x5adccf);})['then'](function(_0xd842ca){_0xf26a2f[_0x3f40('0x1e')]=_0xd842ca[_0x3f40('0x3e')];if(_0xf26a2f[_0x3f40('0x1e')]===0x0)return[];return db[_0x3f40('0x97')][_0x3f40('0x39')](_0x4597fb[_0x3f40('0x98')](),_0x5adccf)['then'](function(_0xb4e27e){_0x5b0eaa=_['keyBy'](_0xb4e27e,'id');_0x5adccf=_[_0x3f40('0x99')](_0x5adccf,{'model':db['WhatsappInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x25399a['query'][_0x3f40('0x3d')]){_0x13f7bc['attributes']['forEach'](function(_0x271f7f){_0xa75b96[_0x3f40('0x47')]('i.'+_0x271f7f);});}else{_0xa75b96[_0x3f40('0x47')](_0x3f40('0x8b'),_0x3f40('0x5e'));_0xa75b96[_0x3f40('0x47')](_0x3f40('0x9a'),'Account.key');_0xa75b96[_0x3f40('0x47')]('a.mandatoryDisposition','Account.mandatoryDisposition');_0xa75b96[_0x3f40('0x47')](_0x3f40('0x9b'),_0x3f40('0x8d'));_0xa75b96['field'](_0x3f40('0x9c'));_0xa75b96['field']('c.firstName','Contact.firstName');_0xa75b96['field']('c.lastName','Contact.lastName');_0xa75b96[_0x3f40('0x47')](_0x3f40('0x9d'),_0x3f40('0x9e'));_0xa75b96[_0x3f40('0x47')](_0x3f40('0x9f'),_0x3f40('0xa0'));_0xa75b96[_0x3f40('0x47')](_0x3f40('0xa1'),'Contact.mobile');_0xa75b96[_0x3f40('0x47')](_0x3f40('0xa2'),_0x3f40('0xa3'));_0xa75b96[_0x3f40('0x47')](_0x3f40('0xa4'),_0x3f40('0xa5'));_0xa75b96[_0x3f40('0x47')](_0x3f40('0xa6'),_0x3f40('0xa7'));_0xa75b96[_0x3f40('0x47')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x3f40('0x2c'));}if(_0x13f7bc[_0x3f40('0x41')])_0xa75b96['limit'](_0x13f7bc['limit']);if(_0x13f7bc['offset'])_0xa75b96[_0x3f40('0x1f')](_0x13f7bc['offset']);return db[_0x3f40('0x97')][_0x3f40('0x39')](_0xa75b96['toString'](),_0x5adccf);})[_0x3f40('0x30')](function(_0x223db3){_0x1ae82d[_0x3f40('0x43')](_0x3f40('0xa8'),_[_0x3f40('0x29')](_0x223db3,'id'));return db[_0x3f40('0x97')][_0x3f40('0x39')](_0x1ae82d[_0x3f40('0x98')](),_0x5adccf)[_0x3f40('0x30')](function(_0x30020c){var _0x441028=_[_0x3f40('0xa9')](_0x30020c,_0x3f40('0xaa'));var _0x11e081=[];_0x223db3[_0x3f40('0x2e')](function(_0x54212d){_0x11e081[_0x3f40('0x2f')](updateWhatsappInteraction(_0x54212d,_0x5b0eaa,_0x441028));});return BPromise[_0x3f40('0xab')](_0x11e081);});});})[_0x3f40('0x30')](function(_0x1926d3){_0xf26a2f[_0x3f40('0xac')]=_0x1926d3;return _0xf26a2f;})[_0x3f40('0x30')](respondWithFilteredResult(_0x424168,_0x13f7bc))[_0x3f40('0x31')](handleError(_0x424168,null));};exports['show']=function(_0x22c349,_0x4b3c26){var _0x7d91c7={'raw':![],'where':{'id':_0x22c349['params']['id']}},_0x594cd0={};_0x594cd0[_0x3f40('0x38')]=_[_0x3f40('0x3a')](db['WhatsappInteraction'][_0x3f40('0x34')]);_0x594cd0['query']=_['keys'](_0x22c349[_0x3f40('0x39')]);_0x594cd0[_0x3f40('0x44')]=_[_0x3f40('0x3c')](_0x594cd0['model'],_0x594cd0['query']);_0x7d91c7[_0x3f40('0x3b')]=_[_0x3f40('0x3c')](_0x594cd0['model'],qs['fields'](_0x22c349[_0x3f40('0x39')][_0x3f40('0x3d')]));_0x7d91c7[_0x3f40('0x3b')]=_0x7d91c7[_0x3f40('0x3b')][_0x3f40('0x3e')]?_0x7d91c7[_0x3f40('0x3b')]:_0x594cd0[_0x3f40('0x38')];if(_0x22c349[_0x3f40('0x39')][_0x3f40('0xad')]){_0x7d91c7[_0x3f40('0xae')]=[{'all':!![]}];}_0x7d91c7=_['merge']({},_0x7d91c7,_0x22c349[_0x3f40('0xaf')]);return db[_0x3f40('0x33')][_0x3f40('0xb0')](_0x7d91c7)[_0x3f40('0x30')](handleEntityNotFound(_0x4b3c26,null))[_0x3f40('0x30')](respondWithResult(_0x4b3c26,null))[_0x3f40('0x31')](handleError(_0x4b3c26,null));};exports['create']=function(_0x1d9589,_0x5de0fc){return db[_0x3f40('0x33')][_0x3f40('0xb1')](_0x1d9589[_0x3f40('0xb2')],{})['then'](respondWithResult(_0x5de0fc,0xc9))[_0x3f40('0x31')](handleError(_0x5de0fc,null));};exports[_0x3f40('0x25')]=function(_0x45246d,_0x1372e0){if(_0x45246d[_0x3f40('0xb2')]['id']){delete _0x45246d[_0x3f40('0xb2')]['id'];}return db[_0x3f40('0x33')][_0x3f40('0xb0')]({'where':{'id':_0x45246d['params']['id']}})[_0x3f40('0x30')](handleEntityNotFound(_0x1372e0,null))[_0x3f40('0x30')](saveUpdates(_0x45246d[_0x3f40('0xb2')],null))[_0x3f40('0x30')](respondWithResult(_0x1372e0,null))[_0x3f40('0x31')](handleError(_0x1372e0,null));};exports['destroy']=function(_0x2f2c96,_0x183306){return db[_0x3f40('0x33')]['find']({'where':{'id':_0x2f2c96[_0x3f40('0xb3')]['id']}})['then'](handleEntityNotFound(_0x183306,null))['then'](removeEntity(_0x183306,null))['catch'](handleError(_0x183306,null));};exports[_0x3f40('0xb4')]=function(_0x5356a0,_0x2c48c6){return db['WhatsappInteraction']['describe']()['then'](respondWithResult(_0x2c48c6,null))[_0x3f40('0x31')](handleError(_0x2c48c6,null));};exports[_0x3f40('0xb5')]=function(_0x322a0a,_0x4b8291,_0x22ea5c){return db['WhatsappMessage']['find']({'where':{'id':_0x322a0a[_0x3f40('0xb3')]['id']}})[_0x3f40('0x30')](handleEntityNotFound(_0x4b8291,null))[_0x3f40('0x30')](function(_0x540287){if(_0x540287){return _0x540287['addMessage'](_0x322a0a[_0x3f40('0xb2')][_0x3f40('0xb6')],_[_0x3f40('0xb7')](_0x322a0a[_0x3f40('0xb2')],[_0x3f40('0xb6'),'id'])||{});}})[_0x3f40('0x30')](respondWithResult(_0x4b8291,null))[_0x3f40('0x31')](handleError(_0x4b8291,null));};exports['getMessages']=function(_0x2b132a,_0x3a191c,_0x8b8c0f){var _0x249f65={'raw':![],'where':{}};var _0x2ac0bc={};var _0x202458={'count':0x0,'rows':[]};return db[_0x3f40('0x33')][_0x3f40('0xb8')]({'where':{'id':_0x2b132a[_0x3f40('0xb3')]['id']}})[_0x3f40('0x30')](handleEntityNotFound(_0x3a191c,null))[_0x3f40('0x30')](function(_0x42442e){if(_0x42442e){_0x2ac0bc[_0x3f40('0x38')]=_['keys'](db[_0x3f40('0xb9')][_0x3f40('0x34')]);_0x2ac0bc[_0x3f40('0x39')]=_[_0x3f40('0x3a')](_0x2b132a[_0x3f40('0x39')]);_0x2ac0bc[_0x3f40('0x44')]=_[_0x3f40('0x3c')](_0x2ac0bc['model'],_0x2ac0bc[_0x3f40('0x39')]);_0x249f65[_0x3f40('0x3b')]=_[_0x3f40('0x3c')](_0x2ac0bc[_0x3f40('0x38')],qs[_0x3f40('0x3d')](_0x2b132a['query']['fields']));_0x249f65[_0x3f40('0x3b')]=_0x249f65['attributes'][_0x3f40('0x3e')]?_0x249f65[_0x3f40('0x3b')]:_0x2ac0bc[_0x3f40('0x38')];if(!_0x2b132a['query'][_0x3f40('0x3f')](_0x3f40('0x40'))){_0x249f65[_0x3f40('0x41')]=qs[_0x3f40('0x41')](_0x2b132a[_0x3f40('0x39')][_0x3f40('0x41')]);_0x249f65['offset']=qs[_0x3f40('0x1f')](_0x2b132a[_0x3f40('0x39')][_0x3f40('0x1f')]);}_0x249f65[_0x3f40('0x8c')]=qs[_0x3f40('0x42')](_0x2b132a[_0x3f40('0x39')][_0x3f40('0x42')]);_0x249f65[_0x3f40('0x43')]=qs[_0x3f40('0x44')](_[_0x3f40('0x45')](_0x2b132a[_0x3f40('0x39')],_0x2ac0bc[_0x3f40('0x44')]));_0x249f65['where'][_0x3f40('0xaa')]=_0x42442e['id'];if(_0x2b132a['query']['filter']){_0x249f65['where']=_[_0x3f40('0x99')](_0x249f65[_0x3f40('0x43')],{'$or':_['map'](_0x249f65[_0x3f40('0x3b')],function(_0x3e32c2){var _0x4f06dc={};_0x4f06dc[_0x3e32c2]={'$like':'%'+_0x2b132a[_0x3f40('0x39')][_0x3f40('0x80')]+'%'};return _0x4f06dc;})});}if(_0x2b132a['query']['$gte']){var _0x4b704a=_0x2b132a[_0x3f40('0x39')]['$gte']['split'](',');var _0x26e579={};_0x26e579[_0x4b704a[0x0]]={'$gte':moment(_0x4b704a[0x1])[_0x3f40('0xba')](_0x3f40('0xbb'))};_0x249f65[_0x3f40('0x43')]=_['merge'](_0x249f65[_0x3f40('0x43')],_0x26e579);}_0x249f65=_[_0x3f40('0x99')]({},_0x249f65,_0x2b132a[_0x3f40('0xaf')]);return db[_0x3f40('0xb9')]['count']({'where':_0x249f65['where']})['then'](function(_0x55d419){_0x202458[_0x3f40('0x1e')]=_0x55d419;if(_0x2b132a['query'][_0x3f40('0xad')]){_0x249f65[_0x3f40('0xae')]=[{'all':!![]}];}return db[_0x3f40('0xb9')][_0x3f40('0xbc')](_0x249f65);})[_0x3f40('0x30')](function(_0x280f03){_0x202458[_0x3f40('0xac')]=_0x280f03;return _0x202458;});}})[_0x3f40('0x30')](respondWithFilteredResult(_0x3a191c,_0x249f65))['catch'](handleError(_0x3a191c,null));};exports[_0x3f40('0xbd')]=function(_0x4d3384,_0xb59200,_0x5c313d){return db['WhatsappInteraction']['find']({'where':{'id':_0x4d3384[_0x3f40('0xb3')]['id']}})[_0x3f40('0x30')](handleEntityNotFound(_0xb59200,null))[_0x3f40('0x30')](function(_0x4e7ded){if(_0x4e7ded){return _0x4e7ded['setTags'](_0x4d3384[_0x3f40('0xb2')]['ids'],_['omit'](_0x4d3384[_0x3f40('0xb2')],[_0x3f40('0xb6'),'id'])||{})['spread'](function(){return db[_0x3f40('0xbe')]['findAll']({'attributes':['id','name','color'],'where':{'id':_0x4d3384['body']['ids']}});})[_0x3f40('0x30')](function(_0x497dec){socket[_0x3f40('0xbf')]('whatsappInteractionTags:save',{'id':Number(_0x4d3384['params']['id']),'tags':_0x497dec||[]});return{'id':Number(_0x4d3384[_0x3f40('0xb3')]['id']),'tags':_0x497dec||[]};});}})[_0x3f40('0x30')](respondWithResult(_0xb59200,null))['catch'](handleError(_0xb59200,null));};exports['removeTags']=function(_0x14d34f,_0x5ce3c1,_0x3f73a7){return db[_0x3f40('0x33')]['find']({'where':{'id':_0x14d34f[_0x3f40('0xb3')]['id']}})[_0x3f40('0x30')](handleEntityNotFound(_0x5ce3c1,null))['then'](function(_0x21f445){if(_0x21f445){return _0x21f445[_0x3f40('0xc0')](_0x14d34f[_0x3f40('0x39')]['ids']);}})[_0x3f40('0x30')](respondWithStatusCode(_0x5ce3c1,null))[_0x3f40('0x31')](handleError(_0x5ce3c1,null));};exports['download']=function(_0x2e7950,_0x901767){var _0x25b757=moment()[_0x3f40('0xc1')]()[_0x3f40('0x98')]();var _0x444f4f=path[_0x3f40('0xc2')](config[_0x3f40('0xc3')],'server',_0x3f40('0xc4'),'tmp');var _0x500f31=path[_0x3f40('0xc2')](config['root'],_0x3f40('0xc5'),_0x3f40('0xc4'),_0x3f40('0xc6'));var _0x5b4fcc=path[_0x3f40('0xc2')](_0x444f4f,_0x25b757);var _0x434d13=util[_0x3f40('0xba')](_0x3f40('0xc7'),_0x2e7950[_0x3f40('0xb3')]['id'],_0x25b757);var _0x5253fc=path[_0x3f40('0xc2')](_0x444f4f,_0x434d13);var _0x1fb90e=[];_0x1fb90e[_0x3f40('0x2f')]({'model':db[_0x3f40('0xc8')],'as':'User','attributes':['id',_0x3f40('0x2a')],'raw':!![]});_0x1fb90e[_0x3f40('0x2f')]({'model':db[_0x3f40('0xc9')],'as':_0x3f40('0x61'),'attributes':['id',_0x3f40('0xca'),_0x3f40('0xcb')],'raw':!![]});if(_0x2e7950[_0x3f40('0x39')][_0x3f40('0xc6')]){_0x1fb90e[_0x3f40('0x2f')]({'model':db[_0x3f40('0xcc')],'as':_0x3f40('0xcc'),'raw':!![]});}var _0x16c78b=[{'model':db[_0x3f40('0xb9')],'as':_0x3f40('0xcd'),'attributes':['id',_0x3f40('0xb2'),'createdAt',_0x3f40('0xce'),_0x3f40('0xcf'),'read'],'include':_0x1fb90e}];_0x16c78b['push']({'model':db[_0x3f40('0xd0')],'as':_0x3f40('0xd1'),'attributes':['id','name']});_0x16c78b['push']({'model':db[_0x3f40('0xc8')],'as':_0x3f40('0xd2'),'attributes':['id','fullname']});return db[_0x3f40('0x33')][_0x3f40('0xb0')]({'where':{'id':_0x2e7950[_0x3f40('0xb3')]['id']},'include':_0x16c78b})['then'](handleEntityNotFound(_0x901767,null))[_0x3f40('0x30')](function(_0x3f6b5b){if(_0x3f6b5b){var _0xfe8a1e=_0x3f6b5b[_0x3f40('0xd3')]({'plain':!![]});fs[_0x3f40('0xd4')](_0x5b4fcc);var _0x2b424b={'format':'A4','border':'10px','header':{'height':_0x3f40('0xd5'),'contents':{'first':_0x3f40('0xd6')}},'footer':{'height':_0x3f40('0xd7'),'contents':{'default':util['format'](_0x3f40('0xd8'),util['format']('%s\x20#%d',_0x3f40('0xd9'),_0xfe8a1e['id']),moment()['format'](_0x3f40('0xda'))[_0x3f40('0x98')]())}}};var _0x2e22dc={'channel':_0x3f40('0xd9'),'account':_0xfe8a1e['Account'][_0x3f40('0x28')],'agent':_0xfe8a1e[_0x3f40('0xd2')]?_0xfe8a1e[_0x3f40('0xd2')][_0x3f40('0x2a')]:'N.A.','createdAt':moment(_0xfe8a1e[_0x3f40('0x74')])[_0x3f40('0xba')]('YYYY-MM-DD\x20HH:mm:ss')[_0x3f40('0x98')](),'closedAt':_0xfe8a1e[_0x3f40('0xdb')]?moment(_0xfe8a1e[_0x3f40('0xdc')])['format'](_0x3f40('0xbb'))['toString']():'','disposition':_0xfe8a1e['disposition'],'messages':_(_0xfe8a1e[_0x3f40('0xcd')])[_0x3f40('0x80')]({'secret':![]})['map'](function(_0x17645d){if(_0x17645d[_0x3f40('0xcc')]){var _0x5103cc=path['join'](_0x500f31,_0x17645d['Attachment'][_0x3f40('0xdd')]);if(fs[_0x3f40('0xde')](_0x5103cc)){fs['createReadStream'](_0x5103cc)['pipe'](fs[_0x3f40('0xdf')](path[_0x3f40('0xc2')](_0x5b4fcc,_0x17645d[_0x3f40('0xcc')][_0x3f40('0xdd')])));}}return{'date':moment(_0x17645d[_0x3f40('0x74')])[_0x3f40('0xba')](_0x3f40('0xbb'))['toString'](),'sender':_0x17645d['direction']===_0x3f40('0xe0')?_0x17645d['User']?_0x17645d[_0x3f40('0xc8')][_0x3f40('0x2a')]:_0x3f40('0xe1'):_0x17645d[_0x3f40('0x61')]['firstName']+(_0x17645d['Contact'][_0x3f40('0xcb')]?'\x20'+_0x17645d[_0x3f40('0x61')][_0x3f40('0xcb')]:''),'body':_0x17645d[_0x3f40('0xcc')]?_0x17645d[_0x3f40('0xcc')][_0x3f40('0xdd')]:_0x17645d[_0x3f40('0xb2')],'direction':_0x17645d[_0x3f40('0xce')]===_0x3f40('0xe0')?'A':'C','secret':_0x17645d[_0x3f40('0xcf')],'read':_0x17645d[_0x3f40('0x7b')],'attachment':_0x17645d['Attachment']};})['value']()};return ejs[_0x3f40('0xe2')](path[_0x3f40('0xc2')](config[_0x3f40('0xc3')],'server',_0x3f40('0xe3'),'downloadInteraction.html'),{'interaction':_0x2e22dc})[_0x3f40('0x30')](function(_0x5ad920){return new BPromise(function(_0x3eef26,_0x203365){pdf[_0x3f40('0xb1')](_0x5ad920,_0x2b424b)[_0x3f40('0xe4')](path['join'](_0x5b4fcc,_0x3f40('0xe5')+_0xfe8a1e['id']+'-'+_0x25b757+_0x3f40('0xe6')),function(_0x31a285,_0x189013){if(_0x31a285)return _0x203365(_0x31a285);_0x3eef26(_0x189013);});});})[_0x3f40('0x30')](function(){return new BPromise(function(_0x2487f1,_0x37f8c3){zipdir(_0x5b4fcc,{'saveTo':_0x5253fc},function(_0x23b4a3,_0x5a352a){if(_0x23b4a3)return _0x37f8c3(_0x23b4a3);return _0x2487f1(_0x5a352a);});})[_0x3f40('0x30')](function(){return new BPromise(function(_0x84d59d,_0x48fb2c){rimraf(_0x5b4fcc,function(_0x3286bd){if(_0x3286bd)_0x48fb2c(_0x3286bd);return _0x84d59d();});});})[_0x3f40('0x30')](function(){return _0x901767['download'](_0x5253fc,_0x434d13,function(_0x3980a8){if(_0x3980a8){console['log']('err',_0x3980a8);}else{fs[_0x3f40('0xe7')](_0x5253fc);}});});});}else{return _0x901767[_0x3f40('0x1b')](0xc8);}})[_0x3f40('0x31')](handleError(_0x901767,null));};