45eb3626a1cf7348f0d595e8c58575e89dc0e40b
[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 _0x4226=['basename','existsSync','createReadStream','pipe','createWriteStream','out','System','secret','renderFile','views','downloadInteraction.ejs','transcript-','.pdf','log','err','unlinkSync','rimraf','moment','bluebird','util','path','sox','to-csv','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','register','status','end','offset','undefined','limit','count','json','apply','save','destroy','sendStatus','name','send','Users','map','fullname','TagIds','split','Tags','then','catch','index','WhatsappInteraction','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','sort','where','filters','pick','field','from','tools_tags','select','u.id','u.fullname','ui.WhatsappInteractionId','left_join','users','u.id\x20=\x20ui.UserId','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','length','conditions','find','unreadMessages','having','`\x20=\x200','Contact','$substring','value','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','text','start','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','operator','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','body','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','agent','user','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','Contact.phone','c.fax','Contact.fax','Owner.fullname','o.internal','Owner.internal','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','push','all','include','options','create','update','params','describe','addMessage','ids','omit','getMessages','findOne','WhatsappMessage','format','YYYY-MM-DD\x20HH:mm:ss','findAll','rows','addTags','setTags','spread','color','emit','whatsappInteractionTags:save','removeTags','download','unix','join','root','server','files','tmp','attachments','User','CmContact','firstName','lastName','Attachment','Messages','direction','WhatsappAccount','Owner','get','mkdirSync','Whatsapp','Account','N.A.','closed'];(function(_0x5bff9a,_0x49d4b8){var _0x223cd4=function(_0x55dccb){while(--_0x55dccb){_0x5bff9a['push'](_0x5bff9a['shift']());}};_0x223cd4(++_0x49d4b8);}(_0x4226,0x1dc));var _0x6422=function(_0x278d39,_0x16f999){_0x278d39=_0x278d39-0x0;var _0x49a00d=_0x4226[_0x278d39];return _0x49a00d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6422('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x6422('0x1'));var BPromise=require(_0x6422('0x2'));var Mustache=require('mustache');var util=require(_0x6422('0x3'));var path=require(_0x6422('0x4'));var sox=require(_0x6422('0x5'));var csv=require(_0x6422('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x6422('0x7'));var crypto=require('crypto');var jsforce=require(_0x6422('0x8'));var deskjs=require(_0x6422('0x9'));var toCsv=require('to-csv');var querystring=require(_0x6422('0xa'));var Papa=require(_0x6422('0xb'));var Redis=require('ioredis');var authService=require(_0x6422('0xc'));var qs=require(_0x6422('0xd'));var as=require(_0x6422('0xe'));var pdf=require(_0x6422('0xf'));var hardwareService=require(_0x6422('0x10'));var logger=require(_0x6422('0x11'))(_0x6422('0x12'));var utils=require(_0x6422('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x6422('0x14'));var db=require(_0x6422('0x15'))['db'];config['redis']=_['defaults'](config[_0x6422('0x16')],{'host':_0x6422('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x6422('0x16')]));require('./whatsappInteraction.socket')[_0x6422('0x18')](socket);function respondWithStatusCode(_0x44421e,_0x26c88e){_0x26c88e=_0x26c88e||0xcc;return function(_0x441ad9){if(_0x441ad9){return _0x44421e['sendStatus'](_0x26c88e);}return _0x44421e[_0x6422('0x19')](_0x26c88e)[_0x6422('0x1a')]();};}function respondWithResult(_0x3c294d,_0xaf8fc4){_0xaf8fc4=_0xaf8fc4||0xc8;return function(_0x5a05f5){if(_0x5a05f5){return _0x3c294d[_0x6422('0x19')](_0xaf8fc4)['json'](_0x5a05f5);}};}function respondWithFilteredResult(_0x889629,_0x533c21){return function(_0xc18217){if(_0xc18217){var _0x5394a6=typeof _0x533c21[_0x6422('0x1b')]===_0x6422('0x1c')&&typeof _0x533c21[_0x6422('0x1d')]===_0x6422('0x1c');var _0x4a06f7=_0xc18217['count'];var _0x332108=_0x5394a6?0x0:_0x533c21[_0x6422('0x1b')];var _0x407798=_0x5394a6?_0xc18217[_0x6422('0x1e')]:_0x533c21[_0x6422('0x1b')]+_0x533c21[_0x6422('0x1d')];var _0x1af391;if(_0x407798>=_0x4a06f7){_0x407798=_0x4a06f7;_0x1af391=0xc8;}else{_0x1af391=0xce;}_0x889629[_0x6422('0x19')](_0x1af391);return _0x889629['set']('Content-Range',_0x332108+'-'+_0x407798+'/'+_0x4a06f7)[_0x6422('0x1f')](_0xc18217);}return null;};}function patchUpdates(_0x531199){return function(_0x467dfc){try{jsonpatch[_0x6422('0x20')](_0x467dfc,_0x531199,!![]);}catch(_0xb0e33a){return BPromise['reject'](_0xb0e33a);}return _0x467dfc[_0x6422('0x21')]();};}function saveUpdates(_0x57e2,_0x2cf5c2){return function(_0x423d89){if(_0x423d89){return _0x423d89['update'](_0x57e2)['then'](function(_0xfd0571){return _0xfd0571;});}return null;};}function removeEntity(_0x2ec4a3,_0x13c09b){return function(_0xca8eb2){if(_0xca8eb2){return _0xca8eb2[_0x6422('0x22')]()['then'](function(){_0x2ec4a3[_0x6422('0x19')](0xcc)[_0x6422('0x1a')]();});}};}function handleEntityNotFound(_0x316d97,_0x5efa1e){return function(_0x233dee){if(!_0x233dee){_0x316d97[_0x6422('0x23')](0x194);}return _0x233dee;};}function handleError(_0x464246,_0x551346){_0x551346=_0x551346||0x1f4;return function(_0x21c503){logger['error'](_0x21c503['stack']);if(_0x21c503['name']){delete _0x21c503[_0x6422('0x24')];}_0x464246[_0x6422('0x19')](_0x551346)[_0x6422('0x25')](_0x21c503);};}function getInteractionUsers(_0x5e6aa7,_0x5443fa){return new BPromise(function(_0x20b6d9,_0x153402){try{if(_0x5443fa[_0x5e6aa7['id']]){_0x5e6aa7[_0x6422('0x26')]=_[_0x6422('0x27')](_0x5443fa[_0x5e6aa7['id']],function(_0x55ecae){return{'id':_0x55ecae['id'],'fullname':_0x55ecae[_0x6422('0x28')]};});}}catch(_0x1a1189){_0x153402(_0x1a1189);}_0x20b6d9(_0x5e6aa7);});}function getInteractionTags(_0x1aa79a,_0x3b990e){return new BPromise(function(_0x492438,_0x445d2b){try{if(_0x1aa79a[_0x6422('0x29')]){_0x1aa79a['Tags']=[];_0x1aa79a['TagIds'][_0x6422('0x2a')](',')['forEach'](function(_0x14b164){_0x1aa79a[_0x6422('0x2b')]['push'](_0x3b990e[_0x14b164]);});}delete _0x1aa79a['TagIds'];}catch(_0x262fc9){_0x445d2b(_0x262fc9);}_0x492438(_0x1aa79a);});}function updateWhatsappInteraction(_0x173d27,_0x5d0aa6,_0x3b466e){return new BPromise(function(_0x39a935,_0x46b047){return getInteractionUsers(_0x173d27,_0x3b466e)[_0x6422('0x2c')](function(_0x4cb3c9){return getInteractionTags(_0x4cb3c9,_0x5d0aa6);})[_0x6422('0x2c')](function(_0x565707){_0x39a935(_0x565707);})[_0x6422('0x2d')](function(_0x57011a){_0x46b047(_0x57011a);});});}exports[_0x6422('0x2e')]=function(_0x3c672d,_0x287b8c){var _0x51865b={},_0x40a4e2={},_0x165d85={'count':0x0,'rows':[]};var _0x6ba22f=_[_0x6422('0x27')](db[_0x6422('0x2f')][_0x6422('0x30')],function(_0x32195b){return{'name':_0x32195b[_0x6422('0x31')],'type':_0x32195b[_0x6422('0x32')][_0x6422('0x33')]};});_0x40a4e2[_0x6422('0x34')]=_[_0x6422('0x27')](_0x6ba22f,_0x6422('0x24'));_0x40a4e2[_0x6422('0x35')]=_[_0x6422('0x36')](_0x3c672d[_0x6422('0x35')]);_0x40a4e2['filters']=_[_0x6422('0x37')](_0x40a4e2['model'],_0x40a4e2['query']);_0x51865b[_0x6422('0x38')]=_[_0x6422('0x37')](_0x40a4e2[_0x6422('0x34')],qs[_0x6422('0x39')](_0x3c672d['query'][_0x6422('0x39')]));_0x51865b[_0x6422('0x38')]=_0x51865b[_0x6422('0x38')]['length']?_0x51865b['attributes']:_0x40a4e2['model'];if(!_0x3c672d['query'][_0x6422('0x3a')]('nolimit')){_0x51865b[_0x6422('0x1d')]=qs['limit'](_0x3c672d[_0x6422('0x35')][_0x6422('0x1d')]);_0x51865b[_0x6422('0x1b')]=qs[_0x6422('0x1b')](_0x3c672d[_0x6422('0x35')][_0x6422('0x1b')]);}_0x51865b['order']=qs[_0x6422('0x3b')](_0x3c672d[_0x6422('0x35')][_0x6422('0x3b')]);_0x51865b[_0x6422('0x3c')]=qs[_0x6422('0x3d')](_[_0x6422('0x3e')](_0x3c672d['query'],_0x40a4e2[_0x6422('0x3d')]),_0x6ba22f);var _0x5702a4=[];var _0x574f77=squel['select']()['field']('id')[_0x6422('0x3f')](_0x6422('0x24'))['field']('color')[_0x6422('0x40')](_0x6422('0x41'));var _0x35b9fb=squel[_0x6422('0x42')]()[_0x6422('0x3f')](_0x6422('0x43'))[_0x6422('0x3f')](_0x6422('0x44'))[_0x6422('0x3f')](_0x6422('0x45'))[_0x6422('0x40')]('user_has_whatsapp_interactions','ui')[_0x6422('0x46')](_0x6422('0x47'),'u',_0x6422('0x48'));var _0x3e0959=squel['select']()['from']('whatsapp_interactions','i')[_0x6422('0x46')]('cm_contacts','c',_0x6422('0x49'))[_0x6422('0x46')]('users','o',_0x6422('0x4a'))[_0x6422('0x46')](_0x6422('0x4b'),'a',_0x6422('0x4c'))[_0x6422('0x46')](_0x6422('0x4d'),'me',_0x6422('0x4e'))[_0x6422('0x46')](_0x6422('0x4f'),'it',_0x6422('0x50'))[_0x6422('0x46')](_0x6422('0x41'),'t',_0x6422('0x51'));var _0x4542c8=squel[_0x6422('0x52')]();var _0x2e8282=[];var _0x49dc0f=squel[_0x6422('0x52')]();var _0x9ce980;if(_0x3c672d[_0x6422('0x35')][_0x6422('0x53')]){_0x9ce980=as[_0x6422('0x54')](_0x3c672d[_0x6422('0x35')]['search']);var _0x5e1d2c=_0x9ce980[_0x6422('0x55')];for(var _0x32245a=0x0;_0x32245a<_0x9ce980['conditions'][_0x6422('0x56')];_0x32245a++){var _0x3352d0=_0x9ce980[_0x6422('0x57')][_0x32245a];var _0x536ff1='i';var _0x43c7e0=_[_0x6422('0x58')](_0x6ba22f,[_0x6422('0x24'),_0x3352d0[_0x6422('0x3f')]]);if(!_0x43c7e0){switch(_0x3352d0['field']){case _0x6422('0x59'):if(_0x3352d0['value']==0x1){_0x3e0959[_0x6422('0x5a')]('`'+_0x3352d0[_0x6422('0x3f')]+_0x6422('0x5b'));}else{_0x3e0959[_0x6422('0x5a')]('`'+_0x3352d0[_0x6422('0x3f')]+'`\x20>\x200');}break;case _0x6422('0x5c'):if(_0x3352d0['operator']===_0x6422('0x5d')){if(_0x3352d0[_0x6422('0x5e')][_0x6422('0x2a')]('\x20')[_0x6422('0x56')]>0x1){_0x4542c8[_0x5e1d2c]('MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs[_0x6422('0x5f')](_0x3352d0[_0x6422('0x5e')]),null);}else{var _0x5ae57c='%'+_0x3352d0['value']+'%';_0x4542c8[_0x5e1d2c](_0x6422('0x60'),_0x5ae57c,_0x5ae57c,_0x5ae57c);}}else{_0x43c7e0=_[_0x6422('0x58')](_0x6ba22f,[_0x6422('0x24'),'ContactId']);_0x3352d0[_0x6422('0x3f')]=_0x6422('0x61');_0x317033=as['buildExpression'](_0x536ff1,_0x43c7e0[_0x6422('0x32')],_0x3352d0);_0x4542c8[_0x5e1d2c](_0x317033[_0x6422('0x62')],_0x317033['value'][_0x6422('0x63')],_0x317033[_0x6422('0x5e')][_0x6422('0x1a')]);}break;case _0x6422('0x64'):var _0x202859=_0x3352d0[_0x6422('0x5e')][_0x6422('0x2a')](',')[_0x6422('0x27')](function(_0x16698e){return Number(_0x16698e);});_0x202859[_0x6422('0x65')](function(_0xf2d083){_0x49dc0f['or'](_0x6422('0x66'),'%,'+_0xf2d083+',%');});_0x2e8282=_[_0x6422('0x67')](_0x2e8282,_0x202859);break;case'User':if(_0x3352d0[_0x6422('0x68')]===_0x6422('0x5d')){_0x4542c8[_0x5e1d2c](_0x6422('0x69'),'%'+_0x3352d0['value']+'%',null);}else{_0x43c7e0=_[_0x6422('0x58')](_0x6ba22f,['name','UserId']);_0x3352d0[_0x6422('0x3f')]=_0x6422('0x6a');_0x317033=as[_0x6422('0x6b')](_0x536ff1,_0x43c7e0[_0x6422('0x32')],_0x3352d0);_0x4542c8[_0x5e1d2c](_0x317033[_0x6422('0x62')],_0x317033[_0x6422('0x5e')][_0x6422('0x63')],_0x317033[_0x6422('0x5e')][_0x6422('0x1a')]);}break;case _0x6422('0x6c'):_0x317033=as['buildExpression']('me',null,_0x3352d0);_0x4542c8[_0x5e1d2c](_0x317033[_0x6422('0x62')],_0x317033[_0x6422('0x5e')]['start'],_0x317033['value'][_0x6422('0x1a')]);break;}}else{var _0x317033=as['buildExpression'](_0x536ff1,_0x43c7e0[_0x6422('0x32')],_0x3352d0);_0x4542c8[_0x5e1d2c](_0x317033['text'],_0x317033[_0x6422('0x5e')]['start'],_0x317033[_0x6422('0x5e')][_0x6422('0x1a')]);}}}else{var _0x4808dd=_(_0x3c672d[_0x6422('0x35')])[_0x6422('0x36')]()[_0x6422('0x27')](function(_0x15697c){return _[_0x6422('0x6d')](_0x6ba22f,[_0x6422('0x24'),_0x15697c])?_0x15697c:undefined;})[_0x6422('0x6e')]()['value']();if(!_[_0x6422('0x6f')](_0x4808dd)){_0x4808dd['forEach'](function(_0x47d460){if(_0x47d460===_0x6422('0x70')){_0x3e0959['where'](_0x6422('0x71'),[]['concat'](_0x3c672d[_0x6422('0x35')][_0x47d460]));}else if(_0x47d460===_0x6422('0x72')){var _0x3fb35a=JSON[_0x6422('0x73')](_0x3c672d[_0x6422('0x35')][_0x47d460])[_0x6422('0x74')];var _0x3f3be5=JSON['parse'](_0x3c672d[_0x6422('0x35')][_0x47d460])['$lte'];_0x3e0959['where'](_0x6422('0x75'),_0x3fb35a,_0x3f3be5);}else{if(_0x3c672d[_0x6422('0x35')][_0x47d460]===_0x6422('0x76')){_0x3e0959['where']('i.'+_0x47d460+_0x6422('0x77'));}else{_0x3e0959[_0x6422('0x3c')]('i.'+_0x47d460+_0x6422('0x78'),_0x3c672d['query'][_0x47d460]);}}});}if(_0x3c672d[_0x6422('0x35')][_0x6422('0x79')]){if(_0x3c672d[_0x6422('0x35')][_0x6422('0x79')]==0x1){_0x3e0959['having'](_0x6422('0x7a'));}else{_0x3e0959[_0x6422('0x5a')](_0x6422('0x7b'));}}if(_0x3c672d[_0x6422('0x35')][_0x6422('0x7c')]){_0x2e8282=_[_0x6422('0x7d')](_0x3c672d['query'][_0x6422('0x7c')])?_0x3c672d['query'][_0x6422('0x7c')]:new Array(_0x3c672d['query'][_0x6422('0x7c')]);_0x2e8282['forEach'](function(_0x1fadca){_0x49dc0f['or'](_0x6422('0x66'),'%,'+_0x1fadca+',%');});}if(_0x3c672d[_0x6422('0x35')]['filter']){var _0x3ca9b5=_0x3c672d['query'][_0x6422('0x7e')]['replace']('\x5c','\x5c\x5c')[_0x6422('0x7f')](/'/g,'\x27\x27');if(qs[_0x6422('0x80')](_0x3ca9b5)){_0x4542c8['or'](_0x6422('0x81'),_0x3ca9b5+'%')['or'](_0x6422('0x82'),_0x3ca9b5+'%');}else{_0x4542c8['or'](_0x6422('0x83'),qs['getFullTextValue'](_0x3ca9b5))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x3ca9b5+'%');}}}_0x3e0959[_0x6422('0x3c')](_0x4542c8);_0x3e0959['group'](_0x6422('0x84'));var _0x50f696={'type':db[_0x6422('0x85')]['QueryTypes'][_0x6422('0x86')],'raw':!![]};var _0x486e6c=_0x3e0959[_0x6422('0x87')]();_0x486e6c[_0x6422('0x3f')]('i.id');_0x486e6c['field'](_0x6422('0x88'),_0x6422('0x59'));if(_0x51865b[_0x6422('0x89')]){_0x51865b[_0x6422('0x89')]['forEach'](function(_0xaf5658){var _0x366e93=_0xaf5658[0x0]===_0x6422('0x8a')?_0xaf5658[0x0]:'i.'+_0xaf5658[0x0];_0x3e0959[_0x6422('0x89')](_0x366e93,_0xaf5658[0x1]==='DESC'?![]:!![]);});}if(!_[_0x6422('0x6f')](_0x2e8282)){_0x3e0959[_0x6422('0x5a')](_0x49dc0f);_0x486e6c['where']('t.id\x20IN\x20?',_0x2e8282);}BPromise[_0x6422('0x8b')]()[_0x6422('0x2c')](function(){if(!_0x9ce980){if(_0x3c672d[_0x6422('0x35')][_0x6422('0x70')])return;_0x486e6c['where'](_0x6422('0x8c'));_0x3e0959['where']('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0x3c672d['user'][_0x6422('0x8d')]!==_0x6422('0x8e'))return;return _0x3c672d[_0x6422('0x8f')]['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})[_0x6422('0x2c')](function(_0x33c62b){if(_['isEmpty'](_0x33c62b)){_0x486e6c[_0x6422('0x3c')](_0x6422('0x90'));_0x3e0959[_0x6422('0x3c')](_0x6422('0x90'));}else{_0x486e6c['where'](_0x6422('0x71'),_['map'](_0x33c62b,'id'));_0x3e0959['where'](_0x6422('0x71'),_[_0x6422('0x27')](_0x33c62b,'id'));}});})[_0x6422('0x2c')](function(){if(_0x3c672d[_0x6422('0x8f')]['role']===_0x6422('0x8e')&&!_0x9ce980&&!_0x3c672d[_0x6422('0x35')][_0x6422('0x70')])return[];return db[_0x6422('0x91')][_0x6422('0x35')](_0x486e6c[_0x6422('0x92')](),_0x50f696);})[_0x6422('0x2c')](function(_0x5a95b2){_0x165d85[_0x6422('0x1e')]=_0x5a95b2[_0x6422('0x56')];if(_0x165d85[_0x6422('0x1e')]===0x0)return[];return db['sequelize'][_0x6422('0x35')](_0x574f77[_0x6422('0x92')](),_0x50f696)[_0x6422('0x2c')](function(_0xb130c4){_0x5702a4=_[_0x6422('0x93')](_0xb130c4,'id');_0x50f696=_[_0x6422('0x94')](_0x50f696,{'model':db[_0x6422('0x2f')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x3c672d[_0x6422('0x35')][_0x6422('0x39')]){_0x51865b[_0x6422('0x38')][_0x6422('0x65')](function(_0x342091){_0x3e0959[_0x6422('0x3f')]('i.'+_0x342091);});}else{_0x3e0959[_0x6422('0x3f')](_0x6422('0x88'),_0x6422('0x59'));_0x3e0959[_0x6422('0x3f')](_0x6422('0x95'),'Account.key');_0x3e0959[_0x6422('0x3f')](_0x6422('0x96'),_0x6422('0x97'));_0x3e0959['field']('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',_0x6422('0x8a'));_0x3e0959[_0x6422('0x3f')]('i.*');_0x3e0959['field'](_0x6422('0x98'),_0x6422('0x99'));_0x3e0959[_0x6422('0x3f')](_0x6422('0x9a'),_0x6422('0x9b'));_0x3e0959[_0x6422('0x3f')]('c.email',_0x6422('0x9c'));_0x3e0959[_0x6422('0x3f')]('c.phone',_0x6422('0x9d'));_0x3e0959[_0x6422('0x3f')]('c.mobile','Contact.mobile');_0x3e0959[_0x6422('0x3f')](_0x6422('0x9e'),_0x6422('0x9f'));_0x3e0959[_0x6422('0x3f')]('o.fullname',_0x6422('0xa0'));_0x3e0959[_0x6422('0x3f')](_0x6422('0xa1'),_0x6422('0xa2'));_0x3e0959[_0x6422('0x3f')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x6422('0x29'));}if(_0x51865b['limit'])_0x3e0959[_0x6422('0x1d')](_0x51865b[_0x6422('0x1d')]);if(_0x51865b['offset'])_0x3e0959['offset'](_0x51865b[_0x6422('0x1b')]);return db[_0x6422('0x91')][_0x6422('0x35')](_0x3e0959[_0x6422('0x92')](),_0x50f696);})[_0x6422('0x2c')](function(_0x5b8b7a){if(_0x5b8b7a[_0x6422('0x56')]>0x0)_0x35b9fb[_0x6422('0x3c')](_0x6422('0xa3'),_[_0x6422('0x27')](_0x5b8b7a,'id'));return db['sequelize'][_0x6422('0x35')](_0x35b9fb['toString'](),_0x50f696)[_0x6422('0x2c')](function(_0x23de7f){var _0x2346d0=_[_0x6422('0xa4')](_0x23de7f,_0x6422('0xa5'));var _0x24a0af=[];_0x5b8b7a[_0x6422('0x65')](function(_0xa0421c){_0x24a0af[_0x6422('0xa6')](updateWhatsappInteraction(_0xa0421c,_0x5702a4,_0x2346d0));});return BPromise[_0x6422('0xa7')](_0x24a0af);});});})[_0x6422('0x2c')](function(_0x34746c){_0x165d85['rows']=_0x34746c;return _0x165d85;})[_0x6422('0x2c')](respondWithFilteredResult(_0x287b8c,_0x51865b))[_0x6422('0x2d')](handleError(_0x287b8c,null));};exports['show']=function(_0x400b19,_0x2113ac){var _0x349f76={'raw':![],'where':{'id':_0x400b19['params']['id']}},_0x3b9722={};_0x3b9722[_0x6422('0x34')]=_[_0x6422('0x36')](db[_0x6422('0x2f')]['rawAttributes']);_0x3b9722['query']=_[_0x6422('0x36')](_0x400b19[_0x6422('0x35')]);_0x3b9722[_0x6422('0x3d')]=_[_0x6422('0x37')](_0x3b9722['model'],_0x3b9722['query']);_0x349f76[_0x6422('0x38')]=_[_0x6422('0x37')](_0x3b9722[_0x6422('0x34')],qs['fields'](_0x400b19[_0x6422('0x35')][_0x6422('0x39')]));_0x349f76[_0x6422('0x38')]=_0x349f76[_0x6422('0x38')][_0x6422('0x56')]?_0x349f76[_0x6422('0x38')]:_0x3b9722[_0x6422('0x34')];if(_0x400b19['query']['includeAll']){_0x349f76[_0x6422('0xa8')]=[{'all':!![]}];}_0x349f76=_[_0x6422('0x94')]({},_0x349f76,_0x400b19[_0x6422('0xa9')]);return db['WhatsappInteraction']['find'](_0x349f76)[_0x6422('0x2c')](handleEntityNotFound(_0x2113ac,null))['then'](respondWithResult(_0x2113ac,null))[_0x6422('0x2d')](handleError(_0x2113ac,null));};exports[_0x6422('0xaa')]=function(_0x3dc3d2,_0x52f774){return db[_0x6422('0x2f')][_0x6422('0xaa')](_0x3dc3d2[_0x6422('0x6c')],{})[_0x6422('0x2c')](respondWithResult(_0x52f774,0xc9))['catch'](handleError(_0x52f774,null));};exports[_0x6422('0xab')]=function(_0x1ec071,_0x21517e){if(_0x1ec071[_0x6422('0x6c')]['id']){delete _0x1ec071[_0x6422('0x6c')]['id'];}return db[_0x6422('0x2f')]['find']({'where':{'id':_0x1ec071['params']['id']}})[_0x6422('0x2c')](handleEntityNotFound(_0x21517e,null))['then'](saveUpdates(_0x1ec071[_0x6422('0x6c')],null))['then'](respondWithResult(_0x21517e,null))[_0x6422('0x2d')](handleError(_0x21517e,null));};exports['destroy']=function(_0x10a799,_0x9390a2){return db[_0x6422('0x2f')][_0x6422('0x58')]({'where':{'id':_0x10a799[_0x6422('0xac')]['id']}})[_0x6422('0x2c')](handleEntityNotFound(_0x9390a2,null))[_0x6422('0x2c')](removeEntity(_0x9390a2,null))[_0x6422('0x2d')](handleError(_0x9390a2,null));};exports[_0x6422('0xad')]=function(_0x3e2b7b,_0x467052){return db[_0x6422('0x2f')][_0x6422('0xad')]()[_0x6422('0x2c')](respondWithResult(_0x467052,null))[_0x6422('0x2d')](handleError(_0x467052,null));};exports[_0x6422('0xae')]=function(_0x23774f,_0x18d8e,_0x1bb927){return db['WhatsappMessage'][_0x6422('0x58')]({'where':{'id':_0x23774f[_0x6422('0xac')]['id']}})[_0x6422('0x2c')](handleEntityNotFound(_0x18d8e,null))[_0x6422('0x2c')](function(_0x42cab1){if(_0x42cab1){return _0x42cab1[_0x6422('0xae')](_0x23774f[_0x6422('0x6c')][_0x6422('0xaf')],_[_0x6422('0xb0')](_0x23774f['body'],[_0x6422('0xaf'),'id'])||{});}})[_0x6422('0x2c')](respondWithResult(_0x18d8e,null))[_0x6422('0x2d')](handleError(_0x18d8e,null));};exports[_0x6422('0xb1')]=function(_0x2a3d69,_0x3206e3,_0x102123){var _0x203331={'raw':![],'where':{}};var _0x5c64fe={};var _0x4f2af2={'count':0x0,'rows':[]};return db[_0x6422('0x2f')][_0x6422('0xb2')]({'where':{'id':_0x2a3d69['params']['id']}})['then'](handleEntityNotFound(_0x3206e3,null))[_0x6422('0x2c')](function(_0x54e6d3){if(_0x54e6d3){_0x5c64fe[_0x6422('0x34')]=_[_0x6422('0x36')](db[_0x6422('0xb3')][_0x6422('0x30')]);_0x5c64fe[_0x6422('0x35')]=_[_0x6422('0x36')](_0x2a3d69['query']);_0x5c64fe[_0x6422('0x3d')]=_[_0x6422('0x37')](_0x5c64fe['model'],_0x5c64fe['query']);_0x203331[_0x6422('0x38')]=_[_0x6422('0x37')](_0x5c64fe[_0x6422('0x34')],qs['fields'](_0x2a3d69[_0x6422('0x35')][_0x6422('0x39')]));_0x203331[_0x6422('0x38')]=_0x203331[_0x6422('0x38')]['length']?_0x203331[_0x6422('0x38')]:_0x5c64fe[_0x6422('0x34')];if(!_0x2a3d69[_0x6422('0x35')]['hasOwnProperty']('nolimit')){_0x203331[_0x6422('0x1d')]=qs[_0x6422('0x1d')](_0x2a3d69[_0x6422('0x35')][_0x6422('0x1d')]);_0x203331['offset']=qs[_0x6422('0x1b')](_0x2a3d69[_0x6422('0x35')][_0x6422('0x1b')]);}_0x203331[_0x6422('0x89')]=qs[_0x6422('0x3b')](_0x2a3d69[_0x6422('0x35')][_0x6422('0x3b')]);_0x203331[_0x6422('0x3c')]=qs[_0x6422('0x3d')](_[_0x6422('0x3e')](_0x2a3d69[_0x6422('0x35')],_0x5c64fe[_0x6422('0x3d')]));_0x203331[_0x6422('0x3c')][_0x6422('0xa5')]=_0x54e6d3['id'];if(_0x2a3d69[_0x6422('0x35')]['filter']){_0x203331[_0x6422('0x3c')]=_[_0x6422('0x94')](_0x203331[_0x6422('0x3c')],{'$or':_[_0x6422('0x27')](_0x203331[_0x6422('0x38')],function(_0x2df856){var _0x571f9b={};_0x571f9b[_0x2df856]={'$like':'%'+_0x2a3d69[_0x6422('0x35')]['filter']+'%'};return _0x571f9b;})});}if(_0x2a3d69['query'][_0x6422('0x74')]){var _0x4f62a2=_0x2a3d69['query'][_0x6422('0x74')]['split'](',');var _0x3558ef={};_0x3558ef[_0x4f62a2[0x0]]={'$gte':moment(_0x4f62a2[0x1])[_0x6422('0xb4')](_0x6422('0xb5'))};_0x203331[_0x6422('0x3c')]=_[_0x6422('0x94')](_0x203331['where'],_0x3558ef);}_0x203331=_[_0x6422('0x94')]({},_0x203331,_0x2a3d69[_0x6422('0xa9')]);return db[_0x6422('0xb3')][_0x6422('0x1e')]({'where':_0x203331[_0x6422('0x3c')]})[_0x6422('0x2c')](function(_0x3f2446){_0x4f2af2[_0x6422('0x1e')]=_0x3f2446;if(_0x2a3d69[_0x6422('0x35')]['includeAll']){_0x203331[_0x6422('0xa8')]=[{'all':!![]}];}return db['WhatsappMessage'][_0x6422('0xb6')](_0x203331);})['then'](function(_0x47a206){_0x4f2af2[_0x6422('0xb7')]=_0x47a206;return _0x4f2af2;});}})[_0x6422('0x2c')](respondWithFilteredResult(_0x3206e3,_0x203331))[_0x6422('0x2d')](handleError(_0x3206e3,null));};exports[_0x6422('0xb8')]=function(_0x4f528f,_0x1b24a0,_0x18cdc6){return db[_0x6422('0x2f')][_0x6422('0x58')]({'where':{'id':_0x4f528f[_0x6422('0xac')]['id']}})[_0x6422('0x2c')](handleEntityNotFound(_0x1b24a0,null))[_0x6422('0x2c')](function(_0x1320e1){if(_0x1320e1){return _0x1320e1[_0x6422('0xb9')](_0x4f528f[_0x6422('0x6c')]['ids'],_[_0x6422('0xb0')](_0x4f528f['body'],[_0x6422('0xaf'),'id'])||{})[_0x6422('0xba')](function(){return db[_0x6422('0x64')][_0x6422('0xb6')]({'attributes':['id',_0x6422('0x24'),_0x6422('0xbb')],'where':{'id':_0x4f528f[_0x6422('0x6c')]['ids']}});})[_0x6422('0x2c')](function(_0x13e974){socket[_0x6422('0xbc')](_0x6422('0xbd'),{'id':Number(_0x4f528f[_0x6422('0xac')]['id']),'tags':_0x13e974||[]});return{'id':Number(_0x4f528f[_0x6422('0xac')]['id']),'tags':_0x13e974||[]};});}})[_0x6422('0x2c')](respondWithResult(_0x1b24a0,null))[_0x6422('0x2d')](handleError(_0x1b24a0,null));};exports[_0x6422('0xbe')]=function(_0x5891fa,_0x295cec,_0x2e269b){return db['WhatsappInteraction'][_0x6422('0x58')]({'where':{'id':_0x5891fa[_0x6422('0xac')]['id']}})['then'](handleEntityNotFound(_0x295cec,null))[_0x6422('0x2c')](function(_0x5901d2){if(_0x5901d2){return _0x5901d2[_0x6422('0xbe')](_0x5891fa[_0x6422('0x35')][_0x6422('0xaf')]);}})['then'](respondWithStatusCode(_0x295cec,null))[_0x6422('0x2d')](handleError(_0x295cec,null));};exports[_0x6422('0xbf')]=function(_0x3785f4,_0x336577){var _0x22f9ae=moment()[_0x6422('0xc0')]()['toString']();var _0x1f3f42=path[_0x6422('0xc1')](config[_0x6422('0xc2')],_0x6422('0xc3'),_0x6422('0xc4'),_0x6422('0xc5'));var _0x2d04cb=path['join'](config[_0x6422('0xc2')],_0x6422('0xc3'),_0x6422('0xc4'),_0x6422('0xc6'));var _0x584a28=path[_0x6422('0xc1')](_0x1f3f42,_0x22f9ae);var _0x5b3bb6=util[_0x6422('0xb4')]('transcript-%d-%s.zip',_0x3785f4[_0x6422('0xac')]['id'],_0x22f9ae);var _0xea5bed=path[_0x6422('0xc1')](_0x1f3f42,_0x5b3bb6);var _0x4431f2=[];_0x4431f2[_0x6422('0xa6')]({'model':db[_0x6422('0xc7')],'as':'User','attributes':['id','fullname'],'raw':!![]});_0x4431f2[_0x6422('0xa6')]({'model':db[_0x6422('0xc8')],'as':_0x6422('0x5c'),'attributes':['id',_0x6422('0xc9'),_0x6422('0xca')],'raw':!![]});if(_0x3785f4[_0x6422('0x35')][_0x6422('0xc6')]){_0x4431f2[_0x6422('0xa6')]({'model':db[_0x6422('0xcb')],'as':_0x6422('0xcb'),'raw':!![]});}var _0x2d7d3a=[{'model':db[_0x6422('0xb3')],'as':_0x6422('0xcc'),'attributes':['id','body',_0x6422('0x72'),_0x6422('0xcd'),'secret',_0x6422('0x79')],'include':_0x4431f2}];_0x2d7d3a[_0x6422('0xa6')]({'model':db[_0x6422('0xce')],'as':'Account','attributes':['id',_0x6422('0x24')]});_0x2d7d3a['push']({'model':db[_0x6422('0xc7')],'as':_0x6422('0xcf'),'attributes':['id',_0x6422('0x28')]});return db[_0x6422('0x2f')][_0x6422('0x58')]({'where':{'id':_0x3785f4[_0x6422('0xac')]['id']},'include':_0x2d7d3a})['then'](handleEntityNotFound(_0x336577,null))[_0x6422('0x2c')](function(_0x47c783){if(_0x47c783){var _0x58c42a=_0x47c783[_0x6422('0xd0')]({'plain':!![]});fs[_0x6422('0xd1')](_0x584a28);var _0xa24af5={'channel':_0x6422('0xd2'),'account':_0x58c42a[_0x6422('0xd3')][_0x6422('0x24')],'agent':_0x58c42a['Owner']?_0x58c42a[_0x6422('0xcf')][_0x6422('0x28')]:_0x6422('0xd4'),'createdAt':moment(_0x58c42a[_0x6422('0x72')])[_0x6422('0xb4')](_0x6422('0xb5'))['toString'](),'closedAt':_0x58c42a[_0x6422('0xd5')]?moment(_0x58c42a['closedAt'])[_0x6422('0xb4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x6422('0x92')]():'','disposition':_0x58c42a['disposition'],'messages':_(_0x58c42a[_0x6422('0xcc')])[_0x6422('0x7e')]({'secret':![]})[_0x6422('0x27')](function(_0x200ac5){if(_0x200ac5[_0x6422('0xcb')]){var _0x49d675=path[_0x6422('0xc1')](_0x2d04cb,_0x200ac5['Attachment'][_0x6422('0xd6')]);if(fs[_0x6422('0xd7')](_0x49d675)){fs[_0x6422('0xd8')](_0x49d675)[_0x6422('0xd9')](fs[_0x6422('0xda')](path[_0x6422('0xc1')](_0x584a28,_0x200ac5[_0x6422('0xcb')][_0x6422('0xd6')])));}}return{'date':moment(_0x200ac5[_0x6422('0x72')])[_0x6422('0xb4')]('YYYY-MM-DD\x20HH:mm:ss')[_0x6422('0x92')](),'sender':_0x200ac5[_0x6422('0xcd')]===_0x6422('0xdb')?_0x200ac5[_0x6422('0xc7')]?_0x200ac5[_0x6422('0xc7')]['fullname']:_0x6422('0xdc'):_0x200ac5[_0x6422('0x5c')][_0x6422('0xc9')]+(_0x200ac5[_0x6422('0x5c')]['lastName']?'\x20'+_0x200ac5[_0x6422('0x5c')][_0x6422('0xca')]:''),'body':_0x200ac5[_0x6422('0xcb')]?_0x200ac5[_0x6422('0xcb')][_0x6422('0xd6')]:_0x200ac5[_0x6422('0x6c')],'direction':_0x200ac5[_0x6422('0xcd')]===_0x6422('0xdb')?'A':'C','secret':_0x200ac5[_0x6422('0xdd')],'read':_0x200ac5[_0x6422('0x79')],'attachment':_0x200ac5['Attachment']};})[_0x6422('0x5e')]()};return ejs[_0x6422('0xde')](path[_0x6422('0xc1')](config[_0x6422('0xc2')],_0x6422('0xc3'),_0x6422('0xdf'),_0x6422('0xe0')),{'interaction':_0xa24af5})[_0x6422('0x2c')](function(_0x5d7fa6){var _0x27c32f=path[_0x6422('0xc1')](_0x584a28,_0x6422('0xe1')+_0x58c42a['id']+'-'+_0x22f9ae+_0x6422('0xe2'));var _0x5792b7={'path':_0x27c32f,'channel':_0x6422('0xd2'),'interactionId':_0x58c42a['id']};return pdf['createPdfFromHTML'](_0x5d7fa6,_0x5792b7);})[_0x6422('0x2c')](function(){return new BPromise(function(_0x4911a6,_0x18d3dc){zipdir(_0x584a28,{'saveTo':_0xea5bed},function(_0x1d82c8,_0x4c60db){if(_0x1d82c8)return _0x18d3dc(_0x1d82c8);return _0x4911a6(_0x4c60db);});})[_0x6422('0x2c')](function(){return new BPromise(function(_0xec839c,_0x3fa490){rimraf(_0x584a28,function(_0x1d7ac0){if(_0x1d7ac0)_0x3fa490(_0x1d7ac0);return _0xec839c();});});})['then'](function(){return _0x336577['download'](_0xea5bed,_0x5b3bb6,function(_0x2fec53){if(_0x2fec53){console[_0x6422('0xe3')](_0x6422('0xe4'),_0x2fec53);}else{fs[_0x6422('0xe5')](_0xea5bed);}});});});}else{return _0x336577[_0x6422('0x23')](0xc8);}})['catch'](handleError(_0x336577,null));};