9a7f39a758e74a72bb58dca26b3fcbd0fb22a965
[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 _0x8a21=['jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','status','end','json','undefined','count','offset','limit','set','apply','then','destroy','sendStatus','error','name','send','Users','map','TagIds','Tags','split','push','catch','waiting','talking','unmanaged','total','closed','UserId','answered','WhatsappInteraction','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','select','field','color','from','u.id','u.fullname','ui.WhatsappInteractionId','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','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','tools_tags','t.id\x20=\x20it.TagId','expr','search','sqlOperator','conditions','find','unreadMessages','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?','text','Tag','union','body','buildExpression','start','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','parse','$lte','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','isArray','tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','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','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','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','i.*','c.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','Contact.mobile','Contact.fax','o.fullname','Owner.internal','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','rows','show','params','include','merge','create','update','describe','WhatsappMessage','addMessage','ids','omit','findOne','pick','$gte','format','options','includeAll','setTags','spread','findAll','emit','whatsappInteractionTags:save','removeTags','unix','join','root','files','tmp','attachments','User','fullname','firstName','lastName','Attachment','Messages','createdAt','secret','WhatsappAccount','Account','Owner','get','mkdirSync','Whatsapp','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','createReadStream','pipe','createWriteStream','direction','out','System','basename','renderFile','server','views','downloadInteraction.ejs','.pdf','createPdfFromHTML','download','log','err','unlinkSync','eml-format','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0x502c7d,_0x2f1285){var _0x30b7ed=function(_0x2d92f3){while(--_0x2d92f3){_0x502c7d['push'](_0x502c7d['shift']());}};_0x30b7ed(++_0x2f1285);}(_0x8a21,0x1d8));var _0x18a2=function(_0x5f34a3,_0x4ba871){_0x5f34a3=_0x5f34a3-0x0;var _0xeabd05=_0x8a21[_0x5f34a3];return _0xeabd05;};'use strict';var emlformat=require(_0x18a2('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x18a2('0x1'));var rp=require(_0x18a2('0x2'));var moment=require(_0x18a2('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x18a2('0x4'));var path=require(_0x18a2('0x5'));var sox=require(_0x18a2('0x6'));var csv=require(_0x18a2('0x7'));var ejs=require(_0x18a2('0x8'));var fs=require('fs');var fs_extra=require(_0x18a2('0x9'));var _=require(_0x18a2('0xa'));var squel=require(_0x18a2('0xb'));var crypto=require('crypto');var jsforce=require(_0x18a2('0xc'));var deskjs=require(_0x18a2('0xd'));var toCsv=require(_0x18a2('0x7'));var querystring=require('querystring');var Papa=require(_0x18a2('0xe'));var Redis=require(_0x18a2('0xf'));var authService=require(_0x18a2('0x10'));var qs=require(_0x18a2('0x11'));var as=require(_0x18a2('0x12'));var pdf=require('../../components/export/pdf');var hardwareService=require(_0x18a2('0x13'));var logger=require(_0x18a2('0x14'))('api');var utils=require(_0x18a2('0x15'));var config=require(_0x18a2('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x18a2('0x17'))['db'];config[_0x18a2('0x18')]=_['defaults'](config[_0x18a2('0x18')],{'host':_0x18a2('0x19'),'port':0x18eb});var socket=require(_0x18a2('0x1a'))(new Redis(config[_0x18a2('0x18')]));require('./whatsappInteraction.socket')['register'](socket);function respondWithStatusCode(_0x1c5302,_0x537943){_0x537943=_0x537943||0xcc;return function(_0x29e733){if(_0x29e733){return _0x1c5302['sendStatus'](_0x537943);}return _0x1c5302[_0x18a2('0x1b')](_0x537943)[_0x18a2('0x1c')]();};}function respondWithResult(_0x2633f0,_0x523bd8){_0x523bd8=_0x523bd8||0xc8;return function(_0x12b11f){if(_0x12b11f){return _0x2633f0[_0x18a2('0x1b')](_0x523bd8)[_0x18a2('0x1d')](_0x12b11f);}};}function respondWithFilteredResult(_0xa5894d,_0x22296a){return function(_0x4e5da2){if(_0x4e5da2){var _0x26929f=typeof _0x22296a['offset']===_0x18a2('0x1e')&&typeof _0x22296a['limit']===_0x18a2('0x1e');var _0x45840e=_0x4e5da2[_0x18a2('0x1f')];var _0x2c418d=_0x26929f?0x0:_0x22296a[_0x18a2('0x20')];var _0x227fd0=_0x26929f?_0x4e5da2[_0x18a2('0x1f')]:_0x22296a[_0x18a2('0x20')]+_0x22296a[_0x18a2('0x21')];var _0x2ac173;if(_0x227fd0>=_0x45840e){_0x227fd0=_0x45840e;_0x2ac173=0xc8;}else{_0x2ac173=0xce;}_0xa5894d[_0x18a2('0x1b')](_0x2ac173);return _0xa5894d[_0x18a2('0x22')]('Content-Range',_0x2c418d+'-'+_0x227fd0+'/'+_0x45840e)[_0x18a2('0x1d')](_0x4e5da2);}return null;};}function patchUpdates(_0x357693){return function(_0x123254){try{jsonpatch[_0x18a2('0x23')](_0x123254,_0x357693,!![]);}catch(_0x3fdf6c){return BPromise['reject'](_0x3fdf6c);}return _0x123254['save']();};}function saveUpdates(_0x53c982,_0x2f6484){return function(_0x1c0da1){if(_0x1c0da1){return _0x1c0da1['update'](_0x53c982)[_0x18a2('0x24')](function(_0x3be4db){return _0x3be4db;});}return null;};}function removeEntity(_0x531eb3,_0x4e7003){return function(_0x327d81){if(_0x327d81){return _0x327d81[_0x18a2('0x25')]()[_0x18a2('0x24')](function(){_0x531eb3[_0x18a2('0x1b')](0xcc)[_0x18a2('0x1c')]();});}};}function handleEntityNotFound(_0xa36477,_0x3e9543){return function(_0x3c17c1){if(!_0x3c17c1){_0xa36477[_0x18a2('0x26')](0x194);}return _0x3c17c1;};}function handleError(_0x335b0b,_0x562df1){_0x562df1=_0x562df1||0x1f4;return function(_0x43a4f8){logger[_0x18a2('0x27')](_0x43a4f8['stack']);if(_0x43a4f8[_0x18a2('0x28')]){delete _0x43a4f8[_0x18a2('0x28')];}_0x335b0b[_0x18a2('0x1b')](_0x562df1)[_0x18a2('0x29')](_0x43a4f8);};}function getInteractionUsers(_0x42567c,_0x56b765){return new BPromise(function(_0x2bad4c,_0xf8983d){try{if(_0x56b765[_0x42567c['id']]){_0x42567c[_0x18a2('0x2a')]=_[_0x18a2('0x2b')](_0x56b765[_0x42567c['id']],function(_0xedeb1b){return{'id':_0xedeb1b['id'],'fullname':_0xedeb1b['fullname']};});}}catch(_0x29d703){_0xf8983d(_0x29d703);}_0x2bad4c(_0x42567c);});}function getInteractionTags(_0x29e477,_0x1fa180){return new BPromise(function(_0x11a086,_0x589d46){try{if(_0x29e477[_0x18a2('0x2c')]){_0x29e477[_0x18a2('0x2d')]=[];_0x29e477[_0x18a2('0x2c')][_0x18a2('0x2e')](',')['forEach'](function(_0x2f3701){_0x29e477[_0x18a2('0x2d')][_0x18a2('0x2f')](_0x1fa180[_0x2f3701]);});}delete _0x29e477[_0x18a2('0x2c')];}catch(_0x380c99){_0x589d46(_0x380c99);}_0x11a086(_0x29e477);});}function updateWhatsappInteraction(_0x311559,_0x547091,_0x206252){return new BPromise(function(_0x37c56e,_0x2a74e9){return getInteractionUsers(_0x311559,_0x206252)[_0x18a2('0x24')](function(_0x500210){return getInteractionTags(_0x500210,_0x547091);})['then'](function(_0x2a06e0){return getStateInteraction(_0x2a06e0);})['then'](function(_0x1a9437){_0x37c56e(_0x1a9437);})[_0x18a2('0x30')](function(_0x42a851){_0x2a74e9(_0x42a851);});});}function getStateInteraction(_0x3961f5){return new BPromise(function(_0x50dc2c){_0x3961f5[_0x18a2('0x31')]=0x0;_0x3961f5[_0x18a2('0x32')]=0x0;_0x3961f5['answered']=0x0;_0x3961f5[_0x18a2('0x33')]=0x0;_0x3961f5[_0x18a2('0x34')]=0x0;if(!_0x3961f5[_0x18a2('0x35')]&&!_0x3961f5[_0x18a2('0x36')]){_0x3961f5[_0x18a2('0x31')]+=0x1;}if(!_0x3961f5['closed']&&_0x3961f5[_0x18a2('0x36')]){_0x3961f5[_0x18a2('0x32')]+=0x1;if(_0x3961f5[_0x18a2('0x31')]){_0x3961f5[_0x18a2('0x31')]-=0x1;}}if(_0x3961f5['closed']&&_0x3961f5['UserId']){_0x3961f5[_0x18a2('0x37')]+=0x1;if(_0x3961f5['talking']){_0x3961f5[_0x18a2('0x32')]-=0x1;}}if(_0x3961f5[_0x18a2('0x35')]&&!_0x3961f5[_0x18a2('0x36')]){_0x3961f5[_0x18a2('0x33')]+=0x1;if(_0x3961f5[_0x18a2('0x31')]){_0x3961f5[_0x18a2('0x31')]-=0x1;}}_0x3961f5[_0x18a2('0x34')]+=0x1;_0x50dc2c(_0x3961f5);});}exports['index']=function(_0x1239ca,_0x2e94d6){var _0x50134d={},_0x1a8461={},_0x3631a9={'count':0x0,'rows':[]};var _0x55f902=_[_0x18a2('0x2b')](db[_0x18a2('0x38')][_0x18a2('0x39')],function(_0x200080){return{'name':_0x200080['fieldName'],'type':_0x200080[_0x18a2('0x3a')]['key']};});_0x1a8461[_0x18a2('0x3b')]=_[_0x18a2('0x2b')](_0x55f902,_0x18a2('0x28'));_0x1a8461[_0x18a2('0x3c')]=_[_0x18a2('0x3d')](_0x1239ca[_0x18a2('0x3c')]);_0x1a8461[_0x18a2('0x3e')]=_[_0x18a2('0x3f')](_0x1a8461[_0x18a2('0x3b')],_0x1a8461[_0x18a2('0x3c')]);_0x50134d[_0x18a2('0x40')]=_['intersection'](_0x1a8461['model'],qs[_0x18a2('0x41')](_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x41')]));_0x50134d['attributes']=_0x50134d[_0x18a2('0x40')][_0x18a2('0x42')]?_0x50134d[_0x18a2('0x40')]:_0x1a8461[_0x18a2('0x3b')];if(!_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x43')](_0x18a2('0x44'))){_0x50134d[_0x18a2('0x21')]=qs[_0x18a2('0x21')](_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x21')]);_0x50134d[_0x18a2('0x20')]=qs[_0x18a2('0x20')](_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x20')]);}_0x50134d[_0x18a2('0x45')]=qs[_0x18a2('0x46')](_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x46')]);_0x50134d[_0x18a2('0x47')]=qs[_0x18a2('0x3e')](_['pick'](_0x1239ca['query'],_0x1a8461[_0x18a2('0x3e')]),_0x55f902);var _0x57eca3=[];var _0x592add=squel[_0x18a2('0x48')]()[_0x18a2('0x49')]('id')[_0x18a2('0x49')]('name')[_0x18a2('0x49')](_0x18a2('0x4a'))[_0x18a2('0x4b')]('tools_tags');var _0x31c192=squel['select']()[_0x18a2('0x49')](_0x18a2('0x4c'))[_0x18a2('0x49')](_0x18a2('0x4d'))[_0x18a2('0x49')](_0x18a2('0x4e'))[_0x18a2('0x4b')](_0x18a2('0x4f'),'ui')[_0x18a2('0x50')](_0x18a2('0x51'),'u','u.id\x20=\x20ui.UserId');var _0x18b348=squel[_0x18a2('0x48')]()['from'](_0x18a2('0x52'),'i')[_0x18a2('0x50')](_0x18a2('0x53'),'c',_0x18a2('0x54'))[_0x18a2('0x50')](_0x18a2('0x51'),'o',_0x18a2('0x55'))[_0x18a2('0x50')](_0x18a2('0x56'),'a',_0x18a2('0x57'))[_0x18a2('0x50')](_0x18a2('0x58'),'me',_0x18a2('0x59'))[_0x18a2('0x50')](_0x18a2('0x5a'),'it',_0x18a2('0x5b'))[_0x18a2('0x50')](_0x18a2('0x5c'),'t',_0x18a2('0x5d'));var _0x1398e4=squel[_0x18a2('0x5e')]();var _0x43c3f3=[];var _0x15a3b9=squel[_0x18a2('0x5e')]();var _0xb331bc;if(_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x5f')]){_0xb331bc=as['parseSearch'](_0x1239ca['query'][_0x18a2('0x5f')]);var _0x4c228c=_0xb331bc[_0x18a2('0x60')];for(var _0x329221=0x0;_0x329221<_0xb331bc[_0x18a2('0x61')][_0x18a2('0x42')];_0x329221++){var _0xbb8d68=_0xb331bc[_0x18a2('0x61')][_0x329221];var _0x5f0688='i';var _0x156871=_[_0x18a2('0x62')](_0x55f902,[_0x18a2('0x28'),_0xbb8d68[_0x18a2('0x49')]]);if(!_0x156871){switch(_0xbb8d68[_0x18a2('0x49')]){case _0x18a2('0x63'):if(_0xbb8d68[_0x18a2('0x64')]==0x1){_0x18b348[_0x18a2('0x65')]('`'+_0xbb8d68[_0x18a2('0x49')]+_0x18a2('0x66'));}else{_0x18b348['having']('`'+_0xbb8d68[_0x18a2('0x49')]+_0x18a2('0x67'));}break;case _0x18a2('0x68'):if(_0xbb8d68[_0x18a2('0x69')]===_0x18a2('0x6a')){if(_0xbb8d68[_0x18a2('0x64')]['split']('\x20')[_0x18a2('0x42')]>0x1){_0x1398e4[_0x4c228c](_0x18a2('0x6b'),qs[_0x18a2('0x6c')](_0xbb8d68['value']),null);}else{var _0x2509e0='%'+_0xbb8d68[_0x18a2('0x64')]+'%';_0x1398e4[_0x4c228c](_0x18a2('0x6d'),_0x2509e0,_0x2509e0,_0x2509e0);}}else{_0x156871=_['find'](_0x55f902,[_0x18a2('0x28'),'ContactId']);_0xbb8d68[_0x18a2('0x49')]='ContactId';_0x5790c6=as['buildExpression'](_0x5f0688,_0x156871[_0x18a2('0x3a')],_0xbb8d68);_0x1398e4[_0x4c228c](_0x5790c6[_0x18a2('0x6e')],_0x5790c6[_0x18a2('0x64')]['start'],_0x5790c6[_0x18a2('0x64')][_0x18a2('0x1c')]);}break;case _0x18a2('0x6f'):var _0x455280=_0xbb8d68['value'][_0x18a2('0x2e')](',')[_0x18a2('0x2b')](function(_0x47666b){return Number(_0x47666b);});_0x455280['forEach'](function(_0x537c9e){_0x15a3b9['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x537c9e+',%');});_0x43c3f3=_[_0x18a2('0x70')](_0x43c3f3,_0x455280);break;case'User':if(_0xbb8d68[_0x18a2('0x69')]===_0x18a2('0x6a')){_0x1398e4[_0x4c228c]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0xbb8d68['value']+'%',null);}else{_0x156871=_[_0x18a2('0x62')](_0x55f902,[_0x18a2('0x28'),_0x18a2('0x36')]);_0xbb8d68[_0x18a2('0x49')]=_0x18a2('0x36');_0x5790c6=as['buildExpression'](_0x5f0688,_0x156871[_0x18a2('0x3a')],_0xbb8d68);_0x1398e4[_0x4c228c](_0x5790c6['text'],_0x5790c6[_0x18a2('0x64')]['start'],_0x5790c6[_0x18a2('0x64')]['end']);}break;case _0x18a2('0x71'):_0x5790c6=as[_0x18a2('0x72')]('me',null,_0xbb8d68);_0x1398e4[_0x4c228c](_0x5790c6[_0x18a2('0x6e')],_0x5790c6[_0x18a2('0x64')]['start'],_0x5790c6[_0x18a2('0x64')]['end']);break;}}else{var _0x5790c6=as[_0x18a2('0x72')](_0x5f0688,_0x156871[_0x18a2('0x3a')],_0xbb8d68);_0x1398e4[_0x4c228c](_0x5790c6['text'],_0x5790c6[_0x18a2('0x64')][_0x18a2('0x73')],_0x5790c6[_0x18a2('0x64')][_0x18a2('0x1c')]);}}}else{var _0x4e904e=_(_0x1239ca[_0x18a2('0x3c')])[_0x18a2('0x3d')]()[_0x18a2('0x2b')](function(_0x1d500a){return _[_0x18a2('0x74')](_0x55f902,[_0x18a2('0x28'),_0x1d500a])?_0x1d500a:undefined;})[_0x18a2('0x75')]()[_0x18a2('0x64')]();if(!_[_0x18a2('0x76')](_0x4e904e)){_0x4e904e['forEach'](function(_0x445d72){if(_0x445d72===_0x18a2('0x77')){_0x18b348[_0x18a2('0x47')](_0x18a2('0x78'),[][_0x18a2('0x79')](_0x1239ca['query'][_0x445d72]));}else if(_0x445d72==='createdAt'){var _0x504e81=JSON[_0x18a2('0x7a')](_0x1239ca[_0x18a2('0x3c')][_0x445d72])['$gte'];var _0x12cc4b=JSON[_0x18a2('0x7a')](_0x1239ca[_0x18a2('0x3c')][_0x445d72])[_0x18a2('0x7b')];_0x18b348['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x504e81,_0x12cc4b);}else{if(_0x1239ca[_0x18a2('0x3c')][_0x445d72]===_0x18a2('0x7c')){_0x18b348[_0x18a2('0x47')]('i.'+_0x445d72+_0x18a2('0x7d'));}else{_0x18b348[_0x18a2('0x47')]('i.'+_0x445d72+_0x18a2('0x7e'),_0x1239ca[_0x18a2('0x3c')][_0x445d72]);}}});}if(_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x7f')]){if(_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x7f')]==0x1){_0x18b348[_0x18a2('0x65')](_0x18a2('0x80'));}else{_0x18b348[_0x18a2('0x65')](_0x18a2('0x81'));}}if(_0x1239ca[_0x18a2('0x3c')]['tag']){_0x43c3f3=_[_0x18a2('0x82')](_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x83')])?_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x83')]:new Array(_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x83')]);_0x43c3f3[_0x18a2('0x84')](function(_0x389d9d){_0x15a3b9['or'](_0x18a2('0x85'),'%,'+_0x389d9d+',%');});}if(_0x1239ca['query'][_0x18a2('0x86')]){var _0x49c322=_0x1239ca[_0x18a2('0x3c')]['filter'][_0x18a2('0x87')]('\x5c','\x5c\x5c')[_0x18a2('0x87')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x49c322)){_0x1398e4['or'](_0x18a2('0x88'),_0x49c322+'%')['or'](_0x18a2('0x89'),_0x49c322+'%');}else{_0x1398e4['or'](_0x18a2('0x8a'),qs[_0x18a2('0x6c')](_0x49c322))['or'](_0x18a2('0x8b'),_0x49c322+'%');}}}_0x18b348[_0x18a2('0x47')](_0x1398e4);_0x18b348[_0x18a2('0x8c')](_0x18a2('0x8d'));var _0x44f88e={'type':db[_0x18a2('0x8e')][_0x18a2('0x8f')][_0x18a2('0x90')],'raw':!![]};var _0x1adfb5=_0x18b348['clone']();_0x1adfb5['field'](_0x18a2('0x8d'));_0x1adfb5[_0x18a2('0x49')](_0x18a2('0x91'),_0x18a2('0x63'));if(_0x50134d[_0x18a2('0x45')]){_0x50134d[_0x18a2('0x45')][_0x18a2('0x84')](function(_0x551db2){var _0xc02426=_0x551db2[0x0]===_0x18a2('0x92')?_0x551db2[0x0]:'i.'+_0x551db2[0x0];_0x18b348[_0x18a2('0x45')](_0xc02426,_0x551db2[0x1]===_0x18a2('0x93')?![]:!![]);});}if(!_['isEmpty'](_0x43c3f3)){_0x18b348['having'](_0x15a3b9);_0x1adfb5[_0x18a2('0x47')]('t.id\x20IN\x20?',_0x43c3f3);}BPromise[_0x18a2('0x94')]()['then'](function(){if(!_0xb331bc){if(_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x77')])return;_0x1adfb5[_0x18a2('0x47')](_0x18a2('0x95'));_0x18b348['where'](_0x18a2('0x95'));return;}if(_0x1239ca[_0x18a2('0x96')][_0x18a2('0x97')]!==_0x18a2('0x98'))return;return _0x1239ca[_0x18a2('0x96')][_0x18a2('0x99')]({'attributes':['id'],'raw':!![]})[_0x18a2('0x24')](function(_0x82e5a9){if(_[_0x18a2('0x76')](_0x82e5a9)){_0x1adfb5[_0x18a2('0x47')](_0x18a2('0x9a'));_0x18b348['where']('i.WhatsappAccountId\x20IS\x20NULL');}else{_0x1adfb5[_0x18a2('0x47')](_0x18a2('0x78'),_[_0x18a2('0x2b')](_0x82e5a9,'id'));_0x18b348[_0x18a2('0x47')](_0x18a2('0x78'),_['map'](_0x82e5a9,'id'));}});})['then'](function(){if(_0x1239ca[_0x18a2('0x96')][_0x18a2('0x97')]==='agent'&&!_0xb331bc&&!_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x77')])return[];return db[_0x18a2('0x9b')][_0x18a2('0x3c')](_0x1adfb5[_0x18a2('0x9c')](),_0x44f88e);})[_0x18a2('0x24')](function(_0x39255f){_0x3631a9[_0x18a2('0x1f')]=_0x39255f['length'];if(_0x3631a9[_0x18a2('0x1f')]===0x0)return[];return db[_0x18a2('0x9b')][_0x18a2('0x3c')](_0x592add[_0x18a2('0x9c')](),_0x44f88e)[_0x18a2('0x24')](function(_0x5d0f6a){_0x57eca3=_[_0x18a2('0x9d')](_0x5d0f6a,'id');_0x44f88e=_['merge'](_0x44f88e,{'model':db[_0x18a2('0x38')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1239ca[_0x18a2('0x3c')][_0x18a2('0x41')]){_0x50134d[_0x18a2('0x40')]['forEach'](function(_0x2d4527){_0x18b348[_0x18a2('0x49')]('i.'+_0x2d4527);});}else{_0x18b348['field'](_0x18a2('0x91'),_0x18a2('0x63'));_0x18b348['field'](_0x18a2('0x9e'),_0x18a2('0x9f'));_0x18b348[_0x18a2('0x49')](_0x18a2('0xa0'),_0x18a2('0xa1'));_0x18b348[_0x18a2('0x49')](_0x18a2('0xa2'),_0x18a2('0x92'));_0x18b348[_0x18a2('0x49')](_0x18a2('0xa3'));_0x18b348[_0x18a2('0x49')](_0x18a2('0xa4'),'Contact.firstName');_0x18b348['field'](_0x18a2('0xa5'),_0x18a2('0xa6'));_0x18b348[_0x18a2('0x49')]('c.email',_0x18a2('0xa7'));_0x18b348[_0x18a2('0x49')](_0x18a2('0xa8'),_0x18a2('0xa9'));_0x18b348[_0x18a2('0x49')]('c.mobile',_0x18a2('0xaa'));_0x18b348[_0x18a2('0x49')]('c.fax',_0x18a2('0xab'));_0x18b348[_0x18a2('0x49')](_0x18a2('0xac'),'Owner.fullname');_0x18b348[_0x18a2('0x49')]('o.internal',_0x18a2('0xad'));_0x18b348[_0x18a2('0x49')]('GROUP_CONCAT(DISTINCT\x20t.id)',_0x18a2('0x2c'));}if(_0x50134d[_0x18a2('0x21')])_0x18b348[_0x18a2('0x21')](_0x50134d[_0x18a2('0x21')]);if(_0x50134d[_0x18a2('0x20')])_0x18b348['offset'](_0x50134d[_0x18a2('0x20')]);return db['sequelize'][_0x18a2('0x3c')](_0x18b348[_0x18a2('0x9c')](),_0x44f88e);})['then'](function(_0x48b6ce){if(_0x48b6ce[_0x18a2('0x42')]>0x0)_0x31c192[_0x18a2('0x47')](_0x18a2('0xae'),_['map'](_0x48b6ce,'id'));return db['sequelize']['query'](_0x31c192[_0x18a2('0x9c')](),_0x44f88e)[_0x18a2('0x24')](function(_0x7ae51b){var _0x2e6e8d=_[_0x18a2('0xaf')](_0x7ae51b,_0x18a2('0xb0'));var _0x45341d=[];_0x48b6ce[_0x18a2('0x84')](function(_0x17cb08){_0x45341d[_0x18a2('0x2f')](updateWhatsappInteraction(_0x17cb08,_0x57eca3,_0x2e6e8d));});return BPromise['all'](_0x45341d);});});})[_0x18a2('0x24')](function(_0x491039){_0x3631a9[_0x18a2('0xb1')]=_0x491039;return _0x3631a9;})[_0x18a2('0x24')](respondWithFilteredResult(_0x2e94d6,_0x50134d))[_0x18a2('0x30')](handleError(_0x2e94d6,null));};exports[_0x18a2('0xb2')]=function(_0x3c24e0,_0x3f39e3){var _0x28151c={'raw':![],'where':{'id':_0x3c24e0[_0x18a2('0xb3')]['id']}},_0x95dab3={};_0x95dab3[_0x18a2('0x3b')]=_[_0x18a2('0x3d')](db[_0x18a2('0x38')][_0x18a2('0x39')]);_0x95dab3['query']=_[_0x18a2('0x3d')](_0x3c24e0[_0x18a2('0x3c')]);_0x95dab3['filters']=_[_0x18a2('0x3f')](_0x95dab3[_0x18a2('0x3b')],_0x95dab3[_0x18a2('0x3c')]);_0x28151c[_0x18a2('0x40')]=_['intersection'](_0x95dab3['model'],qs[_0x18a2('0x41')](_0x3c24e0[_0x18a2('0x3c')][_0x18a2('0x41')]));_0x28151c[_0x18a2('0x40')]=_0x28151c[_0x18a2('0x40')]['length']?_0x28151c['attributes']:_0x95dab3['model'];if(_0x3c24e0[_0x18a2('0x3c')]['includeAll']){_0x28151c[_0x18a2('0xb4')]=[{'all':!![]}];}_0x28151c=_[_0x18a2('0xb5')]({},_0x28151c,_0x3c24e0['options']);return db[_0x18a2('0x38')][_0x18a2('0x62')](_0x28151c)[_0x18a2('0x24')](handleEntityNotFound(_0x3f39e3,null))[_0x18a2('0x24')](respondWithResult(_0x3f39e3,null))[_0x18a2('0x30')](handleError(_0x3f39e3,null));};exports[_0x18a2('0xb6')]=function(_0x4b7205,_0x5d3d69){return db[_0x18a2('0x38')][_0x18a2('0xb6')](_0x4b7205[_0x18a2('0x71')],{})[_0x18a2('0x24')](respondWithResult(_0x5d3d69,0xc9))[_0x18a2('0x30')](handleError(_0x5d3d69,null));};exports[_0x18a2('0xb7')]=function(_0xe33188,_0x14ebd3){if(_0xe33188[_0x18a2('0x71')]['id']){delete _0xe33188[_0x18a2('0x71')]['id'];}return db['WhatsappInteraction'][_0x18a2('0x62')]({'where':{'id':_0xe33188['params']['id']}})[_0x18a2('0x24')](handleEntityNotFound(_0x14ebd3,null))[_0x18a2('0x24')](saveUpdates(_0xe33188[_0x18a2('0x71')],null))['then'](respondWithResult(_0x14ebd3,null))[_0x18a2('0x30')](handleError(_0x14ebd3,null));};exports[_0x18a2('0x25')]=function(_0x2ed9ba,_0x1cbd89){return db['WhatsappInteraction']['find']({'where':{'id':_0x2ed9ba[_0x18a2('0xb3')]['id']}})[_0x18a2('0x24')](handleEntityNotFound(_0x1cbd89,null))['then'](removeEntity(_0x1cbd89,null))['catch'](handleError(_0x1cbd89,null));};exports[_0x18a2('0xb8')]=function(_0x3db6cd,_0x2f0716){return db['WhatsappInteraction']['describe']()[_0x18a2('0x24')](respondWithResult(_0x2f0716,null))[_0x18a2('0x30')](handleError(_0x2f0716,null));};exports['addMessage']=function(_0x238293,_0x21832e,_0x542f27){return db[_0x18a2('0xb9')]['find']({'where':{'id':_0x238293[_0x18a2('0xb3')]['id']}})[_0x18a2('0x24')](handleEntityNotFound(_0x21832e,null))['then'](function(_0x4bd815){if(_0x4bd815){return _0x4bd815[_0x18a2('0xba')](_0x238293[_0x18a2('0x71')][_0x18a2('0xbb')],_[_0x18a2('0xbc')](_0x238293[_0x18a2('0x71')],['ids','id'])||{});}})[_0x18a2('0x24')](respondWithResult(_0x21832e,null))[_0x18a2('0x30')](handleError(_0x21832e,null));};exports['getMessages']=function(_0x3715d0,_0x204d04,_0x3720f3){var _0xd253b3={'raw':![],'where':{}};var _0x17e5bc={};var _0x108e85={'count':0x0,'rows':[]};return db[_0x18a2('0x38')][_0x18a2('0xbd')]({'where':{'id':_0x3715d0['params']['id']}})['then'](handleEntityNotFound(_0x204d04,null))[_0x18a2('0x24')](function(_0x4b71b0){if(_0x4b71b0){_0x17e5bc[_0x18a2('0x3b')]=_[_0x18a2('0x3d')](db[_0x18a2('0xb9')][_0x18a2('0x39')]);_0x17e5bc[_0x18a2('0x3c')]=_[_0x18a2('0x3d')](_0x3715d0['query']);_0x17e5bc[_0x18a2('0x3e')]=_['intersection'](_0x17e5bc['model'],_0x17e5bc[_0x18a2('0x3c')]);_0xd253b3[_0x18a2('0x40')]=_[_0x18a2('0x3f')](_0x17e5bc['model'],qs[_0x18a2('0x41')](_0x3715d0['query'][_0x18a2('0x41')]));_0xd253b3[_0x18a2('0x40')]=_0xd253b3[_0x18a2('0x40')][_0x18a2('0x42')]?_0xd253b3[_0x18a2('0x40')]:_0x17e5bc['model'];if(!_0x3715d0[_0x18a2('0x3c')][_0x18a2('0x43')](_0x18a2('0x44'))){_0xd253b3[_0x18a2('0x21')]=qs[_0x18a2('0x21')](_0x3715d0[_0x18a2('0x3c')][_0x18a2('0x21')]);_0xd253b3[_0x18a2('0x20')]=qs[_0x18a2('0x20')](_0x3715d0[_0x18a2('0x3c')][_0x18a2('0x20')]);}_0xd253b3['order']=qs[_0x18a2('0x46')](_0x3715d0[_0x18a2('0x3c')][_0x18a2('0x46')]);_0xd253b3[_0x18a2('0x47')]=qs[_0x18a2('0x3e')](_[_0x18a2('0xbe')](_0x3715d0['query'],_0x17e5bc['filters']));_0xd253b3[_0x18a2('0x47')]['WhatsappInteractionId']=_0x4b71b0['id'];if(_0x3715d0[_0x18a2('0x3c')][_0x18a2('0x86')]){_0xd253b3['where']=_[_0x18a2('0xb5')](_0xd253b3['where'],{'$or':_['map'](_0xd253b3['attributes'],function(_0x52da3b){var _0x279f16={};_0x279f16[_0x52da3b]={'$like':'%'+_0x3715d0[_0x18a2('0x3c')][_0x18a2('0x86')]+'%'};return _0x279f16;})});}if(_0x3715d0[_0x18a2('0x3c')][_0x18a2('0xbf')]){var _0x570c5b=_0x3715d0[_0x18a2('0x3c')][_0x18a2('0xbf')][_0x18a2('0x2e')](',');var _0x4bc346={};_0x4bc346[_0x570c5b[0x0]]={'$gte':moment(_0x570c5b[0x1])[_0x18a2('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')};_0xd253b3[_0x18a2('0x47')]=_['merge'](_0xd253b3[_0x18a2('0x47')],_0x4bc346);}_0xd253b3=_['merge']({},_0xd253b3,_0x3715d0[_0x18a2('0xc1')]);return db['WhatsappMessage'][_0x18a2('0x1f')]({'where':_0xd253b3[_0x18a2('0x47')]})['then'](function(_0x6ff18b){_0x108e85[_0x18a2('0x1f')]=_0x6ff18b;if(_0x3715d0['query'][_0x18a2('0xc2')]){_0xd253b3['include']=[{'all':!![]}];}return db['WhatsappMessage']['findAll'](_0xd253b3);})[_0x18a2('0x24')](function(_0x2715e0){_0x108e85[_0x18a2('0xb1')]=_0x2715e0;return _0x108e85;});}})[_0x18a2('0x24')](respondWithFilteredResult(_0x204d04,_0xd253b3))[_0x18a2('0x30')](handleError(_0x204d04,null));};exports['addTags']=function(_0x208d50,_0x300ac7,_0x287337){return db[_0x18a2('0x38')][_0x18a2('0x62')]({'where':{'id':_0x208d50[_0x18a2('0xb3')]['id']}})[_0x18a2('0x24')](handleEntityNotFound(_0x300ac7,null))[_0x18a2('0x24')](function(_0x24dc07){if(_0x24dc07){return _0x24dc07[_0x18a2('0xc3')](_0x208d50[_0x18a2('0x71')][_0x18a2('0xbb')],_[_0x18a2('0xbc')](_0x208d50[_0x18a2('0x71')],['ids','id'])||{})[_0x18a2('0xc4')](function(){return db[_0x18a2('0x6f')][_0x18a2('0xc5')]({'attributes':['id',_0x18a2('0x28'),_0x18a2('0x4a')],'where':{'id':_0x208d50[_0x18a2('0x71')]['ids']}});})[_0x18a2('0x24')](function(_0x2a53d8){socket[_0x18a2('0xc6')](_0x18a2('0xc7'),{'id':Number(_0x208d50['params']['id']),'tags':_0x2a53d8||[]});return{'id':Number(_0x208d50[_0x18a2('0xb3')]['id']),'tags':_0x2a53d8||[]};});}})['then'](respondWithResult(_0x300ac7,null))[_0x18a2('0x30')](handleError(_0x300ac7,null));};exports[_0x18a2('0xc8')]=function(_0x481358,_0xb8f389,_0x322093){return db['WhatsappInteraction'][_0x18a2('0x62')]({'where':{'id':_0x481358[_0x18a2('0xb3')]['id']}})['then'](handleEntityNotFound(_0xb8f389,null))[_0x18a2('0x24')](function(_0x414e3a){if(_0x414e3a){return _0x414e3a[_0x18a2('0xc8')](_0x481358[_0x18a2('0x3c')][_0x18a2('0xbb')]);}})[_0x18a2('0x24')](respondWithStatusCode(_0xb8f389,null))['catch'](handleError(_0xb8f389,null));};exports['download']=function(_0x278f39,_0x596327){var _0x5bdde4=moment()[_0x18a2('0xc9')]()[_0x18a2('0x9c')]();var _0x2171ba=path[_0x18a2('0xca')](config[_0x18a2('0xcb')],'server',_0x18a2('0xcc'),_0x18a2('0xcd'));var _0x416e23=path[_0x18a2('0xca')](config[_0x18a2('0xcb')],'server',_0x18a2('0xcc'),_0x18a2('0xce'));var _0x206a3d=path['join'](_0x2171ba,_0x5bdde4);var _0x53e356=util['format']('transcript-%d-%s.zip',_0x278f39[_0x18a2('0xb3')]['id'],_0x5bdde4);var _0x1d5a9b=path[_0x18a2('0xca')](_0x2171ba,_0x53e356);var _0xad4474=[];_0xad4474[_0x18a2('0x2f')]({'model':db[_0x18a2('0xcf')],'as':_0x18a2('0xcf'),'attributes':['id',_0x18a2('0xd0')],'raw':!![]});_0xad4474[_0x18a2('0x2f')]({'model':db['CmContact'],'as':_0x18a2('0x68'),'attributes':['id',_0x18a2('0xd1'),_0x18a2('0xd2')],'raw':!![]});if(_0x278f39[_0x18a2('0x3c')][_0x18a2('0xce')]){_0xad4474[_0x18a2('0x2f')]({'model':db[_0x18a2('0xd3')],'as':'Attachment','raw':!![]});}var _0x430b0a=[{'model':db[_0x18a2('0xb9')],'as':_0x18a2('0xd4'),'attributes':['id',_0x18a2('0x71'),_0x18a2('0xd5'),'direction',_0x18a2('0xd6'),'read'],'include':_0xad4474}];_0x430b0a[_0x18a2('0x2f')]({'model':db[_0x18a2('0xd7')],'as':_0x18a2('0xd8'),'attributes':['id','name']});_0x430b0a[_0x18a2('0x2f')]({'model':db['User'],'as':_0x18a2('0xd9'),'attributes':['id','fullname']});return db[_0x18a2('0x38')][_0x18a2('0x62')]({'where':{'id':_0x278f39[_0x18a2('0xb3')]['id']},'include':_0x430b0a})['then'](handleEntityNotFound(_0x596327,null))[_0x18a2('0x24')](function(_0x4f271e){if(_0x4f271e){var _0x5a2b1f=_0x4f271e[_0x18a2('0xda')]({'plain':!![]});fs[_0x18a2('0xdb')](_0x206a3d);var _0x2bcfa6={'channel':_0x18a2('0xdc'),'account':_0x5a2b1f[_0x18a2('0xd8')][_0x18a2('0x28')],'agent':_0x5a2b1f[_0x18a2('0xd9')]?_0x5a2b1f[_0x18a2('0xd9')][_0x18a2('0xd0')]:_0x18a2('0xdd'),'createdAt':moment(_0x5a2b1f[_0x18a2('0xd5')])[_0x18a2('0xc0')](_0x18a2('0xde'))[_0x18a2('0x9c')](),'closedAt':_0x5a2b1f[_0x18a2('0x35')]?moment(_0x5a2b1f[_0x18a2('0xdf')])[_0x18a2('0xc0')](_0x18a2('0xde'))['toString']():'','disposition':_0x5a2b1f[_0x18a2('0xe0')],'messages':_(_0x5a2b1f[_0x18a2('0xd4')])['filter']({'secret':![]})['map'](function(_0x4a06ad){if(_0x4a06ad[_0x18a2('0xd3')]){var _0x53057b=path[_0x18a2('0xca')](_0x416e23,_0x4a06ad['Attachment']['basename']);if(fs['existsSync'](_0x53057b)){fs[_0x18a2('0xe1')](_0x53057b)[_0x18a2('0xe2')](fs[_0x18a2('0xe3')](path['join'](_0x206a3d,_0x4a06ad['Attachment']['basename'])));}}return{'date':moment(_0x4a06ad[_0x18a2('0xd5')])[_0x18a2('0xc0')]('YYYY-MM-DD\x20HH:mm:ss')[_0x18a2('0x9c')](),'sender':_0x4a06ad[_0x18a2('0xe4')]===_0x18a2('0xe5')?_0x4a06ad[_0x18a2('0xcf')]?_0x4a06ad['User'][_0x18a2('0xd0')]:_0x18a2('0xe6'):_0x4a06ad['Contact'][_0x18a2('0xd1')]+(_0x4a06ad[_0x18a2('0x68')][_0x18a2('0xd2')]?'\x20'+_0x4a06ad[_0x18a2('0x68')][_0x18a2('0xd2')]:''),'body':_0x4a06ad[_0x18a2('0xd3')]?_0x4a06ad[_0x18a2('0xd3')][_0x18a2('0xe7')]:_0x4a06ad[_0x18a2('0x71')],'direction':_0x4a06ad[_0x18a2('0xe4')]===_0x18a2('0xe5')?'A':'C','secret':_0x4a06ad[_0x18a2('0xd6')],'read':_0x4a06ad[_0x18a2('0x7f')],'attachment':_0x4a06ad[_0x18a2('0xd3')]};})[_0x18a2('0x64')]()};return ejs[_0x18a2('0xe8')](path[_0x18a2('0xca')](config[_0x18a2('0xcb')],_0x18a2('0xe9'),_0x18a2('0xea'),_0x18a2('0xeb')),{'interaction':_0x2bcfa6})[_0x18a2('0x24')](function(_0x1c543e){var _0x239650=path[_0x18a2('0xca')](_0x206a3d,'transcript-'+_0x5a2b1f['id']+'-'+_0x5bdde4+_0x18a2('0xec'));var _0x2e4e56={'path':_0x239650,'channel':_0x18a2('0xdc'),'interactionId':_0x5a2b1f['id']};return pdf[_0x18a2('0xed')](_0x1c543e,_0x2e4e56);})['then'](function(){return new BPromise(function(_0x4c82e9,_0x429545){zipdir(_0x206a3d,{'saveTo':_0x1d5a9b},function(_0x2a2a7f,_0x1446e3){if(_0x2a2a7f)return _0x429545(_0x2a2a7f);return _0x4c82e9(_0x1446e3);});})[_0x18a2('0x24')](function(){return new BPromise(function(_0x1b8ade,_0x5ac3d0){rimraf(_0x206a3d,function(_0x32fd17){if(_0x32fd17)_0x5ac3d0(_0x32fd17);return _0x1b8ade();});});})[_0x18a2('0x24')](function(){return _0x596327[_0x18a2('0xee')](_0x1d5a9b,_0x53e356,function(_0x3882e4){if(_0x3882e4){console[_0x18a2('0xef')](_0x18a2('0xf0'),_0x3882e4);}else{fs[_0x18a2('0xf1')](_0x1d5a9b);}});});});}else{return _0x596327['sendStatus'](0xc8);}})[_0x18a2('0x30')](handleError(_0x596327,null));};