Built motion from commit (unavailable).|2.5.15
[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 _0x16e4=['t.id\x20=\x20it.TagId','expr','search','parseSearch','conditions','find','value','having','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','type','text','start','union','User','UserId','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','unreadMessages','contactName','DESC','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','agent','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','role','sequelize','toString','merge','a.key','Account.key','a.mandatoryDisposition','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.firstName','Contact.firstName','c.lastName','c.email','Contact.email','c.phone','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','push','all','show','options','create','body','params','describe','addMessage','WhatsappMessage','ids','findOne','pick','format','includeAll','include','findAll','rows','addTags','omit','spread','Tag','emit','removeTags','download','unix','join','root','server','files','attachments','firstName','lastName','Attachment','secret','WhatsappAccount','Account','Owner','get','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','Whatsapp','YYYY-MM-DD','closed','disposition','Messages','basename','createReadStream','YYYY-MM-DD\x20HH:mm:ss','direction','out','System','renderFile','views','downloadInteraction.html','transcript-','.pdf','log','err','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','Users','fullname','TagIds','Tags','split','forEach','catch','map','WhatsappInteraction','rawAttributes','fieldName','key','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','select','field','color','from','tools_tags','u.fullname','ui.WhatsappInteractionId','user_has_whatsapp_interactions','users','whatsapp_interactions','left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','whatsapp_accounts','me.WhatsappInteractionId\x20=\x20i.id','it.WhatsappInteractionId\x20=\x20i.id'];(function(_0x217e48,_0x2e4ae2){var _0x47f9c4=function(_0x4dc60c){while(--_0x4dc60c){_0x217e48['push'](_0x217e48['shift']());}};_0x47f9c4(++_0x2e4ae2);}(_0x16e4,0x97));var _0x416e=function(_0x59f204,_0x14c954){_0x59f204=_0x59f204-0x0;var _0xb252a2=_0x16e4[_0x59f204];return _0xb252a2;};'use strict';var pdf=require(_0x416e('0x0'));var emlformat=require(_0x416e('0x1'));var rimraf=require(_0x416e('0x2'));var zipdir=require(_0x416e('0x3'));var jsonpatch=require(_0x416e('0x4'));var rp=require(_0x416e('0x5'));var moment=require('moment');var BPromise=require(_0x416e('0x6'));var Mustache=require('mustache');var util=require(_0x416e('0x7'));var path=require(_0x416e('0x8'));var sox=require('sox');var csv=require(_0x416e('0x9'));var ejs=require(_0x416e('0xa'));var fs=require('fs');var _=require(_0x416e('0xb'));var squel=require(_0x416e('0xc'));var crypto=require(_0x416e('0xd'));var jsforce=require(_0x416e('0xe'));var deskjs=require(_0x416e('0xf'));var toCsv=require(_0x416e('0x9'));var querystring=require(_0x416e('0x10'));var Papa=require('papaparse');var Redis=require(_0x416e('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x416e('0x12'));var as=require(_0x416e('0x13'));var hardwareService=require(_0x416e('0x14'));var logger=require('../../config/logger')(_0x416e('0x15'));var utils=require(_0x416e('0x16'));var config=require(_0x416e('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x416e('0x18'))['db'];config['redis']=_[_0x416e('0x19')](config[_0x416e('0x1a')],{'host':_0x416e('0x1b'),'port':0x18eb});var socket=require(_0x416e('0x1c'))(new Redis(config['redis']));require(_0x416e('0x1d'))[_0x416e('0x1e')](socket);function respondWithStatusCode(_0x30b23f,_0x1188de){_0x1188de=_0x1188de||0xcc;return function(_0x1fc113){if(_0x1fc113){return _0x30b23f[_0x416e('0x1f')](_0x1188de);}return _0x30b23f[_0x416e('0x20')](_0x1188de)[_0x416e('0x21')]();};}function respondWithResult(_0x36069b,_0x5624ab){_0x5624ab=_0x5624ab||0xc8;return function(_0x5c555b){if(_0x5c555b){return _0x36069b['status'](_0x5624ab)[_0x416e('0x22')](_0x5c555b);}};}function respondWithFilteredResult(_0x3f8b53,_0x268ad1){return function(_0x467e88){if(_0x467e88){var _0x4ed9fc=_0x467e88[_0x416e('0x23')],_0x1d7931=_0x268ad1[_0x416e('0x24')],_0x27d249=_0x268ad1[_0x416e('0x24')]+_0x268ad1[_0x416e('0x25')],_0x4b6351;if(_0x27d249>=_0x4ed9fc){_0x27d249=_0x4ed9fc;_0x4b6351=0xc8;}else{_0x4b6351=0xce;}_0x3f8b53[_0x416e('0x20')](_0x4b6351);return _0x3f8b53[_0x416e('0x26')](_0x416e('0x27'),_0x1d7931+'-'+_0x27d249+'/'+_0x4ed9fc)[_0x416e('0x22')](_0x467e88);}return null;};}function patchUpdates(_0x3f6c1d){return function(_0x1aea5e){try{jsonpatch[_0x416e('0x28')](_0x1aea5e,_0x3f6c1d,!![]);}catch(_0x5442bc){return BPromise[_0x416e('0x29')](_0x5442bc);}return _0x1aea5e[_0x416e('0x2a')]();};}function saveUpdates(_0x3d197c,_0x41e5e8){return function(_0x2eeecd){if(_0x2eeecd){return _0x2eeecd[_0x416e('0x2b')](_0x3d197c)['then'](function(_0x25070a){return _0x25070a;});}return null;};}function removeEntity(_0x3bbbad,_0x196c11){return function(_0x5cade9){if(_0x5cade9){return _0x5cade9[_0x416e('0x2c')]()[_0x416e('0x2d')](function(){_0x3bbbad[_0x416e('0x20')](0xcc)[_0x416e('0x21')]();});}};}function handleEntityNotFound(_0x4ab2f2,_0x17fe69){return function(_0x3fa936){if(!_0x3fa936){_0x4ab2f2[_0x416e('0x1f')](0x194);}return _0x3fa936;};}function handleError(_0x21bc79,_0x3b3487){_0x3b3487=_0x3b3487||0x1f4;return function(_0x13a953){logger[_0x416e('0x2e')](_0x13a953[_0x416e('0x2f')]);if(_0x13a953[_0x416e('0x30')]){delete _0x13a953['name'];}_0x21bc79[_0x416e('0x20')](_0x3b3487)[_0x416e('0x31')](_0x13a953);};}function getInteractionUsers(_0x39b4d9,_0x12fa28){return new BPromise(function(_0x2ce7ea,_0x40f504){try{if(_0x12fa28[_0x39b4d9['id']]){_0x39b4d9[_0x416e('0x32')]=_['map'](_0x12fa28[_0x39b4d9['id']],function(_0x36fb77){return{'id':_0x36fb77['id'],'fullname':_0x36fb77[_0x416e('0x33')]};});}}catch(_0x415c25){_0x40f504(_0x415c25);}_0x2ce7ea(_0x39b4d9);});}function getInteractionTags(_0x4c2d04,_0x429f9a){return new BPromise(function(_0x1c0888,_0x183213){try{if(_0x4c2d04[_0x416e('0x34')]){_0x4c2d04[_0x416e('0x35')]=[];_0x4c2d04[_0x416e('0x34')][_0x416e('0x36')](',')[_0x416e('0x37')](function(_0x253b81){_0x4c2d04[_0x416e('0x35')]['push'](_0x429f9a[_0x253b81]);});}delete _0x4c2d04[_0x416e('0x34')];}catch(_0xa1616b){_0x183213(_0xa1616b);}_0x1c0888(_0x4c2d04);});}function updateWhatsappInteraction(_0x138ac7,_0x5ddac6,_0x647c67){return new BPromise(function(_0x19c6e2,_0x218e78){return getInteractionUsers(_0x138ac7,_0x647c67)['then'](function(_0x131774){return getInteractionTags(_0x131774,_0x5ddac6);})[_0x416e('0x2d')](function(_0x4ee490){_0x19c6e2(_0x4ee490);})[_0x416e('0x38')](function(_0x5abc31){_0x218e78(_0x5abc31);});});}exports['index']=function(_0x76fcaf,_0x45b05e){var _0x96cb68={},_0x1ec3f6={},_0x27430f={'count':0x0,'rows':[]};var _0x3513b4=_[_0x416e('0x39')](db[_0x416e('0x3a')][_0x416e('0x3b')],function(_0x48225f){return{'name':_0x48225f[_0x416e('0x3c')],'type':_0x48225f['type'][_0x416e('0x3d')]};});_0x1ec3f6[_0x416e('0x3e')]=_['map'](_0x3513b4,_0x416e('0x30'));_0x1ec3f6['query']=_[_0x416e('0x3f')](_0x76fcaf[_0x416e('0x40')]);_0x1ec3f6['filters']=_[_0x416e('0x41')](_0x1ec3f6[_0x416e('0x3e')],_0x1ec3f6[_0x416e('0x40')]);_0x96cb68['attributes']=_['intersection'](_0x1ec3f6['model'],qs[_0x416e('0x42')](_0x76fcaf[_0x416e('0x40')][_0x416e('0x42')]));_0x96cb68[_0x416e('0x43')]=_0x96cb68[_0x416e('0x43')][_0x416e('0x44')]?_0x96cb68[_0x416e('0x43')]:_0x1ec3f6[_0x416e('0x3e')];if(!_0x76fcaf[_0x416e('0x40')][_0x416e('0x45')](_0x416e('0x46'))){_0x96cb68['limit']=qs[_0x416e('0x25')](_0x76fcaf['query']['limit']);_0x96cb68[_0x416e('0x24')]=qs[_0x416e('0x24')](_0x76fcaf[_0x416e('0x40')][_0x416e('0x24')]);}_0x96cb68[_0x416e('0x47')]=qs[_0x416e('0x48')](_0x76fcaf['query']['sort']);_0x96cb68[_0x416e('0x49')]=qs[_0x416e('0x4a')](_['pick'](_0x76fcaf['query'],_0x1ec3f6[_0x416e('0x4a')]),_0x3513b4);var _0xbf0d03=[];var _0x26dbf2=squel[_0x416e('0x4b')]()[_0x416e('0x4c')]('id')[_0x416e('0x4c')](_0x416e('0x30'))[_0x416e('0x4c')](_0x416e('0x4d'))[_0x416e('0x4e')](_0x416e('0x4f'));var _0x2fd0b2=squel[_0x416e('0x4b')]()[_0x416e('0x4c')]('u.id')[_0x416e('0x4c')](_0x416e('0x50'))['field'](_0x416e('0x51'))['from'](_0x416e('0x52'),'ui')['left_join'](_0x416e('0x53'),'u','u.id\x20=\x20ui.UserId');var _0x5ac1c6=squel['select']()[_0x416e('0x4e')](_0x416e('0x54'),'i')[_0x416e('0x55')](_0x416e('0x56'),'c',_0x416e('0x57'))[_0x416e('0x55')](_0x416e('0x53'),'o','o.id\x20=\x20i.UserId')[_0x416e('0x55')](_0x416e('0x58'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0x416e('0x55')]('whatsapp_messages','me',_0x416e('0x59'))[_0x416e('0x55')]('whatsapp_interaction_has_tags','it',_0x416e('0x5a'))['left_join']('tools_tags','t',_0x416e('0x5b'));var _0x2ef833=squel[_0x416e('0x5c')]();var _0x40f42e=[];var _0x138cce=squel[_0x416e('0x5c')]();var _0x577bfd;if(_0x76fcaf[_0x416e('0x40')][_0x416e('0x5d')]){_0x577bfd=as[_0x416e('0x5e')](_0x76fcaf['query'][_0x416e('0x5d')]);var _0x5b539a=_0x577bfd['sqlOperator'];for(var _0x2e96e6=0x0;_0x2e96e6<_0x577bfd['conditions']['length'];_0x2e96e6++){var _0x4ab96e=_0x577bfd[_0x416e('0x5f')][_0x2e96e6];var _0x4ead84='i';var _0x12f98e=_[_0x416e('0x60')](_0x3513b4,[_0x416e('0x30'),_0x4ab96e[_0x416e('0x4c')]]);if(!_0x12f98e){switch(_0x4ab96e[_0x416e('0x4c')]){case'unreadMessages':if(_0x4ab96e[_0x416e('0x61')]==0x1){_0x5ac1c6[_0x416e('0x62')]('`'+_0x4ab96e[_0x416e('0x4c')]+_0x416e('0x63'));}else{_0x5ac1c6[_0x416e('0x62')]('`'+_0x4ab96e['field']+_0x416e('0x64'));}break;case _0x416e('0x65'):if(_0x4ab96e[_0x416e('0x66')]===_0x416e('0x67')){if(_0x4ab96e[_0x416e('0x61')][_0x416e('0x36')]('\x20')[_0x416e('0x44')]>0x1){_0x2ef833[_0x5b539a](_0x416e('0x68'),qs[_0x416e('0x69')](_0x4ab96e[_0x416e('0x61')]),null);}else{var _0x2da551='%'+_0x4ab96e[_0x416e('0x61')]+'%';_0x2ef833[_0x5b539a](_0x416e('0x6a'),_0x2da551,_0x2da551,_0x2da551);}}else{_0x12f98e=_[_0x416e('0x60')](_0x3513b4,[_0x416e('0x30'),_0x416e('0x6b')]);_0x4ab96e['field']=_0x416e('0x6b');_0x1d48f0=as[_0x416e('0x6c')](_0x4ead84,_0x12f98e[_0x416e('0x6d')],_0x4ab96e);_0x2ef833[_0x5b539a](_0x1d48f0[_0x416e('0x6e')],_0x1d48f0[_0x416e('0x61')][_0x416e('0x6f')],_0x1d48f0[_0x416e('0x61')]['end']);}break;case'Tag':var _0x2bd9b4=_0x4ab96e['value'][_0x416e('0x36')](',')['map'](function(_0x5259ce){return Number(_0x5259ce);});_0x2bd9b4[_0x416e('0x37')](function(_0x331a97){_0x138cce['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x331a97+',%');});_0x40f42e=_[_0x416e('0x70')](_0x40f42e,_0x2bd9b4);break;case _0x416e('0x71'):if(_0x4ab96e[_0x416e('0x66')]===_0x416e('0x67')){_0x2ef833[_0x5b539a]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x4ab96e[_0x416e('0x61')]+'%',null);}else{_0x12f98e=_[_0x416e('0x60')](_0x3513b4,['name',_0x416e('0x72')]);_0x4ab96e['field']='UserId';_0x1d48f0=as[_0x416e('0x6c')](_0x4ead84,_0x12f98e[_0x416e('0x6d')],_0x4ab96e);_0x2ef833[_0x5b539a](_0x1d48f0[_0x416e('0x6e')],_0x1d48f0[_0x416e('0x61')]['start'],_0x1d48f0['value'][_0x416e('0x21')]);}break;case'body':_0x1d48f0=as[_0x416e('0x6c')]('me',null,_0x4ab96e);_0x2ef833[_0x5b539a](_0x1d48f0[_0x416e('0x6e')],_0x1d48f0['value'][_0x416e('0x6f')],_0x1d48f0[_0x416e('0x61')]['end']);break;}}else{var _0x1d48f0=as[_0x416e('0x6c')](_0x4ead84,_0x12f98e[_0x416e('0x6d')],_0x4ab96e);_0x2ef833[_0x5b539a](_0x1d48f0[_0x416e('0x6e')],_0x1d48f0[_0x416e('0x61')][_0x416e('0x6f')],_0x1d48f0['value']['end']);}}}else{var _0x301a4e=_(_0x76fcaf['query'])[_0x416e('0x3f')]()[_0x416e('0x39')](function(_0x47a9a0){return _[_0x416e('0x73')](_0x3513b4,[_0x416e('0x30'),_0x47a9a0])?_0x47a9a0:undefined;})[_0x416e('0x74')]()[_0x416e('0x61')]();if(!_[_0x416e('0x75')](_0x301a4e)){_0x301a4e[_0x416e('0x37')](function(_0x325570){if(_0x325570===_0x416e('0x76')){_0x5ac1c6[_0x416e('0x49')](_0x416e('0x77'),[][_0x416e('0x78')](_0x76fcaf[_0x416e('0x40')][_0x325570]));}else if(_0x325570===_0x416e('0x79')){var _0x42d812=JSON['parse'](_0x76fcaf[_0x416e('0x40')][_0x325570])[_0x416e('0x7a')];var _0x3e1692=JSON['parse'](_0x76fcaf['query'][_0x325570])['$lte'];_0x5ac1c6['where'](_0x416e('0x7b'),_0x42d812,_0x3e1692);}else{if(_0x76fcaf[_0x416e('0x40')][_0x325570]==='null'){_0x5ac1c6[_0x416e('0x49')]('i.'+_0x325570+_0x416e('0x7c'));}else{_0x5ac1c6[_0x416e('0x49')]('i.'+_0x325570+_0x416e('0x7d'),_0x76fcaf['query'][_0x325570]);}}});}if(_0x76fcaf[_0x416e('0x40')][_0x416e('0x7e')]){if(_0x76fcaf['query'][_0x416e('0x7e')]==0x1){_0x5ac1c6[_0x416e('0x62')](_0x416e('0x7f'));}else{_0x5ac1c6[_0x416e('0x62')](_0x416e('0x80'));}}if(_0x76fcaf[_0x416e('0x40')][_0x416e('0x81')]){_0x40f42e=_[_0x416e('0x82')](_0x76fcaf[_0x416e('0x40')][_0x416e('0x81')])?_0x76fcaf[_0x416e('0x40')][_0x416e('0x81')]:new Array(_0x76fcaf[_0x416e('0x40')][_0x416e('0x81')]);_0x40f42e[_0x416e('0x37')](function(_0x3e8552){_0x138cce['or'](_0x416e('0x83'),'%,'+_0x3e8552+',%');});}if(_0x76fcaf['query'][_0x416e('0x84')]){var _0x127357=_0x76fcaf[_0x416e('0x40')][_0x416e('0x84')][_0x416e('0x85')]('\x5c','\x5c\x5c')[_0x416e('0x85')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x127357)){_0x2ef833['or'](_0x416e('0x86'),_0x127357+'%')['or'](_0x416e('0x87'),_0x127357+'%');}else{_0x2ef833['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x416e('0x69')](_0x127357))['or'](_0x416e('0x88'),_0x127357+'%');}}}_0x5ac1c6[_0x416e('0x49')](_0x2ef833);_0x5ac1c6[_0x416e('0x89')](_0x416e('0x8a'));var _0x5cba29={'type':db[_0x416e('0x8b')][_0x416e('0x8c')][_0x416e('0x8d')],'raw':!![]};var _0x2684e4=_0x5ac1c6[_0x416e('0x8e')]();_0x2684e4[_0x416e('0x4c')](_0x416e('0x8a'));_0x2684e4[_0x416e('0x4c')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x416e('0x8f'));if(_0x96cb68[_0x416e('0x47')]){_0x96cb68[_0x416e('0x47')][_0x416e('0x37')](function(_0x52a099){var _0x44431f=_0x52a099[0x0]===_0x416e('0x90')?_0x52a099[0x0]:'i.'+_0x52a099[0x0];_0x5ac1c6[_0x416e('0x47')](_0x44431f,_0x52a099[0x1]===_0x416e('0x91')?![]:!![]);});}if(!_['isEmpty'](_0x40f42e)){_0x5ac1c6[_0x416e('0x62')](_0x138cce);_0x2684e4[_0x416e('0x49')](_0x416e('0x92'),_0x40f42e);}BPromise[_0x416e('0x93')]()[_0x416e('0x2d')](function(){if(!_0x577bfd){if(_0x76fcaf[_0x416e('0x40')]['WhatsappAccountId'])return;_0x2684e4[_0x416e('0x49')](_0x416e('0x94'));_0x5ac1c6[_0x416e('0x49')](_0x416e('0x94'));return;}if(_0x76fcaf[_0x416e('0x95')]['role']!==_0x416e('0x96'))return;return _0x76fcaf[_0x416e('0x95')][_0x416e('0x97')]({'attributes':['id'],'raw':!![]})[_0x416e('0x2d')](function(_0x39901f){if(_['isEmpty'](_0x39901f)){_0x2684e4[_0x416e('0x49')](_0x416e('0x98'));_0x5ac1c6['where'](_0x416e('0x98'));}else{_0x2684e4[_0x416e('0x49')](_0x416e('0x77'),_[_0x416e('0x39')](_0x39901f,'id'));_0x5ac1c6['where']('i.WhatsappAccountId\x20IN\x20?',_[_0x416e('0x39')](_0x39901f,'id'));}});})[_0x416e('0x2d')](function(){if(_0x76fcaf[_0x416e('0x95')][_0x416e('0x99')]==='agent'&&!_0x577bfd&&!_0x76fcaf[_0x416e('0x40')][_0x416e('0x76')])return[];return db[_0x416e('0x9a')]['query'](_0x2684e4[_0x416e('0x9b')](),_0x5cba29);})[_0x416e('0x2d')](function(_0x56eedc){_0x27430f[_0x416e('0x23')]=_0x56eedc[_0x416e('0x44')];if(_0x27430f[_0x416e('0x23')]===0x0)return[];return db[_0x416e('0x9a')]['query'](_0x26dbf2[_0x416e('0x9b')](),_0x5cba29)[_0x416e('0x2d')](function(_0x29980f){_0xbf0d03=_['keyBy'](_0x29980f,'id');_0x5cba29=_[_0x416e('0x9c')](_0x5cba29,{'model':db[_0x416e('0x3a')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x76fcaf[_0x416e('0x40')][_0x416e('0x42')]){_0x96cb68['attributes'][_0x416e('0x37')](function(_0x6695d4){_0x5ac1c6[_0x416e('0x4c')]('i.'+_0x6695d4);});}else{_0x5ac1c6['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x416e('0x8f'));_0x5ac1c6[_0x416e('0x4c')](_0x416e('0x9d'),_0x416e('0x9e'));_0x5ac1c6[_0x416e('0x4c')](_0x416e('0x9f'),'Account.mandatoryDisposition');_0x5ac1c6['field'](_0x416e('0xa0'),_0x416e('0x90'));_0x5ac1c6[_0x416e('0x4c')](_0x416e('0xa1'));_0x5ac1c6[_0x416e('0x4c')](_0x416e('0xa2'),_0x416e('0xa3'));_0x5ac1c6['field'](_0x416e('0xa4'),'Contact.lastName');_0x5ac1c6['field'](_0x416e('0xa5'),_0x416e('0xa6'));_0x5ac1c6[_0x416e('0x4c')](_0x416e('0xa7'),'Contact.phone');_0x5ac1c6[_0x416e('0x4c')]('c.mobile','Contact.mobile');_0x5ac1c6['field'](_0x416e('0xa8'),_0x416e('0xa9'));_0x5ac1c6[_0x416e('0x4c')](_0x416e('0xaa'),_0x416e('0xab'));_0x5ac1c6['field'](_0x416e('0xac'),_0x416e('0xad'));_0x5ac1c6['field'](_0x416e('0xae'),'TagIds');}if(_0x96cb68['limit'])_0x5ac1c6['limit'](_0x96cb68[_0x416e('0x25')]);if(_0x96cb68['offset'])_0x5ac1c6['offset'](_0x96cb68[_0x416e('0x24')]);return db['sequelize'][_0x416e('0x40')](_0x5ac1c6['toString'](),_0x5cba29);})[_0x416e('0x2d')](function(_0x45c5b8){_0x2fd0b2[_0x416e('0x49')](_0x416e('0xaf'),_['map'](_0x45c5b8,'id'));return db[_0x416e('0x9a')][_0x416e('0x40')](_0x2fd0b2[_0x416e('0x9b')](),_0x5cba29)[_0x416e('0x2d')](function(_0x2edfc6){var _0x53eca4=_[_0x416e('0xb0')](_0x2edfc6,'WhatsappInteractionId');var _0xcda610=[];_0x45c5b8['forEach'](function(_0x2fdb2a){_0xcda610[_0x416e('0xb1')](updateWhatsappInteraction(_0x2fdb2a,_0xbf0d03,_0x53eca4));});return BPromise[_0x416e('0xb2')](_0xcda610);});});})['then'](function(_0x3b4a53){_0x27430f['rows']=_0x3b4a53;return _0x27430f;})[_0x416e('0x2d')](respondWithFilteredResult(_0x45b05e,_0x96cb68))[_0x416e('0x38')](handleError(_0x45b05e,null));};exports[_0x416e('0xb3')]=function(_0x104f66,_0x40e5c8){var _0x853754={'raw':![],'where':{'id':_0x104f66['params']['id']}},_0x5a35f6={};_0x5a35f6['model']=_['keys'](db[_0x416e('0x3a')][_0x416e('0x3b')]);_0x5a35f6[_0x416e('0x40')]=_[_0x416e('0x3f')](_0x104f66[_0x416e('0x40')]);_0x5a35f6['filters']=_[_0x416e('0x41')](_0x5a35f6['model'],_0x5a35f6[_0x416e('0x40')]);_0x853754[_0x416e('0x43')]=_['intersection'](_0x5a35f6[_0x416e('0x3e')],qs[_0x416e('0x42')](_0x104f66['query'][_0x416e('0x42')]));_0x853754[_0x416e('0x43')]=_0x853754[_0x416e('0x43')][_0x416e('0x44')]?_0x853754['attributes']:_0x5a35f6['model'];if(_0x104f66[_0x416e('0x40')]['includeAll']){_0x853754['include']=[{'all':!![]}];}_0x853754=_[_0x416e('0x9c')]({},_0x853754,_0x104f66[_0x416e('0xb4')]);return db['WhatsappInteraction'][_0x416e('0x60')](_0x853754)['then'](handleEntityNotFound(_0x40e5c8,null))[_0x416e('0x2d')](respondWithResult(_0x40e5c8,null))[_0x416e('0x38')](handleError(_0x40e5c8,null));};exports[_0x416e('0xb5')]=function(_0x4af0d5,_0x233c84){return db[_0x416e('0x3a')][_0x416e('0xb5')](_0x4af0d5[_0x416e('0xb6')],{})['then'](respondWithResult(_0x233c84,0xc9))['catch'](handleError(_0x233c84,null));};exports['update']=function(_0x254d51,_0x2cca91){if(_0x254d51['body']['id']){delete _0x254d51[_0x416e('0xb6')]['id'];}return db[_0x416e('0x3a')][_0x416e('0x60')]({'where':{'id':_0x254d51['params']['id']}})[_0x416e('0x2d')](handleEntityNotFound(_0x2cca91,null))[_0x416e('0x2d')](saveUpdates(_0x254d51['body'],null))[_0x416e('0x2d')](respondWithResult(_0x2cca91,null))[_0x416e('0x38')](handleError(_0x2cca91,null));};exports[_0x416e('0x2c')]=function(_0xb584b2,_0x53e42c){return db[_0x416e('0x3a')][_0x416e('0x60')]({'where':{'id':_0xb584b2[_0x416e('0xb7')]['id']}})['then'](handleEntityNotFound(_0x53e42c,null))[_0x416e('0x2d')](removeEntity(_0x53e42c,null))[_0x416e('0x38')](handleError(_0x53e42c,null));};exports[_0x416e('0xb8')]=function(_0x277852,_0x2a3153){return db['WhatsappInteraction'][_0x416e('0xb8')]()[_0x416e('0x2d')](respondWithResult(_0x2a3153,null))[_0x416e('0x38')](handleError(_0x2a3153,null));};exports[_0x416e('0xb9')]=function(_0x500674,_0x2fe23b,_0x9a9ed5){return db[_0x416e('0xba')]['find']({'where':{'id':_0x500674[_0x416e('0xb7')]['id']}})[_0x416e('0x2d')](handleEntityNotFound(_0x2fe23b,null))[_0x416e('0x2d')](function(_0x2d4d43){if(_0x2d4d43){return _0x2d4d43['addMessage'](_0x500674[_0x416e('0xb6')][_0x416e('0xbb')],_['omit'](_0x500674[_0x416e('0xb6')],['ids','id'])||{});}})['then'](respondWithResult(_0x2fe23b,null))[_0x416e('0x38')](handleError(_0x2fe23b,null));};exports['getMessages']=function(_0x5d6bde,_0x43e140,_0x1e9f36){var _0x26ab14={'raw':![],'where':{}};var _0x3a45d1={};var _0x45d6b5={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x416e('0xbc')]({'where':{'id':_0x5d6bde[_0x416e('0xb7')]['id']}})['then'](handleEntityNotFound(_0x43e140,null))['then'](function(_0x6ebb20){if(_0x6ebb20){_0x3a45d1['model']=_[_0x416e('0x3f')](db[_0x416e('0xba')][_0x416e('0x3b')]);_0x3a45d1[_0x416e('0x40')]=_[_0x416e('0x3f')](_0x5d6bde['query']);_0x3a45d1['filters']=_[_0x416e('0x41')](_0x3a45d1[_0x416e('0x3e')],_0x3a45d1['query']);_0x26ab14[_0x416e('0x43')]=_['intersection'](_0x3a45d1['model'],qs['fields'](_0x5d6bde['query'][_0x416e('0x42')]));_0x26ab14[_0x416e('0x43')]=_0x26ab14[_0x416e('0x43')]['length']?_0x26ab14[_0x416e('0x43')]:_0x3a45d1[_0x416e('0x3e')];if(!_0x5d6bde[_0x416e('0x40')]['hasOwnProperty']('nolimit')){_0x26ab14['limit']=qs['limit'](_0x5d6bde[_0x416e('0x40')]['limit']);_0x26ab14[_0x416e('0x24')]=qs[_0x416e('0x24')](_0x5d6bde['query'][_0x416e('0x24')]);}_0x26ab14[_0x416e('0x47')]=qs[_0x416e('0x48')](_0x5d6bde['query'][_0x416e('0x48')]);_0x26ab14[_0x416e('0x49')]=qs[_0x416e('0x4a')](_[_0x416e('0xbd')](_0x5d6bde[_0x416e('0x40')],_0x3a45d1[_0x416e('0x4a')]));_0x26ab14[_0x416e('0x49')]['WhatsappInteractionId']=_0x6ebb20['id'];if(_0x5d6bde[_0x416e('0x40')][_0x416e('0x84')]){_0x26ab14[_0x416e('0x49')]=_[_0x416e('0x9c')](_0x26ab14[_0x416e('0x49')],{'$or':_['map'](_0x26ab14[_0x416e('0x43')],function(_0x1b130e){var _0x151b34={};_0x151b34[_0x1b130e]={'$like':'%'+_0x5d6bde[_0x416e('0x40')][_0x416e('0x84')]+'%'};return _0x151b34;})});}if(_0x5d6bde[_0x416e('0x40')][_0x416e('0x7a')]){var _0xc6eb78=_0x5d6bde['query'][_0x416e('0x7a')][_0x416e('0x36')](',');var _0x1d0806={};_0x1d0806[_0xc6eb78[0x0]]={'$gte':moment(_0xc6eb78[0x1])[_0x416e('0xbe')]('YYYY-MM-DD\x20HH:mm:ss')};_0x26ab14['where']=_['merge'](_0x26ab14[_0x416e('0x49')],_0x1d0806);}_0x26ab14=_[_0x416e('0x9c')]({},_0x26ab14,_0x5d6bde[_0x416e('0xb4')]);return db[_0x416e('0xba')][_0x416e('0x23')]({'where':_0x26ab14[_0x416e('0x49')]})[_0x416e('0x2d')](function(_0x63a51f){_0x45d6b5[_0x416e('0x23')]=_0x63a51f;if(_0x5d6bde[_0x416e('0x40')][_0x416e('0xbf')]){_0x26ab14[_0x416e('0xc0')]=[{'all':!![]}];}return db[_0x416e('0xba')][_0x416e('0xc1')](_0x26ab14);})[_0x416e('0x2d')](function(_0x5a2fd5){_0x45d6b5[_0x416e('0xc2')]=_0x5a2fd5;return _0x45d6b5;});}})['then'](respondWithFilteredResult(_0x43e140,_0x26ab14))[_0x416e('0x38')](handleError(_0x43e140,null));};exports[_0x416e('0xc3')]=function(_0x91bed1,_0x364f0a,_0x480737){return db[_0x416e('0x3a')]['find']({'where':{'id':_0x91bed1[_0x416e('0xb7')]['id']}})[_0x416e('0x2d')](handleEntityNotFound(_0x364f0a,null))[_0x416e('0x2d')](function(_0x261a78){if(_0x261a78){return _0x261a78['setTags'](_0x91bed1[_0x416e('0xb6')]['ids'],_[_0x416e('0xc4')](_0x91bed1['body'],['ids','id'])||{})[_0x416e('0xc5')](function(){return db[_0x416e('0xc6')][_0x416e('0xc1')]({'attributes':['id',_0x416e('0x30'),'color'],'where':{'id':_0x91bed1[_0x416e('0xb6')][_0x416e('0xbb')]}});})[_0x416e('0x2d')](function(_0xaa4870){socket[_0x416e('0xc7')]('whatsappInteractionTags:save',{'id':Number(_0x91bed1['params']['id']),'tags':_0xaa4870||[]});return{'id':Number(_0x91bed1[_0x416e('0xb7')]['id']),'tags':_0xaa4870||[]};});}})[_0x416e('0x2d')](respondWithResult(_0x364f0a,null))[_0x416e('0x38')](handleError(_0x364f0a,null));};exports[_0x416e('0xc8')]=function(_0x4e9d65,_0x21d79d,_0x14eb8d){return db[_0x416e('0x3a')][_0x416e('0x60')]({'where':{'id':_0x4e9d65['params']['id']}})[_0x416e('0x2d')](handleEntityNotFound(_0x21d79d,null))[_0x416e('0x2d')](function(_0x475dea){if(_0x475dea){return _0x475dea[_0x416e('0xc8')](_0x4e9d65['query'][_0x416e('0xbb')]);}})[_0x416e('0x2d')](respondWithStatusCode(_0x21d79d,null))['catch'](handleError(_0x21d79d,null));};exports[_0x416e('0xc9')]=function(_0x25afd1,_0x2338c3){var _0x3f323d=moment()[_0x416e('0xca')]()['toString']();var _0x2eea1c=path[_0x416e('0xcb')](config[_0x416e('0xcc')],_0x416e('0xcd'),_0x416e('0xce'),'tmp');var _0x2fb1b8=path[_0x416e('0xcb')](config[_0x416e('0xcc')],_0x416e('0xcd'),_0x416e('0xce'),_0x416e('0xcf'));var _0x73e517=path['join'](_0x2eea1c,_0x3f323d);var _0x238e5f=util[_0x416e('0xbe')]('transcript-%d-%s.zip',_0x25afd1[_0x416e('0xb7')]['id'],_0x3f323d);var _0x2d7b6d=path[_0x416e('0xcb')](_0x2eea1c,_0x238e5f);var _0x5aaf81=[];_0x5aaf81[_0x416e('0xb1')]({'model':db[_0x416e('0x71')],'as':_0x416e('0x71'),'attributes':['id',_0x416e('0x33')],'raw':!![]});_0x5aaf81[_0x416e('0xb1')]({'model':db['CmContact'],'as':_0x416e('0x65'),'attributes':['id',_0x416e('0xd0'),_0x416e('0xd1')],'raw':!![]});if(_0x25afd1[_0x416e('0x40')][_0x416e('0xcf')]){_0x5aaf81[_0x416e('0xb1')]({'model':db[_0x416e('0xd2')],'as':_0x416e('0xd2'),'raw':!![]});}var _0x45b47f=[{'model':db[_0x416e('0xba')],'as':'Messages','attributes':['id',_0x416e('0xb6'),_0x416e('0x79'),'direction',_0x416e('0xd3'),_0x416e('0x7e')],'include':_0x5aaf81}];_0x45b47f[_0x416e('0xb1')]({'model':db[_0x416e('0xd4')],'as':_0x416e('0xd5'),'attributes':['id',_0x416e('0x30')]});_0x45b47f[_0x416e('0xb1')]({'model':db[_0x416e('0x71')],'as':_0x416e('0xd6'),'attributes':['id','fullname']});return db[_0x416e('0x3a')][_0x416e('0x60')]({'where':{'id':_0x25afd1[_0x416e('0xb7')]['id']},'include':_0x45b47f})[_0x416e('0x2d')](handleEntityNotFound(_0x2338c3,null))[_0x416e('0x2d')](function(_0x346b3d){if(_0x346b3d){var _0x244441=_0x346b3d[_0x416e('0xd7')]({'plain':!![]});fs[_0x416e('0xd8')](_0x73e517);var _0x378cb3={'format':'A4','border':_0x416e('0xd9'),'header':{'height':_0x416e('0xda'),'contents':{'first':_0x416e('0xdb')}},'footer':{'height':_0x416e('0xdc'),'contents':{'default':util[_0x416e('0xbe')](_0x416e('0xdd'),util[_0x416e('0xbe')](_0x416e('0xde'),_0x416e('0xdf'),_0x244441['id']),moment()[_0x416e('0xbe')](_0x416e('0xe0'))[_0x416e('0x9b')]())}}};var _0x2f74e2={'channel':_0x416e('0xdf'),'account':_0x244441[_0x416e('0xd5')][_0x416e('0x30')],'agent':_0x244441[_0x416e('0xd6')]?_0x244441['Owner'][_0x416e('0x33')]:'N.A.','createdAt':moment(_0x244441[_0x416e('0x79')])[_0x416e('0xbe')]('YYYY-MM-DD\x20HH:mm:ss')[_0x416e('0x9b')](),'closedAt':_0x244441[_0x416e('0xe1')]?moment(_0x244441['closedAt'])['format']('YYYY-MM-DD\x20HH:mm:ss')[_0x416e('0x9b')]():'','disposition':_0x244441[_0x416e('0xe2')],'messages':_(_0x244441[_0x416e('0xe3')])[_0x416e('0x84')]({'secret':![]})[_0x416e('0x39')](function(_0x444aea){if(_0x444aea[_0x416e('0xd2')]){var _0x20d1a8=path[_0x416e('0xcb')](_0x2fb1b8,_0x444aea[_0x416e('0xd2')][_0x416e('0xe4')]);if(fs['existsSync'](_0x20d1a8)){fs[_0x416e('0xe5')](_0x20d1a8)['pipe'](fs['createWriteStream'](path[_0x416e('0xcb')](_0x73e517,_0x444aea[_0x416e('0xd2')][_0x416e('0xe4')])));}}return{'date':moment(_0x444aea['createdAt'])['format'](_0x416e('0xe6'))[_0x416e('0x9b')](),'sender':_0x444aea[_0x416e('0xe7')]===_0x416e('0xe8')?_0x444aea['User']?_0x444aea[_0x416e('0x71')][_0x416e('0x33')]:_0x416e('0xe9'):_0x444aea[_0x416e('0x65')][_0x416e('0xd0')]+(_0x444aea[_0x416e('0x65')][_0x416e('0xd1')]?'\x20'+_0x444aea[_0x416e('0x65')][_0x416e('0xd1')]:''),'body':_0x444aea[_0x416e('0xd2')]?_0x444aea[_0x416e('0xd2')][_0x416e('0xe4')]:_0x444aea[_0x416e('0xb6')],'direction':_0x444aea[_0x416e('0xe7')]==='out'?'A':'C','secret':_0x444aea[_0x416e('0xd3')],'read':_0x444aea[_0x416e('0x7e')],'attachment':_0x444aea[_0x416e('0xd2')]};})[_0x416e('0x61')]()};return ejs[_0x416e('0xea')](path[_0x416e('0xcb')](config[_0x416e('0xcc')],_0x416e('0xcd'),_0x416e('0xeb'),_0x416e('0xec')),{'interaction':_0x2f74e2})[_0x416e('0x2d')](function(_0x35f066){return new BPromise(function(_0x515c7f,_0x5496d5){pdf[_0x416e('0xb5')](_0x35f066,_0x378cb3)['toFile'](path['join'](_0x73e517,_0x416e('0xed')+_0x244441['id']+'-'+_0x3f323d+_0x416e('0xee')),function(_0x2c5b9c,_0x2bea61){if(_0x2c5b9c)return _0x5496d5(_0x2c5b9c);_0x515c7f(_0x2bea61);});});})[_0x416e('0x2d')](function(){return new BPromise(function(_0x4f6077,_0x2e6c8d){zipdir(_0x73e517,{'saveTo':_0x2d7b6d},function(_0x4e8bf9,_0x32ca5a){if(_0x4e8bf9)return _0x2e6c8d(_0x4e8bf9);return _0x4f6077(_0x32ca5a);});})['then'](function(){return new BPromise(function(_0x1e74f7,_0x444548){rimraf(_0x73e517,function(_0x4e5d4e){if(_0x4e5d4e)_0x444548(_0x4e5d4e);return _0x1e74f7();});});})[_0x416e('0x2d')](function(){return _0x2338c3[_0x416e('0xc9')](_0x2d7b6d,_0x238e5f,function(_0x11eb77){if(_0x11eb77){console[_0x416e('0xef')](_0x416e('0xf0'),_0x11eb77);}else{fs[_0x416e('0xf1')](_0x2d7b6d);}});});});}else{return _0x2338c3[_0x416e('0x1f')](0xc8);}})[_0x416e('0x38')](handleError(_0x2338c3,null));};