Built motion from commit 497d3d92.|2.5.43
[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 _0xe056=['../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status','offset','undefined','count','limit','Content-Range','apply','save','update','then','destroy','end','name','send','map','TagIds','Tags','forEach','catch','answered','total','closed','UserId','waiting','talking','unmanaged','WhatsappInteraction','rawAttributes','fieldName','key','keys','intersection','model','query','attributes','length','hasOwnProperty','order','sort','where','filters','pick','select','field','color','u.id','u.fullname','ui.WhatsappInteractionId','from','user_has_whatsapp_interactions','left_join','users','whatsapp_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','me.WhatsappInteractionId\x20=\x20i.id','it.WhatsappInteractionId\x20=\x20i.id','tools_tags','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','Contact','operator','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','type','text','start','Tag','split','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','buildExpression','body','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$gte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','DESC','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','merge','fields','a.key','Account.key','a.mandatoryDisposition','Account.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','contactName','i.*','Contact.firstName','c.lastName','Contact.lastName','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','push','rows','show','params','includeAll','options','create','describe','addMessage','omit','ids','getMessages','findOne','WhatsappMessage','nolimit','WhatsappInteractionId','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','spread','emit','whatsappInteractionTags:save','removeTags','download','unix','root','server','tmp','join','files','attachments','format','transcript-%d-%s.zip','fullname','CmContact','Messages','direction','secret','Owner','get','mkdirSync','Whatsapp','Account','N.A.','closedAt','Attachment','basename','existsSync','createReadStream','pipe','createWriteStream','out','System','firstName','lastName','renderFile','views','transcript-','.pdf','createPdfFromHTML','log','zip-dir','fast-json-patch','request-promise','bluebird','util','path','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x128565,_0x400ab0){var _0x22a56d=function(_0x2cb117){while(--_0x2cb117){_0x128565['push'](_0x128565['shift']());}};_0x22a56d(++_0x400ab0);}(_0xe056,0xdb));var _0x6e05=function(_0x4d180c,_0x45c68e){_0x4d180c=_0x4d180c-0x0;var _0x49b57e=_0xe056[_0x4d180c];return _0x49b57e;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6e05('0x0'));var jsonpatch=require(_0x6e05('0x1'));var rp=require(_0x6e05('0x2'));var moment=require('moment');var BPromise=require(_0x6e05('0x3'));var Mustache=require('mustache');var util=require(_0x6e05('0x4'));var path=require(_0x6e05('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6e05('0x6'));var _=require(_0x6e05('0x7'));var squel=require(_0x6e05('0x8'));var crypto=require('crypto');var jsforce=require(_0x6e05('0x9'));var deskjs=require(_0x6e05('0xa'));var toCsv=require(_0x6e05('0xb'));var querystring=require(_0x6e05('0xc'));var Papa=require(_0x6e05('0xd'));var Redis=require('ioredis');var authService=require(_0x6e05('0xe'));var qs=require(_0x6e05('0xf'));var as=require(_0x6e05('0x10'));var pdf=require(_0x6e05('0x11'));var hardwareService=require(_0x6e05('0x12'));var logger=require(_0x6e05('0x13'))('api');var utils=require(_0x6e05('0x14'));var config=require(_0x6e05('0x15'));var licenseUtil=require(_0x6e05('0x16'));var db=require('../../mysqldb')['db'];config[_0x6e05('0x17')]=_[_0x6e05('0x18')](config[_0x6e05('0x17')],{'host':_0x6e05('0x19'),'port':0x18eb});var socket=require(_0x6e05('0x1a'))(new Redis(config['redis']));require(_0x6e05('0x1b'))[_0x6e05('0x1c')](socket);function respondWithStatusCode(_0x560a84,_0x5459a6){_0x5459a6=_0x5459a6||0xcc;return function(_0x37b270){if(_0x37b270){return _0x560a84[_0x6e05('0x1d')](_0x5459a6);}return _0x560a84[_0x6e05('0x1e')](_0x5459a6)['end']();};}function respondWithResult(_0x128186,_0x5e9a38){_0x5e9a38=_0x5e9a38||0xc8;return function(_0x3c3ef0){if(_0x3c3ef0){return _0x128186[_0x6e05('0x1e')](_0x5e9a38)['json'](_0x3c3ef0);}};}function respondWithFilteredResult(_0x550da7,_0x9d1e04){return function(_0x1aa378){if(_0x1aa378){var _0x4418c6=typeof _0x9d1e04[_0x6e05('0x1f')]===_0x6e05('0x20')&&typeof _0x9d1e04['limit']===_0x6e05('0x20');var _0x4b60ff=_0x1aa378['count'];var _0x13b18c=_0x4418c6?0x0:_0x9d1e04[_0x6e05('0x1f')];var _0xe49265=_0x4418c6?_0x1aa378[_0x6e05('0x21')]:_0x9d1e04[_0x6e05('0x1f')]+_0x9d1e04[_0x6e05('0x22')];var _0x247cf6;if(_0xe49265>=_0x4b60ff){_0xe49265=_0x4b60ff;_0x247cf6=0xc8;}else{_0x247cf6=0xce;}_0x550da7[_0x6e05('0x1e')](_0x247cf6);return _0x550da7['set'](_0x6e05('0x23'),_0x13b18c+'-'+_0xe49265+'/'+_0x4b60ff)['json'](_0x1aa378);}return null;};}function patchUpdates(_0x1001ae){return function(_0xf8938e){try{jsonpatch[_0x6e05('0x24')](_0xf8938e,_0x1001ae,!![]);}catch(_0x5988b5){return BPromise['reject'](_0x5988b5);}return _0xf8938e[_0x6e05('0x25')]();};}function saveUpdates(_0x5d80cd,_0xd37372){return function(_0x63172e){if(_0x63172e){return _0x63172e[_0x6e05('0x26')](_0x5d80cd)[_0x6e05('0x27')](function(_0x3a268b){return _0x3a268b;});}return null;};}function removeEntity(_0x19f3a6,_0x46ce2e){return function(_0x5d7701){if(_0x5d7701){return _0x5d7701[_0x6e05('0x28')]()[_0x6e05('0x27')](function(){_0x19f3a6['status'](0xcc)[_0x6e05('0x29')]();});}};}function handleEntityNotFound(_0x2dfdcc,_0x578270){return function(_0x499959){if(!_0x499959){_0x2dfdcc[_0x6e05('0x1d')](0x194);}return _0x499959;};}function handleError(_0x53c447,_0x2d421f){_0x2d421f=_0x2d421f||0x1f4;return function(_0x3c2504){logger['error'](_0x3c2504['stack']);if(_0x3c2504[_0x6e05('0x2a')]){delete _0x3c2504[_0x6e05('0x2a')];}_0x53c447[_0x6e05('0x1e')](_0x2d421f)[_0x6e05('0x2b')](_0x3c2504);};}function getInteractionUsers(_0x5c38f1,_0x2bc108){return new BPromise(function(_0x2791ee,_0x8fa8b1){try{if(_0x2bc108[_0x5c38f1['id']]){_0x5c38f1['Users']=_[_0x6e05('0x2c')](_0x2bc108[_0x5c38f1['id']],function(_0x584142){return{'id':_0x584142['id'],'fullname':_0x584142['fullname']};});}}catch(_0x54065e){_0x8fa8b1(_0x54065e);}_0x2791ee(_0x5c38f1);});}function getInteractionTags(_0x3a6f85,_0xaeabea){return new BPromise(function(_0x321664,_0x832d7e){try{if(_0x3a6f85[_0x6e05('0x2d')]){_0x3a6f85[_0x6e05('0x2e')]=[];_0x3a6f85[_0x6e05('0x2d')]['split'](',')[_0x6e05('0x2f')](function(_0x4a1ed5){_0x3a6f85[_0x6e05('0x2e')]['push'](_0xaeabea[_0x4a1ed5]);});}delete _0x3a6f85[_0x6e05('0x2d')];}catch(_0x5989b9){_0x832d7e(_0x5989b9);}_0x321664(_0x3a6f85);});}function updateWhatsappInteraction(_0xeaeade,_0x5878b8,_0x2578a5){return new BPromise(function(_0x57e879,_0x335869){return getInteractionUsers(_0xeaeade,_0x2578a5)[_0x6e05('0x27')](function(_0x1cb3d7){return getInteractionTags(_0x1cb3d7,_0x5878b8);})[_0x6e05('0x27')](function(_0x3f03f8){return getStateInteraction(_0x3f03f8);})[_0x6e05('0x27')](function(_0x5d13f2){_0x57e879(_0x5d13f2);})[_0x6e05('0x30')](function(_0x122ca4){_0x335869(_0x122ca4);});});}function getStateInteraction(_0x904013){return new BPromise(function(_0x242760){_0x904013['waiting']=0x0;_0x904013['talking']=0x0;_0x904013[_0x6e05('0x31')]=0x0;_0x904013['unmanaged']=0x0;_0x904013[_0x6e05('0x32')]=0x0;if(!_0x904013[_0x6e05('0x33')]&&!_0x904013[_0x6e05('0x34')]){_0x904013[_0x6e05('0x35')]+=0x1;}if(!_0x904013['closed']&&_0x904013[_0x6e05('0x34')]){_0x904013['talking']+=0x1;if(_0x904013['waiting']){_0x904013[_0x6e05('0x35')]-=0x1;}}if(_0x904013['closed']&&_0x904013[_0x6e05('0x34')]){_0x904013[_0x6e05('0x31')]+=0x1;if(_0x904013[_0x6e05('0x36')]){_0x904013[_0x6e05('0x36')]-=0x1;}}if(_0x904013[_0x6e05('0x33')]&&!_0x904013['UserId']){_0x904013[_0x6e05('0x37')]+=0x1;if(_0x904013['waiting']){_0x904013[_0x6e05('0x35')]-=0x1;}}_0x904013[_0x6e05('0x32')]+=0x1;_0x242760(_0x904013);});}exports['index']=function(_0xc411da,_0x65b855){var _0x346713={},_0x2498b7={},_0x549f62={'count':0x0,'rows':[]};var _0x5c9cdd=_[_0x6e05('0x2c')](db[_0x6e05('0x38')][_0x6e05('0x39')],function(_0x2a4b2f){return{'name':_0x2a4b2f[_0x6e05('0x3a')],'type':_0x2a4b2f['type'][_0x6e05('0x3b')]};});_0x2498b7['model']=_['map'](_0x5c9cdd,'name');_0x2498b7['query']=_[_0x6e05('0x3c')](_0xc411da['query']);_0x2498b7['filters']=_[_0x6e05('0x3d')](_0x2498b7[_0x6e05('0x3e')],_0x2498b7[_0x6e05('0x3f')]);_0x346713[_0x6e05('0x40')]=_['intersection'](_0x2498b7[_0x6e05('0x3e')],qs['fields'](_0xc411da[_0x6e05('0x3f')]['fields']));_0x346713[_0x6e05('0x40')]=_0x346713['attributes'][_0x6e05('0x41')]?_0x346713['attributes']:_0x2498b7[_0x6e05('0x3e')];if(!_0xc411da[_0x6e05('0x3f')][_0x6e05('0x42')]('nolimit')){_0x346713['limit']=qs[_0x6e05('0x22')](_0xc411da[_0x6e05('0x3f')]['limit']);_0x346713[_0x6e05('0x1f')]=qs[_0x6e05('0x1f')](_0xc411da[_0x6e05('0x3f')][_0x6e05('0x1f')]);}_0x346713[_0x6e05('0x43')]=qs[_0x6e05('0x44')](_0xc411da[_0x6e05('0x3f')][_0x6e05('0x44')]);_0x346713[_0x6e05('0x45')]=qs[_0x6e05('0x46')](_[_0x6e05('0x47')](_0xc411da[_0x6e05('0x3f')],_0x2498b7[_0x6e05('0x46')]),_0x5c9cdd);var _0x3dc9d9=[];var _0x30f81c=squel[_0x6e05('0x48')]()['field']('id')[_0x6e05('0x49')](_0x6e05('0x2a'))[_0x6e05('0x49')](_0x6e05('0x4a'))['from']('tools_tags');var _0x16ca12=squel['select']()[_0x6e05('0x49')](_0x6e05('0x4b'))[_0x6e05('0x49')](_0x6e05('0x4c'))['field'](_0x6e05('0x4d'))[_0x6e05('0x4e')](_0x6e05('0x4f'),'ui')[_0x6e05('0x50')](_0x6e05('0x51'),'u','u.id\x20=\x20ui.UserId');var _0x439115=squel[_0x6e05('0x48')]()['from'](_0x6e05('0x52'),'i')[_0x6e05('0x50')](_0x6e05('0x53'),'c',_0x6e05('0x54'))[_0x6e05('0x50')]('users','o',_0x6e05('0x55'))[_0x6e05('0x50')](_0x6e05('0x56'),'a',_0x6e05('0x57'))[_0x6e05('0x50')]('whatsapp_messages','me',_0x6e05('0x58'))[_0x6e05('0x50')]('whatsapp_interaction_has_tags','it',_0x6e05('0x59'))[_0x6e05('0x50')](_0x6e05('0x5a'),'t','t.id\x20=\x20it.TagId');var _0x3f9e1f=squel[_0x6e05('0x5b')]();var _0x31cc2c=[];var _0x46a760=squel[_0x6e05('0x5b')]();var _0x50c0de;if(_0xc411da['query'][_0x6e05('0x5c')]){_0x50c0de=as[_0x6e05('0x5d')](_0xc411da['query'][_0x6e05('0x5c')]);var _0x5df3ad=_0x50c0de[_0x6e05('0x5e')];for(var _0x5d1699=0x0;_0x5d1699<_0x50c0de[_0x6e05('0x5f')][_0x6e05('0x41')];_0x5d1699++){var _0x35fb9f=_0x50c0de['conditions'][_0x5d1699];var _0x188c85='i';var _0x1571b4=_[_0x6e05('0x60')](_0x5c9cdd,[_0x6e05('0x2a'),_0x35fb9f[_0x6e05('0x49')]]);if(!_0x1571b4){switch(_0x35fb9f[_0x6e05('0x49')]){case _0x6e05('0x61'):if(_0x35fb9f[_0x6e05('0x62')]==0x1){_0x439115[_0x6e05('0x63')]('`'+_0x35fb9f['field']+_0x6e05('0x64'));}else{_0x439115[_0x6e05('0x63')]('`'+_0x35fb9f[_0x6e05('0x49')]+'`\x20>\x200');}break;case _0x6e05('0x65'):if(_0x35fb9f[_0x6e05('0x66')]==='$substring'){if(_0x35fb9f[_0x6e05('0x62')]['split']('\x20')[_0x6e05('0x41')]>0x1){_0x3f9e1f[_0x5df3ad](_0x6e05('0x67'),qs[_0x6e05('0x68')](_0x35fb9f['value']),null);}else{var _0x36fc35='%'+_0x35fb9f[_0x6e05('0x62')]+'%';_0x3f9e1f[_0x5df3ad]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x36fc35,_0x36fc35,_0x36fc35);}}else{_0x1571b4=_[_0x6e05('0x60')](_0x5c9cdd,[_0x6e05('0x2a'),_0x6e05('0x69')]);_0x35fb9f['field']=_0x6e05('0x69');_0x3d0b56=as['buildExpression'](_0x188c85,_0x1571b4[_0x6e05('0x6a')],_0x35fb9f);_0x3f9e1f[_0x5df3ad](_0x3d0b56[_0x6e05('0x6b')],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x6c')],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x29')]);}break;case _0x6e05('0x6d'):var _0x22f9cd=_0x35fb9f['value'][_0x6e05('0x6e')](',')[_0x6e05('0x2c')](function(_0x186f4b){return Number(_0x186f4b);});_0x22f9cd[_0x6e05('0x2f')](function(_0x512c7b){_0x46a760['or'](_0x6e05('0x6f'),'%,'+_0x512c7b+',%');});_0x31cc2c=_[_0x6e05('0x70')](_0x31cc2c,_0x22f9cd);break;case _0x6e05('0x71'):if(_0x35fb9f[_0x6e05('0x66')]===_0x6e05('0x72')){_0x3f9e1f[_0x5df3ad](_0x6e05('0x73'),'%'+_0x35fb9f[_0x6e05('0x62')]+'%',null);}else{_0x1571b4=_[_0x6e05('0x60')](_0x5c9cdd,['name',_0x6e05('0x34')]);_0x35fb9f['field']=_0x6e05('0x34');_0x3d0b56=as[_0x6e05('0x74')](_0x188c85,_0x1571b4['type'],_0x35fb9f);_0x3f9e1f[_0x5df3ad](_0x3d0b56[_0x6e05('0x6b')],_0x3d0b56['value'][_0x6e05('0x6c')],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x29')]);}break;case _0x6e05('0x75'):_0x3d0b56=as[_0x6e05('0x74')]('me',null,_0x35fb9f);_0x3f9e1f[_0x5df3ad](_0x3d0b56[_0x6e05('0x6b')],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x6c')],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x29')]);break;}}else{var _0x3d0b56=as['buildExpression'](_0x188c85,_0x1571b4[_0x6e05('0x6a')],_0x35fb9f);_0x3f9e1f[_0x5df3ad](_0x3d0b56['text'],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x6c')],_0x3d0b56[_0x6e05('0x62')][_0x6e05('0x29')]);}}}else{var _0x1cb629=_(_0xc411da[_0x6e05('0x3f')])[_0x6e05('0x3c')]()[_0x6e05('0x2c')](function(_0xa9893){return _['some'](_0x5c9cdd,[_0x6e05('0x2a'),_0xa9893])?_0xa9893:undefined;})[_0x6e05('0x76')]()[_0x6e05('0x62')]();if(!_[_0x6e05('0x77')](_0x1cb629)){_0x1cb629[_0x6e05('0x2f')](function(_0x212943){if(_0x212943===_0x6e05('0x78')){_0x439115[_0x6e05('0x45')](_0x6e05('0x79'),[][_0x6e05('0x7a')](_0xc411da[_0x6e05('0x3f')][_0x212943]));}else if(_0x212943===_0x6e05('0x7b')){var _0x44fc84=JSON[_0x6e05('0x7c')](_0xc411da[_0x6e05('0x3f')][_0x212943])[_0x6e05('0x7d')];var _0x26a556=JSON[_0x6e05('0x7c')](_0xc411da[_0x6e05('0x3f')][_0x212943])['$lte'];_0x439115[_0x6e05('0x45')](_0x6e05('0x7e'),_0x44fc84,_0x26a556);}else{if(_0xc411da['query'][_0x212943]===_0x6e05('0x7f')){_0x439115['where']('i.'+_0x212943+'\x20IS\x20NULL');}else{_0x439115['where']('i.'+_0x212943+_0x6e05('0x80'),_0xc411da[_0x6e05('0x3f')][_0x212943]);}}});}if(_0xc411da[_0x6e05('0x3f')][_0x6e05('0x81')]){if(_0xc411da['query']['read']==0x1){_0x439115[_0x6e05('0x63')](_0x6e05('0x82'));}else{_0x439115[_0x6e05('0x63')](_0x6e05('0x83'));}}if(_0xc411da[_0x6e05('0x3f')][_0x6e05('0x84')]){_0x31cc2c=_['isArray'](_0xc411da['query']['tag'])?_0xc411da[_0x6e05('0x3f')][_0x6e05('0x84')]:new Array(_0xc411da[_0x6e05('0x3f')][_0x6e05('0x84')]);_0x31cc2c[_0x6e05('0x2f')](function(_0x38aad8){_0x46a760['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x38aad8+',%');});}if(_0xc411da[_0x6e05('0x3f')]['filter']){var _0x47f291=_0xc411da['query'][_0x6e05('0x85')][_0x6e05('0x86')]('\x5c','\x5c\x5c')[_0x6e05('0x86')](/'/g,'\x27\x27');if(qs[_0x6e05('0x87')](_0x47f291)){_0x3f9e1f['or'](_0x6e05('0x88'),_0x47f291+'%')['or'](_0x6e05('0x89'),_0x47f291+'%');}else{_0x3f9e1f['or'](_0x6e05('0x8a'),qs[_0x6e05('0x68')](_0x47f291))['or'](_0x6e05('0x8b'),_0x47f291+'%');}}}_0x439115[_0x6e05('0x45')](_0x3f9e1f);_0x439115[_0x6e05('0x8c')]('i.id');var _0x550907={'type':db['Sequelize'][_0x6e05('0x8d')][_0x6e05('0x8e')],'raw':!![]};var _0x573474=_0x439115[_0x6e05('0x8f')]();_0x573474[_0x6e05('0x49')]('i.id');_0x573474[_0x6e05('0x49')](_0x6e05('0x90'),_0x6e05('0x61'));if(_0x346713['order']){_0x346713['order'][_0x6e05('0x2f')](function(_0x1bc1d0){var _0x38bbca=_0x1bc1d0[0x0]==='contactName'?_0x1bc1d0[0x0]:'i.'+_0x1bc1d0[0x0];_0x439115['order'](_0x38bbca,_0x1bc1d0[0x1]===_0x6e05('0x91')?![]:!![]);});}if(!_['isEmpty'](_0x31cc2c)){_0x439115[_0x6e05('0x63')](_0x46a760);_0x573474['where']('t.id\x20IN\x20?',_0x31cc2c);}BPromise['resolve']()[_0x6e05('0x27')](function(){if(!_0x50c0de){if(_0xc411da[_0x6e05('0x3f')][_0x6e05('0x78')])return;_0x573474[_0x6e05('0x45')](_0x6e05('0x92'));_0x439115[_0x6e05('0x45')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');return;}if(_0xc411da[_0x6e05('0x93')][_0x6e05('0x94')]!==_0x6e05('0x95'))return;return _0xc411da[_0x6e05('0x93')]['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})[_0x6e05('0x27')](function(_0x5cd205){if(_[_0x6e05('0x77')](_0x5cd205)){_0x573474[_0x6e05('0x45')](_0x6e05('0x96'));_0x439115['where'](_0x6e05('0x96'));}else{_0x573474[_0x6e05('0x45')](_0x6e05('0x79'),_[_0x6e05('0x2c')](_0x5cd205,'id'));_0x439115[_0x6e05('0x45')]('i.WhatsappAccountId\x20IN\x20?',_[_0x6e05('0x2c')](_0x5cd205,'id'));}});})[_0x6e05('0x27')](function(){if(_0xc411da[_0x6e05('0x93')]['role']===_0x6e05('0x95')&&!_0x50c0de&&!_0xc411da['query'][_0x6e05('0x78')])return[];return db['sequelize'][_0x6e05('0x3f')](_0x573474['toString'](),_0x550907);})[_0x6e05('0x27')](function(_0x1b7368){_0x549f62[_0x6e05('0x21')]=_0x1b7368[_0x6e05('0x41')];if(_0x549f62[_0x6e05('0x21')]===0x0)return[];return db[_0x6e05('0x97')][_0x6e05('0x3f')](_0x30f81c[_0x6e05('0x98')](),_0x550907)[_0x6e05('0x27')](function(_0x204e49){_0x3dc9d9=_[_0x6e05('0x99')](_0x204e49,'id');_0x550907=_[_0x6e05('0x9a')](_0x550907,{'model':db[_0x6e05('0x38')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xc411da[_0x6e05('0x3f')][_0x6e05('0x9b')]){_0x346713[_0x6e05('0x40')]['forEach'](function(_0x268879){_0x439115['field']('i.'+_0x268879);});}else{_0x439115['field'](_0x6e05('0x90'),_0x6e05('0x61'));_0x439115[_0x6e05('0x49')](_0x6e05('0x9c'),_0x6e05('0x9d'));_0x439115[_0x6e05('0x49')](_0x6e05('0x9e'),_0x6e05('0x9f'));_0x439115[_0x6e05('0x49')](_0x6e05('0xa0'),_0x6e05('0xa1'));_0x439115[_0x6e05('0x49')](_0x6e05('0xa2'));_0x439115['field']('c.firstName',_0x6e05('0xa3'));_0x439115[_0x6e05('0x49')](_0x6e05('0xa4'),_0x6e05('0xa5'));_0x439115[_0x6e05('0x49')]('c.email','Contact.email');_0x439115[_0x6e05('0x49')](_0x6e05('0xa6'),'Contact.phone');_0x439115[_0x6e05('0x49')](_0x6e05('0xa7'),_0x6e05('0xa8'));_0x439115[_0x6e05('0x49')](_0x6e05('0xa9'),_0x6e05('0xaa'));_0x439115[_0x6e05('0x49')](_0x6e05('0xab'),_0x6e05('0xac'));_0x439115[_0x6e05('0x49')](_0x6e05('0xad'),_0x6e05('0xae'));_0x439115['field'](_0x6e05('0xaf'),_0x6e05('0x2d'));}if(_0x346713['limit'])_0x439115[_0x6e05('0x22')](_0x346713[_0x6e05('0x22')]);if(_0x346713[_0x6e05('0x1f')])_0x439115[_0x6e05('0x1f')](_0x346713[_0x6e05('0x1f')]);return db[_0x6e05('0x97')]['query'](_0x439115[_0x6e05('0x98')](),_0x550907);})[_0x6e05('0x27')](function(_0x4f218d){if(_0x4f218d[_0x6e05('0x41')]>0x0)_0x16ca12[_0x6e05('0x45')](_0x6e05('0xb0'),_[_0x6e05('0x2c')](_0x4f218d,'id'));return db[_0x6e05('0x97')]['query'](_0x16ca12[_0x6e05('0x98')](),_0x550907)[_0x6e05('0x27')](function(_0x578f0d){var _0xf5a917=_[_0x6e05('0xb1')](_0x578f0d,'WhatsappInteractionId');var _0xcf119=[];_0x4f218d['forEach'](function(_0x192511){_0xcf119[_0x6e05('0xb2')](updateWhatsappInteraction(_0x192511,_0x3dc9d9,_0xf5a917));});return BPromise['all'](_0xcf119);});});})[_0x6e05('0x27')](function(_0x91e5ff){_0x549f62[_0x6e05('0xb3')]=_0x91e5ff;return _0x549f62;})[_0x6e05('0x27')](respondWithFilteredResult(_0x65b855,_0x346713))[_0x6e05('0x30')](handleError(_0x65b855,null));};exports[_0x6e05('0xb4')]=function(_0x4b517f,_0x131e66){var _0x2ebc70={'raw':![],'where':{'id':_0x4b517f[_0x6e05('0xb5')]['id']}},_0x46724c={};_0x46724c[_0x6e05('0x3e')]=_['keys'](db[_0x6e05('0x38')][_0x6e05('0x39')]);_0x46724c['query']=_[_0x6e05('0x3c')](_0x4b517f[_0x6e05('0x3f')]);_0x46724c[_0x6e05('0x46')]=_[_0x6e05('0x3d')](_0x46724c['model'],_0x46724c['query']);_0x2ebc70[_0x6e05('0x40')]=_[_0x6e05('0x3d')](_0x46724c[_0x6e05('0x3e')],qs[_0x6e05('0x9b')](_0x4b517f[_0x6e05('0x3f')][_0x6e05('0x9b')]));_0x2ebc70[_0x6e05('0x40')]=_0x2ebc70[_0x6e05('0x40')][_0x6e05('0x41')]?_0x2ebc70['attributes']:_0x46724c[_0x6e05('0x3e')];if(_0x4b517f[_0x6e05('0x3f')][_0x6e05('0xb6')]){_0x2ebc70['include']=[{'all':!![]}];}_0x2ebc70=_['merge']({},_0x2ebc70,_0x4b517f[_0x6e05('0xb7')]);return db[_0x6e05('0x38')]['find'](_0x2ebc70)[_0x6e05('0x27')](handleEntityNotFound(_0x131e66,null))[_0x6e05('0x27')](respondWithResult(_0x131e66,null))[_0x6e05('0x30')](handleError(_0x131e66,null));};exports[_0x6e05('0xb8')]=function(_0x56067f,_0x3225ee){return db[_0x6e05('0x38')][_0x6e05('0xb8')](_0x56067f['body'],{})[_0x6e05('0x27')](respondWithResult(_0x3225ee,0xc9))['catch'](handleError(_0x3225ee,null));};exports[_0x6e05('0x26')]=function(_0x10fe20,_0x34a849){if(_0x10fe20[_0x6e05('0x75')]['id']){delete _0x10fe20[_0x6e05('0x75')]['id'];}return db[_0x6e05('0x38')]['find']({'where':{'id':_0x10fe20[_0x6e05('0xb5')]['id']}})[_0x6e05('0x27')](handleEntityNotFound(_0x34a849,null))['then'](saveUpdates(_0x10fe20[_0x6e05('0x75')],null))[_0x6e05('0x27')](respondWithResult(_0x34a849,null))['catch'](handleError(_0x34a849,null));};exports[_0x6e05('0x28')]=function(_0x266375,_0x3bc026){return db[_0x6e05('0x38')][_0x6e05('0x60')]({'where':{'id':_0x266375[_0x6e05('0xb5')]['id']}})[_0x6e05('0x27')](handleEntityNotFound(_0x3bc026,null))[_0x6e05('0x27')](removeEntity(_0x3bc026,null))[_0x6e05('0x30')](handleError(_0x3bc026,null));};exports[_0x6e05('0xb9')]=function(_0x5e9630,_0x15ddf6){return db['WhatsappInteraction']['describe']()[_0x6e05('0x27')](respondWithResult(_0x15ddf6,null))[_0x6e05('0x30')](handleError(_0x15ddf6,null));};exports[_0x6e05('0xba')]=function(_0x55c7c9,_0x1f1bfa,_0x4a5b67){return db['WhatsappMessage']['find']({'where':{'id':_0x55c7c9[_0x6e05('0xb5')]['id']}})[_0x6e05('0x27')](handleEntityNotFound(_0x1f1bfa,null))[_0x6e05('0x27')](function(_0x16310b){if(_0x16310b){return _0x16310b[_0x6e05('0xba')](_0x55c7c9['body']['ids'],_[_0x6e05('0xbb')](_0x55c7c9[_0x6e05('0x75')],[_0x6e05('0xbc'),'id'])||{});}})[_0x6e05('0x27')](respondWithResult(_0x1f1bfa,null))[_0x6e05('0x30')](handleError(_0x1f1bfa,null));};exports[_0x6e05('0xbd')]=function(_0x871866,_0x5197f4,_0x5b5287){var _0xfffd67={'raw':![],'where':{}};var _0x27bddf={};var _0x31c6a9={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x6e05('0xbe')]({'where':{'id':_0x871866[_0x6e05('0xb5')]['id']}})[_0x6e05('0x27')](handleEntityNotFound(_0x5197f4,null))['then'](function(_0x478aa5){if(_0x478aa5){_0x27bddf[_0x6e05('0x3e')]=_[_0x6e05('0x3c')](db[_0x6e05('0xbf')][_0x6e05('0x39')]);_0x27bddf[_0x6e05('0x3f')]=_[_0x6e05('0x3c')](_0x871866[_0x6e05('0x3f')]);_0x27bddf[_0x6e05('0x46')]=_[_0x6e05('0x3d')](_0x27bddf[_0x6e05('0x3e')],_0x27bddf['query']);_0xfffd67[_0x6e05('0x40')]=_[_0x6e05('0x3d')](_0x27bddf[_0x6e05('0x3e')],qs[_0x6e05('0x9b')](_0x871866[_0x6e05('0x3f')][_0x6e05('0x9b')]));_0xfffd67[_0x6e05('0x40')]=_0xfffd67[_0x6e05('0x40')][_0x6e05('0x41')]?_0xfffd67['attributes']:_0x27bddf[_0x6e05('0x3e')];if(!_0x871866[_0x6e05('0x3f')][_0x6e05('0x42')](_0x6e05('0xc0'))){_0xfffd67[_0x6e05('0x22')]=qs['limit'](_0x871866[_0x6e05('0x3f')][_0x6e05('0x22')]);_0xfffd67[_0x6e05('0x1f')]=qs[_0x6e05('0x1f')](_0x871866['query'][_0x6e05('0x1f')]);}_0xfffd67['order']=qs['sort'](_0x871866[_0x6e05('0x3f')]['sort']);_0xfffd67['where']=qs[_0x6e05('0x46')](_[_0x6e05('0x47')](_0x871866[_0x6e05('0x3f')],_0x27bddf[_0x6e05('0x46')]));_0xfffd67['where'][_0x6e05('0xc1')]=_0x478aa5['id'];if(_0x871866['query']['filter']){_0xfffd67[_0x6e05('0x45')]=_[_0x6e05('0x9a')](_0xfffd67['where'],{'$or':_[_0x6e05('0x2c')](_0xfffd67[_0x6e05('0x40')],function(_0x2745e3){var _0x10fbfb={};_0x10fbfb[_0x2745e3]={'$like':'%'+_0x871866[_0x6e05('0x3f')][_0x6e05('0x85')]+'%'};return _0x10fbfb;})});}if(_0x871866[_0x6e05('0x3f')][_0x6e05('0x7d')]){var _0x2f883a=_0x871866[_0x6e05('0x3f')][_0x6e05('0x7d')][_0x6e05('0x6e')](',');var _0x5334c7={};_0x5334c7[_0x2f883a[0x0]]={'$gte':moment(_0x2f883a[0x1])['format'](_0x6e05('0xc2'))};_0xfffd67[_0x6e05('0x45')]=_['merge'](_0xfffd67[_0x6e05('0x45')],_0x5334c7);}_0xfffd67=_[_0x6e05('0x9a')]({},_0xfffd67,_0x871866[_0x6e05('0xb7')]);return db[_0x6e05('0xbf')]['count']({'where':_0xfffd67[_0x6e05('0x45')]})[_0x6e05('0x27')](function(_0xb4352a){_0x31c6a9[_0x6e05('0x21')]=_0xb4352a;if(_0x871866[_0x6e05('0x3f')][_0x6e05('0xb6')]){_0xfffd67['include']=[{'all':!![]}];}return db[_0x6e05('0xbf')][_0x6e05('0xc3')](_0xfffd67);})['then'](function(_0x16b776){_0x31c6a9[_0x6e05('0xb3')]=_0x16b776;return _0x31c6a9;});}})['then'](respondWithFilteredResult(_0x5197f4,_0xfffd67))[_0x6e05('0x30')](handleError(_0x5197f4,null));};exports[_0x6e05('0xc4')]=function(_0x2e9b47,_0x1f9f9b,_0x19e094){return db['WhatsappInteraction'][_0x6e05('0x60')]({'where':{'id':_0x2e9b47[_0x6e05('0xb5')]['id']}})[_0x6e05('0x27')](handleEntityNotFound(_0x1f9f9b,null))[_0x6e05('0x27')](function(_0x4df908){if(_0x4df908){return _0x4df908[_0x6e05('0xc5')](_0x2e9b47[_0x6e05('0x75')][_0x6e05('0xbc')],_[_0x6e05('0xbb')](_0x2e9b47[_0x6e05('0x75')],['ids','id'])||{})[_0x6e05('0xc6')](function(){return db[_0x6e05('0x6d')][_0x6e05('0xc3')]({'attributes':['id',_0x6e05('0x2a'),_0x6e05('0x4a')],'where':{'id':_0x2e9b47[_0x6e05('0x75')][_0x6e05('0xbc')]}});})[_0x6e05('0x27')](function(_0x250908){socket[_0x6e05('0xc7')](_0x6e05('0xc8'),{'id':Number(_0x2e9b47[_0x6e05('0xb5')]['id']),'tags':_0x250908||[]});return{'id':Number(_0x2e9b47[_0x6e05('0xb5')]['id']),'tags':_0x250908||[]};});}})[_0x6e05('0x27')](respondWithResult(_0x1f9f9b,null))[_0x6e05('0x30')](handleError(_0x1f9f9b,null));};exports[_0x6e05('0xc9')]=function(_0x351113,_0x4b6e51,_0xa8347b){return db[_0x6e05('0x38')][_0x6e05('0x60')]({'where':{'id':_0x351113[_0x6e05('0xb5')]['id']}})[_0x6e05('0x27')](handleEntityNotFound(_0x4b6e51,null))['then'](function(_0x3865c1){if(_0x3865c1){return _0x3865c1[_0x6e05('0xc9')](_0x351113['query']['ids']);}})[_0x6e05('0x27')](respondWithStatusCode(_0x4b6e51,null))[_0x6e05('0x30')](handleError(_0x4b6e51,null));};exports[_0x6e05('0xca')]=function(_0xc11310,_0x1bc229){var _0x21939c=moment()[_0x6e05('0xcb')]()[_0x6e05('0x98')]();var _0x15533b=path['join'](config[_0x6e05('0xcc')],_0x6e05('0xcd'),'files',_0x6e05('0xce'));var _0x4ffb29=path[_0x6e05('0xcf')](config[_0x6e05('0xcc')],'server',_0x6e05('0xd0'),_0x6e05('0xd1'));var _0x4008b5=path['join'](_0x15533b,_0x21939c);var _0xc2279d=util[_0x6e05('0xd2')](_0x6e05('0xd3'),_0xc11310[_0x6e05('0xb5')]['id'],_0x21939c);var _0x2a5dee=path[_0x6e05('0xcf')](_0x15533b,_0xc2279d);var _0x27908e=[];_0x27908e[_0x6e05('0xb2')]({'model':db[_0x6e05('0x71')],'as':_0x6e05('0x71'),'attributes':['id',_0x6e05('0xd4')],'raw':!![]});_0x27908e[_0x6e05('0xb2')]({'model':db[_0x6e05('0xd5')],'as':_0x6e05('0x65'),'attributes':['id','firstName','lastName'],'raw':!![]});if(_0xc11310[_0x6e05('0x3f')][_0x6e05('0xd1')]){_0x27908e[_0x6e05('0xb2')]({'model':db['Attachment'],'as':'Attachment','raw':!![]});}var _0x1bc911=[{'model':db[_0x6e05('0xbf')],'as':_0x6e05('0xd6'),'attributes':['id',_0x6e05('0x75'),_0x6e05('0x7b'),_0x6e05('0xd7'),_0x6e05('0xd8'),_0x6e05('0x81')],'include':_0x27908e}];_0x1bc911[_0x6e05('0xb2')]({'model':db['WhatsappAccount'],'as':'Account','attributes':['id','name']});_0x1bc911['push']({'model':db[_0x6e05('0x71')],'as':_0x6e05('0xd9'),'attributes':['id',_0x6e05('0xd4')]});return db[_0x6e05('0x38')]['find']({'where':{'id':_0xc11310['params']['id']},'include':_0x1bc911})[_0x6e05('0x27')](handleEntityNotFound(_0x1bc229,null))[_0x6e05('0x27')](function(_0x47ef5c){if(_0x47ef5c){var _0x34b446=_0x47ef5c[_0x6e05('0xda')]({'plain':!![]});fs[_0x6e05('0xdb')](_0x4008b5);var _0x394318={'channel':_0x6e05('0xdc'),'account':_0x34b446[_0x6e05('0xdd')][_0x6e05('0x2a')],'agent':_0x34b446[_0x6e05('0xd9')]?_0x34b446[_0x6e05('0xd9')][_0x6e05('0xd4')]:_0x6e05('0xde'),'createdAt':moment(_0x34b446['createdAt'])[_0x6e05('0xd2')](_0x6e05('0xc2'))[_0x6e05('0x98')](),'closedAt':_0x34b446[_0x6e05('0x33')]?moment(_0x34b446[_0x6e05('0xdf')])[_0x6e05('0xd2')](_0x6e05('0xc2'))[_0x6e05('0x98')]():'','disposition':_0x34b446['disposition'],'messages':_(_0x34b446[_0x6e05('0xd6')])[_0x6e05('0x85')]({'secret':![]})['map'](function(_0x16ed5e){if(_0x16ed5e[_0x6e05('0xe0')]){var _0x1fd13c=path[_0x6e05('0xcf')](_0x4ffb29,_0x16ed5e[_0x6e05('0xe0')][_0x6e05('0xe1')]);if(fs[_0x6e05('0xe2')](_0x1fd13c)){fs[_0x6e05('0xe3')](_0x1fd13c)[_0x6e05('0xe4')](fs[_0x6e05('0xe5')](path[_0x6e05('0xcf')](_0x4008b5,_0x16ed5e[_0x6e05('0xe0')]['basename'])));}}return{'date':moment(_0x16ed5e[_0x6e05('0x7b')])[_0x6e05('0xd2')]('YYYY-MM-DD\x20HH:mm:ss')[_0x6e05('0x98')](),'sender':_0x16ed5e[_0x6e05('0xd7')]===_0x6e05('0xe6')?_0x16ed5e[_0x6e05('0x71')]?_0x16ed5e[_0x6e05('0x71')][_0x6e05('0xd4')]:_0x6e05('0xe7'):_0x16ed5e[_0x6e05('0x65')][_0x6e05('0xe8')]+(_0x16ed5e['Contact']['lastName']?'\x20'+_0x16ed5e[_0x6e05('0x65')][_0x6e05('0xe9')]:''),'body':_0x16ed5e[_0x6e05('0xe0')]?_0x16ed5e['Attachment'][_0x6e05('0xe1')]:_0x16ed5e[_0x6e05('0x75')],'direction':_0x16ed5e['direction']===_0x6e05('0xe6')?'A':'C','secret':_0x16ed5e[_0x6e05('0xd8')],'read':_0x16ed5e[_0x6e05('0x81')],'attachment':_0x16ed5e[_0x6e05('0xe0')]};})['value']()};return ejs[_0x6e05('0xea')](path[_0x6e05('0xcf')](config['root'],_0x6e05('0xcd'),_0x6e05('0xeb'),'downloadInteraction.ejs'),{'interaction':_0x394318})[_0x6e05('0x27')](function(_0x127b19){var _0x2fd797=path['join'](_0x4008b5,_0x6e05('0xec')+_0x34b446['id']+'-'+_0x21939c+_0x6e05('0xed'));var _0x1374c8={'path':_0x2fd797,'channel':_0x6e05('0xdc'),'interactionId':_0x34b446['id']};return pdf[_0x6e05('0xee')](_0x127b19,_0x1374c8);})[_0x6e05('0x27')](function(){return new BPromise(function(_0x1ba9f8,_0x2a0b9a){zipdir(_0x4008b5,{'saveTo':_0x2a5dee},function(_0xf5d5fd,_0x264c20){if(_0xf5d5fd)return _0x2a0b9a(_0xf5d5fd);return _0x1ba9f8(_0x264c20);});})[_0x6e05('0x27')](function(){return new BPromise(function(_0x1a4366,_0x1818c2){rimraf(_0x4008b5,function(_0x384f78){if(_0x384f78)_0x1818c2(_0x384f78);return _0x1a4366();});});})[_0x6e05('0x27')](function(){return _0x1bc229[_0x6e05('0xca')](_0x2a5dee,_0xc2279d,function(_0x582574){if(_0x582574){console[_0x6e05('0xef')]('err',_0x582574);}else{fs['unlinkSync'](_0x2a5dee);}});});});}else{return _0x1bc229['sendStatus'](0xc8);}})[_0x6e05('0x30')](handleError(_0x1bc229,null));};