Built motion from commit 85328c08.|2.5.50
[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 _0x86dc=['Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','all','rows','show','rawAttributes','include','options','create','body','params','destroy','describe','addMessage','ids','omit','findOne','WhatsappMessage','nolimit','order','sort','format','findAll','addTags','setTags','spread','emit','whatsappInteractionTags:save','removeTags','unix','join','root','server','tmp','files','attachments','transcript-%d-%s.zip','firstName','lastName','Attachment','Messages','direction','secret','WhatsappAccount','Account','Owner','get','mkdirSync','N.A.','YYYY-MM-DD\x20HH:mm:ss','disposition','basename','createReadStream','pipe','createWriteStream','out','System','renderFile','views','downloadInteraction.ejs','transcript-','createPdfFromHTML','download','log','err','eml-format','fast-json-patch','request-promise','moment','bluebird','util','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','end','error','name','send','fullname','Tags','TagIds','split','forEach','push','catch','waiting','talking','answered','unmanaged','total','closed','UserId','WhatsappInteraction','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','where','pick','select','field','color','tools_tags','u.fullname','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','from','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','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','length','conditions','unreadMessages','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','value','ContactId','buildExpression','text','start','Tag','map','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','find','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','parse','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','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?','i.id','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','agent','i.WhatsappAccountId\x20IS\x20NULL','user','sequelize','toString','merge','Account.key','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','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile'];(function(_0x315b61,_0x4bb11e){var _0x3521e8=function(_0x5e6389){while(--_0x5e6389){_0x315b61['push'](_0x315b61['shift']());}};_0x3521e8(++_0x4bb11e);}(_0x86dc,0x13e));var _0xc86d=function(_0x56d591,_0x3191a3){_0x56d591=_0x56d591-0x0;var _0x4bf0ff=_0x86dc[_0x56d591];return _0x4bf0ff;};'use strict';var emlformat=require(_0xc86d('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc86d('0x1'));var rp=require(_0xc86d('0x2'));var moment=require(_0xc86d('0x3'));var BPromise=require(_0xc86d('0x4'));var Mustache=require('mustache');var util=require(_0xc86d('0x5'));var path=require('path');var sox=require(_0xc86d('0x6'));var csv=require('to-csv');var ejs=require(_0xc86d('0x7'));var fs=require('fs');var fs_extra=require(_0xc86d('0x8'));var _=require(_0xc86d('0x9'));var squel=require('squel');var crypto=require(_0xc86d('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xc86d('0xb'));var toCsv=require(_0xc86d('0xc'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xc86d('0xd'));var authService=require(_0xc86d('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xc86d('0xf'));var pdf=require(_0xc86d('0x10'));var hardwareService=require(_0xc86d('0x11'));var logger=require(_0xc86d('0x12'))(_0xc86d('0x13'));var utils=require(_0xc86d('0x14'));var config=require(_0xc86d('0x15'));var licenseUtil=require(_0xc86d('0x16'));var db=require(_0xc86d('0x17'))['db'];config[_0xc86d('0x18')]=_[_0xc86d('0x19')](config[_0xc86d('0x18')],{'host':_0xc86d('0x1a'),'port':0x18eb});var socket=require(_0xc86d('0x1b'))(new Redis(config[_0xc86d('0x18')]));require(_0xc86d('0x1c'))[_0xc86d('0x1d')](socket);function respondWithStatusCode(_0x313c16,_0x2bc469){_0x2bc469=_0x2bc469||0xcc;return function(_0x24c9c3){if(_0x24c9c3){return _0x313c16[_0xc86d('0x1e')](_0x2bc469);}return _0x313c16['status'](_0x2bc469)['end']();};}function respondWithResult(_0x49af1f,_0x3a253c){_0x3a253c=_0x3a253c||0xc8;return function(_0x376a90){if(_0x376a90){return _0x49af1f[_0xc86d('0x1f')](_0x3a253c)[_0xc86d('0x20')](_0x376a90);}};}function respondWithFilteredResult(_0x3a95c2,_0x3d7e72){return function(_0x279406){if(_0x279406){var _0x5f3ece=typeof _0x3d7e72['offset']===_0xc86d('0x21')&&typeof _0x3d7e72[_0xc86d('0x22')]===_0xc86d('0x21');var _0x56f510=_0x279406[_0xc86d('0x23')];var _0xb25b1b=_0x5f3ece?0x0:_0x3d7e72[_0xc86d('0x24')];var _0x4eb0e5=_0x5f3ece?_0x279406[_0xc86d('0x23')]:_0x3d7e72[_0xc86d('0x24')]+_0x3d7e72['limit'];var _0x34bb85;if(_0x4eb0e5>=_0x56f510){_0x4eb0e5=_0x56f510;_0x34bb85=0xc8;}else{_0x34bb85=0xce;}_0x3a95c2[_0xc86d('0x1f')](_0x34bb85);return _0x3a95c2[_0xc86d('0x25')](_0xc86d('0x26'),_0xb25b1b+'-'+_0x4eb0e5+'/'+_0x56f510)['json'](_0x279406);}return null;};}function patchUpdates(_0x2a0308){return function(_0x350cda){try{jsonpatch[_0xc86d('0x27')](_0x350cda,_0x2a0308,!![]);}catch(_0x1bb9ed){return BPromise[_0xc86d('0x28')](_0x1bb9ed);}return _0x350cda['save']();};}function saveUpdates(_0x38fb11,_0x419afa){return function(_0x41de64){if(_0x41de64){return _0x41de64[_0xc86d('0x29')](_0x38fb11)[_0xc86d('0x2a')](function(_0x5347f7){return _0x5347f7;});}return null;};}function removeEntity(_0x1458fe,_0x54303e){return function(_0x4e1312){if(_0x4e1312){return _0x4e1312['destroy']()[_0xc86d('0x2a')](function(){_0x1458fe[_0xc86d('0x1f')](0xcc)[_0xc86d('0x2b')]();});}};}function handleEntityNotFound(_0x1e29be,_0xd8b255){return function(_0x1ad978){if(!_0x1ad978){_0x1e29be[_0xc86d('0x1e')](0x194);}return _0x1ad978;};}function handleError(_0x2a35b3,_0x4db581){_0x4db581=_0x4db581||0x1f4;return function(_0x397a55){logger[_0xc86d('0x2c')](_0x397a55['stack']);if(_0x397a55['name']){delete _0x397a55[_0xc86d('0x2d')];}_0x2a35b3[_0xc86d('0x1f')](_0x4db581)[_0xc86d('0x2e')](_0x397a55);};}function getInteractionUsers(_0x271b23,_0x384bc9){return new BPromise(function(_0x217415,_0x27e478){try{if(_0x384bc9[_0x271b23['id']]){_0x271b23['Users']=_['map'](_0x384bc9[_0x271b23['id']],function(_0x205a2b){return{'id':_0x205a2b['id'],'fullname':_0x205a2b[_0xc86d('0x2f')]};});}}catch(_0x18e468){_0x27e478(_0x18e468);}_0x217415(_0x271b23);});}function getInteractionTags(_0x219673,_0x28dd82){return new BPromise(function(_0x5b80cb,_0x3ca99a){try{if(_0x219673['TagIds']){_0x219673[_0xc86d('0x30')]=[];_0x219673[_0xc86d('0x31')][_0xc86d('0x32')](',')[_0xc86d('0x33')](function(_0x3a469d){_0x219673[_0xc86d('0x30')][_0xc86d('0x34')](_0x28dd82[_0x3a469d]);});}delete _0x219673[_0xc86d('0x31')];}catch(_0x12ea63){_0x3ca99a(_0x12ea63);}_0x5b80cb(_0x219673);});}function updateWhatsappInteraction(_0x4e51bd,_0x557a73,_0x52c552){return new BPromise(function(_0x4ce856,_0x50d014){return getInteractionUsers(_0x4e51bd,_0x52c552)['then'](function(_0x412dd7){return getInteractionTags(_0x412dd7,_0x557a73);})[_0xc86d('0x2a')](function(_0x3fa1dd){return getStateInteraction(_0x3fa1dd);})[_0xc86d('0x2a')](function(_0x2cba68){_0x4ce856(_0x2cba68);})[_0xc86d('0x35')](function(_0x51924c){_0x50d014(_0x51924c);});});}function getStateInteraction(_0x3b0940){return new BPromise(function(_0x288c34){_0x3b0940[_0xc86d('0x36')]=0x0;_0x3b0940[_0xc86d('0x37')]=0x0;_0x3b0940[_0xc86d('0x38')]=0x0;_0x3b0940[_0xc86d('0x39')]=0x0;_0x3b0940[_0xc86d('0x3a')]=0x0;if(!_0x3b0940[_0xc86d('0x3b')]&&!_0x3b0940[_0xc86d('0x3c')]){_0x3b0940[_0xc86d('0x36')]+=0x1;}if(!_0x3b0940['closed']&&_0x3b0940[_0xc86d('0x3c')]){_0x3b0940['talking']+=0x1;if(_0x3b0940[_0xc86d('0x36')]){_0x3b0940[_0xc86d('0x36')]-=0x1;}}if(_0x3b0940[_0xc86d('0x3b')]&&_0x3b0940['UserId']){_0x3b0940[_0xc86d('0x38')]+=0x1;if(_0x3b0940[_0xc86d('0x37')]){_0x3b0940[_0xc86d('0x37')]-=0x1;}}if(_0x3b0940['closed']&&!_0x3b0940[_0xc86d('0x3c')]){_0x3b0940[_0xc86d('0x39')]+=0x1;if(_0x3b0940[_0xc86d('0x36')]){_0x3b0940[_0xc86d('0x36')]-=0x1;}}_0x3b0940[_0xc86d('0x3a')]+=0x1;_0x288c34(_0x3b0940);});}exports['index']=function(_0x25e94e,_0x30c566){var _0xdbe2c2={},_0x38d25e={},_0x3bd5ce={'count':0x0,'rows':[]};var _0x117d82=_['map'](db[_0xc86d('0x3d')]['rawAttributes'],function(_0x2023b5){return{'name':_0x2023b5[_0xc86d('0x3e')],'type':_0x2023b5[_0xc86d('0x3f')][_0xc86d('0x40')]};});_0x38d25e['model']=_['map'](_0x117d82,'name');_0x38d25e[_0xc86d('0x41')]=_[_0xc86d('0x42')](_0x25e94e[_0xc86d('0x41')]);_0x38d25e[_0xc86d('0x43')]=_['intersection'](_0x38d25e[_0xc86d('0x44')],_0x38d25e[_0xc86d('0x41')]);_0xdbe2c2[_0xc86d('0x45')]=_[_0xc86d('0x46')](_0x38d25e[_0xc86d('0x44')],qs['fields'](_0x25e94e[_0xc86d('0x41')][_0xc86d('0x47')]));_0xdbe2c2[_0xc86d('0x45')]=_0xdbe2c2[_0xc86d('0x45')]['length']?_0xdbe2c2[_0xc86d('0x45')]:_0x38d25e['model'];if(!_0x25e94e['query'][_0xc86d('0x48')]('nolimit')){_0xdbe2c2[_0xc86d('0x22')]=qs[_0xc86d('0x22')](_0x25e94e[_0xc86d('0x41')][_0xc86d('0x22')]);_0xdbe2c2['offset']=qs[_0xc86d('0x24')](_0x25e94e[_0xc86d('0x41')][_0xc86d('0x24')]);}_0xdbe2c2['order']=qs['sort'](_0x25e94e[_0xc86d('0x41')]['sort']);_0xdbe2c2[_0xc86d('0x49')]=qs[_0xc86d('0x43')](_[_0xc86d('0x4a')](_0x25e94e['query'],_0x38d25e['filters']),_0x117d82);var _0xe8a2aa=[];var _0x21b745=squel[_0xc86d('0x4b')]()['field']('id')[_0xc86d('0x4c')]('name')[_0xc86d('0x4c')](_0xc86d('0x4d'))['from'](_0xc86d('0x4e'));var _0x401ba4=squel['select']()[_0xc86d('0x4c')]('u.id')[_0xc86d('0x4c')](_0xc86d('0x4f'))[_0xc86d('0x4c')]('ui.WhatsappInteractionId')['from'](_0xc86d('0x50'),'ui')[_0xc86d('0x51')](_0xc86d('0x52'),'u',_0xc86d('0x53'));var _0x4fdeb8=squel[_0xc86d('0x4b')]()[_0xc86d('0x54')](_0xc86d('0x55'),'i')[_0xc86d('0x51')](_0xc86d('0x56'),'c',_0xc86d('0x57'))['left_join'](_0xc86d('0x52'),'o',_0xc86d('0x58'))[_0xc86d('0x51')](_0xc86d('0x59'),'a',_0xc86d('0x5a'))[_0xc86d('0x51')](_0xc86d('0x5b'),'me',_0xc86d('0x5c'))['left_join']('whatsapp_interaction_has_tags','it',_0xc86d('0x5d'))['left_join'](_0xc86d('0x4e'),'t',_0xc86d('0x5e'));var _0x52da8c=squel[_0xc86d('0x5f')]();var _0x64d4f7=[];var _0x2bf181=squel[_0xc86d('0x5f')]();var _0x2d8103;if(_0x25e94e[_0xc86d('0x41')][_0xc86d('0x60')]){_0x2d8103=as[_0xc86d('0x61')](_0x25e94e['query'][_0xc86d('0x60')]);var _0x28e7e3=_0x2d8103[_0xc86d('0x62')];for(var _0x345ae0=0x0;_0x345ae0<_0x2d8103['conditions'][_0xc86d('0x63')];_0x345ae0++){var _0x5cfb45=_0x2d8103[_0xc86d('0x64')][_0x345ae0];var _0x3a7900='i';var _0x1612d1=_['find'](_0x117d82,[_0xc86d('0x2d'),_0x5cfb45[_0xc86d('0x4c')]]);if(!_0x1612d1){switch(_0x5cfb45[_0xc86d('0x4c')]){case _0xc86d('0x65'):if(_0x5cfb45['value']==0x1){_0x4fdeb8['having']('`'+_0x5cfb45[_0xc86d('0x4c')]+'`\x20=\x200');}else{_0x4fdeb8[_0xc86d('0x66')]('`'+_0x5cfb45['field']+_0xc86d('0x67'));}break;case _0xc86d('0x68'):if(_0x5cfb45[_0xc86d('0x69')]==='$substring'){if(_0x5cfb45['value']['split']('\x20')[_0xc86d('0x63')]>0x1){_0x52da8c[_0x28e7e3](_0xc86d('0x6a'),qs[_0xc86d('0x6b')](_0x5cfb45[_0xc86d('0x6c')]),null);}else{var _0x7a5d0c='%'+_0x5cfb45[_0xc86d('0x6c')]+'%';_0x52da8c[_0x28e7e3]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x7a5d0c,_0x7a5d0c,_0x7a5d0c);}}else{_0x1612d1=_['find'](_0x117d82,[_0xc86d('0x2d'),_0xc86d('0x6d')]);_0x5cfb45[_0xc86d('0x4c')]=_0xc86d('0x6d');_0x4cacd3=as[_0xc86d('0x6e')](_0x3a7900,_0x1612d1[_0xc86d('0x3f')],_0x5cfb45);_0x52da8c[_0x28e7e3](_0x4cacd3[_0xc86d('0x6f')],_0x4cacd3[_0xc86d('0x6c')][_0xc86d('0x70')],_0x4cacd3['value'][_0xc86d('0x2b')]);}break;case _0xc86d('0x71'):var _0x5aa7be=_0x5cfb45['value']['split'](',')[_0xc86d('0x72')](function(_0x1d92d8){return Number(_0x1d92d8);});_0x5aa7be[_0xc86d('0x33')](function(_0x1c96ca){_0x2bf181['or'](_0xc86d('0x73'),'%,'+_0x1c96ca+',%');});_0x64d4f7=_[_0xc86d('0x74')](_0x64d4f7,_0x5aa7be);break;case _0xc86d('0x75'):if(_0x5cfb45[_0xc86d('0x69')]==='$substring'){_0x52da8c[_0x28e7e3](_0xc86d('0x76'),'%'+_0x5cfb45['value']+'%',null);}else{_0x1612d1=_[_0xc86d('0x77')](_0x117d82,[_0xc86d('0x2d'),_0xc86d('0x3c')]);_0x5cfb45[_0xc86d('0x4c')]=_0xc86d('0x3c');_0x4cacd3=as[_0xc86d('0x6e')](_0x3a7900,_0x1612d1[_0xc86d('0x3f')],_0x5cfb45);_0x52da8c[_0x28e7e3](_0x4cacd3[_0xc86d('0x6f')],_0x4cacd3[_0xc86d('0x6c')][_0xc86d('0x70')],_0x4cacd3[_0xc86d('0x6c')][_0xc86d('0x2b')]);}break;case'body':_0x4cacd3=as[_0xc86d('0x6e')]('me',null,_0x5cfb45);_0x52da8c[_0x28e7e3](_0x4cacd3[_0xc86d('0x6f')],_0x4cacd3[_0xc86d('0x6c')][_0xc86d('0x70')],_0x4cacd3[_0xc86d('0x6c')][_0xc86d('0x2b')]);break;}}else{var _0x4cacd3=as['buildExpression'](_0x3a7900,_0x1612d1[_0xc86d('0x3f')],_0x5cfb45);_0x52da8c[_0x28e7e3](_0x4cacd3[_0xc86d('0x6f')],_0x4cacd3[_0xc86d('0x6c')]['start'],_0x4cacd3[_0xc86d('0x6c')][_0xc86d('0x2b')]);}}}else{var _0x542d27=_(_0x25e94e['query'])[_0xc86d('0x42')]()[_0xc86d('0x72')](function(_0x332cae){return _[_0xc86d('0x78')](_0x117d82,[_0xc86d('0x2d'),_0x332cae])?_0x332cae:undefined;})[_0xc86d('0x79')]()[_0xc86d('0x6c')]();if(!_[_0xc86d('0x7a')](_0x542d27)){_0x542d27[_0xc86d('0x33')](function(_0xd550a3){if(_0xd550a3===_0xc86d('0x7b')){_0x4fdeb8[_0xc86d('0x49')](_0xc86d('0x7c'),[][_0xc86d('0x7d')](_0x25e94e[_0xc86d('0x41')][_0xd550a3]));}else if(_0xd550a3===_0xc86d('0x7e')){var _0x20ce5b=JSON[_0xc86d('0x7f')](_0x25e94e['query'][_0xd550a3])[_0xc86d('0x80')];var _0x29ec29=JSON['parse'](_0x25e94e['query'][_0xd550a3])[_0xc86d('0x81')];_0x4fdeb8['where'](_0xc86d('0x82'),_0x20ce5b,_0x29ec29);}else{if(_0x25e94e[_0xc86d('0x41')][_0xd550a3]===_0xc86d('0x83')){_0x4fdeb8['where']('i.'+_0xd550a3+_0xc86d('0x84'));}else{_0x4fdeb8[_0xc86d('0x49')]('i.'+_0xd550a3+_0xc86d('0x85'),_0x25e94e[_0xc86d('0x41')][_0xd550a3]);}}});}if(_0x25e94e[_0xc86d('0x41')][_0xc86d('0x86')]){if(_0x25e94e[_0xc86d('0x41')]['read']==0x1){_0x4fdeb8[_0xc86d('0x66')](_0xc86d('0x87'));}else{_0x4fdeb8[_0xc86d('0x66')](_0xc86d('0x88'));}}if(_0x25e94e[_0xc86d('0x41')][_0xc86d('0x89')]){_0x64d4f7=_[_0xc86d('0x8a')](_0x25e94e[_0xc86d('0x41')][_0xc86d('0x89')])?_0x25e94e[_0xc86d('0x41')][_0xc86d('0x89')]:new Array(_0x25e94e[_0xc86d('0x41')][_0xc86d('0x89')]);_0x64d4f7[_0xc86d('0x33')](function(_0x13c6a5){_0x2bf181['or'](_0xc86d('0x73'),'%,'+_0x13c6a5+',%');});}if(_0x25e94e[_0xc86d('0x41')][_0xc86d('0x8b')]){var _0x46ba36=_0x25e94e['query'][_0xc86d('0x8b')][_0xc86d('0x8c')]('\x5c','\x5c\x5c')[_0xc86d('0x8c')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x46ba36)){_0x52da8c['or'](_0xc86d('0x8d'),_0x46ba36+'%')['or'](_0xc86d('0x8e'),_0x46ba36+'%');}else{_0x52da8c['or'](_0xc86d('0x8f'),qs[_0xc86d('0x6b')](_0x46ba36))['or'](_0xc86d('0x90'),_0x46ba36+'%');}}}_0x4fdeb8[_0xc86d('0x49')](_0x52da8c);_0x4fdeb8['group'](_0xc86d('0x91'));var _0x45d52e={'type':db['Sequelize'][_0xc86d('0x92')][_0xc86d('0x93')],'raw':!![]};var _0x43a3bc=_0x4fdeb8['clone']();_0x43a3bc[_0xc86d('0x4c')](_0xc86d('0x91'));_0x43a3bc[_0xc86d('0x4c')](_0xc86d('0x94'),_0xc86d('0x65'));if(_0xdbe2c2['order']){_0xdbe2c2['order'][_0xc86d('0x33')](function(_0x512f2e){var _0x4bbac8=_0x512f2e[0x0]===_0xc86d('0x95')?_0x512f2e[0x0]:'i.'+_0x512f2e[0x0];_0x4fdeb8['order'](_0x4bbac8,_0x512f2e[0x1]===_0xc86d('0x96')?![]:!![]);});}if(!_[_0xc86d('0x7a')](_0x64d4f7)){_0x4fdeb8[_0xc86d('0x66')](_0x2bf181);_0x43a3bc[_0xc86d('0x49')](_0xc86d('0x97'),_0x64d4f7);}BPromise[_0xc86d('0x98')]()[_0xc86d('0x2a')](function(){if(!_0x2d8103){if(_0x25e94e[_0xc86d('0x41')][_0xc86d('0x7b')])return;_0x43a3bc[_0xc86d('0x49')](_0xc86d('0x99'));_0x4fdeb8[_0xc86d('0x49')](_0xc86d('0x99'));return;}if(_0x25e94e['user'][_0xc86d('0x9a')]!==_0xc86d('0x9b'))return;return _0x25e94e['user']['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})['then'](function(_0x2789ad){if(_[_0xc86d('0x7a')](_0x2789ad)){_0x43a3bc[_0xc86d('0x49')](_0xc86d('0x9c'));_0x4fdeb8[_0xc86d('0x49')](_0xc86d('0x9c'));}else{_0x43a3bc[_0xc86d('0x49')]('i.WhatsappAccountId\x20IN\x20?',_[_0xc86d('0x72')](_0x2789ad,'id'));_0x4fdeb8[_0xc86d('0x49')](_0xc86d('0x7c'),_['map'](_0x2789ad,'id'));}});})[_0xc86d('0x2a')](function(){if(_0x25e94e[_0xc86d('0x9d')]['role']===_0xc86d('0x9b')&&!_0x2d8103&&!_0x25e94e[_0xc86d('0x41')]['WhatsappAccountId'])return[];return db[_0xc86d('0x9e')]['query'](_0x43a3bc[_0xc86d('0x9f')](),_0x45d52e);})[_0xc86d('0x2a')](function(_0x449c2f){_0x3bd5ce['count']=_0x449c2f[_0xc86d('0x63')];if(_0x3bd5ce[_0xc86d('0x23')]===0x0)return[];return db[_0xc86d('0x9e')][_0xc86d('0x41')](_0x21b745[_0xc86d('0x9f')](),_0x45d52e)[_0xc86d('0x2a')](function(_0x576e56){_0xe8a2aa=_['keyBy'](_0x576e56,'id');_0x45d52e=_[_0xc86d('0xa0')](_0x45d52e,{'model':db[_0xc86d('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x25e94e[_0xc86d('0x41')]['fields']){_0xdbe2c2[_0xc86d('0x45')][_0xc86d('0x33')](function(_0xba3b4f){_0x4fdeb8[_0xc86d('0x4c')]('i.'+_0xba3b4f);});}else{_0x4fdeb8['field'](_0xc86d('0x94'),_0xc86d('0x65'));_0x4fdeb8['field']('a.key',_0xc86d('0xa1'));_0x4fdeb8[_0xc86d('0x4c')]('a.mandatoryDisposition',_0xc86d('0xa2'));_0x4fdeb8[_0xc86d('0x4c')](_0xc86d('0xa3'),_0xc86d('0x95'));_0x4fdeb8['field'](_0xc86d('0xa4'));_0x4fdeb8['field'](_0xc86d('0xa5'),_0xc86d('0xa6'));_0x4fdeb8[_0xc86d('0x4c')](_0xc86d('0xa7'),_0xc86d('0xa8'));_0x4fdeb8[_0xc86d('0x4c')](_0xc86d('0xa9'),_0xc86d('0xaa'));_0x4fdeb8['field'](_0xc86d('0xab'),_0xc86d('0xac'));_0x4fdeb8[_0xc86d('0x4c')](_0xc86d('0xad'),'Contact.mobile');_0x4fdeb8[_0xc86d('0x4c')]('c.fax',_0xc86d('0xae'));_0x4fdeb8[_0xc86d('0x4c')](_0xc86d('0xaf'),_0xc86d('0xb0'));_0x4fdeb8[_0xc86d('0x4c')](_0xc86d('0xb1'),_0xc86d('0xb2'));_0x4fdeb8['field'](_0xc86d('0xb3'),_0xc86d('0x31'));}if(_0xdbe2c2['limit'])_0x4fdeb8['limit'](_0xdbe2c2[_0xc86d('0x22')]);if(_0xdbe2c2[_0xc86d('0x24')])_0x4fdeb8['offset'](_0xdbe2c2[_0xc86d('0x24')]);return db[_0xc86d('0x9e')][_0xc86d('0x41')](_0x4fdeb8[_0xc86d('0x9f')](),_0x45d52e);})[_0xc86d('0x2a')](function(_0x1c14d6){if(_0x1c14d6[_0xc86d('0x63')]>0x0)_0x401ba4[_0xc86d('0x49')](_0xc86d('0xb4'),_['map'](_0x1c14d6,'id'));return db['sequelize'][_0xc86d('0x41')](_0x401ba4[_0xc86d('0x9f')](),_0x45d52e)[_0xc86d('0x2a')](function(_0x5a300b){var _0x389f19=_[_0xc86d('0xb5')](_0x5a300b,_0xc86d('0xb6'));var _0x5a1571=[];_0x1c14d6[_0xc86d('0x33')](function(_0x2820a5){_0x5a1571['push'](updateWhatsappInteraction(_0x2820a5,_0xe8a2aa,_0x389f19));});return BPromise[_0xc86d('0xb7')](_0x5a1571);});});})[_0xc86d('0x2a')](function(_0x345bae){_0x3bd5ce[_0xc86d('0xb8')]=_0x345bae;return _0x3bd5ce;})[_0xc86d('0x2a')](respondWithFilteredResult(_0x30c566,_0xdbe2c2))[_0xc86d('0x35')](handleError(_0x30c566,null));};exports[_0xc86d('0xb9')]=function(_0x553ab0,_0x2a09d9){var _0xd7ad53={'raw':![],'where':{'id':_0x553ab0['params']['id']}},_0x541c22={};_0x541c22[_0xc86d('0x44')]=_[_0xc86d('0x42')](db['WhatsappInteraction'][_0xc86d('0xba')]);_0x541c22[_0xc86d('0x41')]=_[_0xc86d('0x42')](_0x553ab0[_0xc86d('0x41')]);_0x541c22[_0xc86d('0x43')]=_['intersection'](_0x541c22['model'],_0x541c22[_0xc86d('0x41')]);_0xd7ad53['attributes']=_[_0xc86d('0x46')](_0x541c22[_0xc86d('0x44')],qs['fields'](_0x553ab0[_0xc86d('0x41')][_0xc86d('0x47')]));_0xd7ad53[_0xc86d('0x45')]=_0xd7ad53[_0xc86d('0x45')]['length']?_0xd7ad53[_0xc86d('0x45')]:_0x541c22['model'];if(_0x553ab0[_0xc86d('0x41')]['includeAll']){_0xd7ad53[_0xc86d('0xbb')]=[{'all':!![]}];}_0xd7ad53=_['merge']({},_0xd7ad53,_0x553ab0[_0xc86d('0xbc')]);return db[_0xc86d('0x3d')]['find'](_0xd7ad53)[_0xc86d('0x2a')](handleEntityNotFound(_0x2a09d9,null))['then'](respondWithResult(_0x2a09d9,null))['catch'](handleError(_0x2a09d9,null));};exports[_0xc86d('0xbd')]=function(_0x335719,_0x36a070){return db[_0xc86d('0x3d')]['create'](_0x335719[_0xc86d('0xbe')],{})['then'](respondWithResult(_0x36a070,0xc9))[_0xc86d('0x35')](handleError(_0x36a070,null));};exports[_0xc86d('0x29')]=function(_0x44c4a7,_0x11a158){if(_0x44c4a7[_0xc86d('0xbe')]['id']){delete _0x44c4a7[_0xc86d('0xbe')]['id'];}return db[_0xc86d('0x3d')]['find']({'where':{'id':_0x44c4a7[_0xc86d('0xbf')]['id']}})[_0xc86d('0x2a')](handleEntityNotFound(_0x11a158,null))[_0xc86d('0x2a')](saveUpdates(_0x44c4a7[_0xc86d('0xbe')],null))[_0xc86d('0x2a')](respondWithResult(_0x11a158,null))['catch'](handleError(_0x11a158,null));};exports[_0xc86d('0xc0')]=function(_0x214525,_0x20dda3){return db[_0xc86d('0x3d')]['find']({'where':{'id':_0x214525[_0xc86d('0xbf')]['id']}})[_0xc86d('0x2a')](handleEntityNotFound(_0x20dda3,null))[_0xc86d('0x2a')](removeEntity(_0x20dda3,null))[_0xc86d('0x35')](handleError(_0x20dda3,null));};exports[_0xc86d('0xc1')]=function(_0xd8d92e,_0x42e51f){return db[_0xc86d('0x3d')]['describe']()[_0xc86d('0x2a')](respondWithResult(_0x42e51f,null))[_0xc86d('0x35')](handleError(_0x42e51f,null));};exports['addMessage']=function(_0x4cd541,_0x15d9c3,_0x31ef20){return db['WhatsappMessage'][_0xc86d('0x77')]({'where':{'id':_0x4cd541['params']['id']}})[_0xc86d('0x2a')](handleEntityNotFound(_0x15d9c3,null))[_0xc86d('0x2a')](function(_0xc53dbe){if(_0xc53dbe){return _0xc53dbe[_0xc86d('0xc2')](_0x4cd541['body'][_0xc86d('0xc3')],_[_0xc86d('0xc4')](_0x4cd541[_0xc86d('0xbe')],[_0xc86d('0xc3'),'id'])||{});}})['then'](respondWithResult(_0x15d9c3,null))[_0xc86d('0x35')](handleError(_0x15d9c3,null));};exports['getMessages']=function(_0x27a95a,_0x42dae8,_0x4aa98c){var _0x496258={'raw':![],'where':{}};var _0x4bca38={};var _0x4280f7={'count':0x0,'rows':[]};return db[_0xc86d('0x3d')][_0xc86d('0xc5')]({'where':{'id':_0x27a95a[_0xc86d('0xbf')]['id']}})[_0xc86d('0x2a')](handleEntityNotFound(_0x42dae8,null))['then'](function(_0x3820aa){if(_0x3820aa){_0x4bca38[_0xc86d('0x44')]=_['keys'](db[_0xc86d('0xc6')][_0xc86d('0xba')]);_0x4bca38['query']=_[_0xc86d('0x42')](_0x27a95a[_0xc86d('0x41')]);_0x4bca38['filters']=_[_0xc86d('0x46')](_0x4bca38[_0xc86d('0x44')],_0x4bca38['query']);_0x496258[_0xc86d('0x45')]=_[_0xc86d('0x46')](_0x4bca38['model'],qs[_0xc86d('0x47')](_0x27a95a['query'][_0xc86d('0x47')]));_0x496258[_0xc86d('0x45')]=_0x496258[_0xc86d('0x45')][_0xc86d('0x63')]?_0x496258[_0xc86d('0x45')]:_0x4bca38['model'];if(!_0x27a95a[_0xc86d('0x41')][_0xc86d('0x48')](_0xc86d('0xc7'))){_0x496258[_0xc86d('0x22')]=qs[_0xc86d('0x22')](_0x27a95a[_0xc86d('0x41')]['limit']);_0x496258[_0xc86d('0x24')]=qs[_0xc86d('0x24')](_0x27a95a[_0xc86d('0x41')]['offset']);}_0x496258[_0xc86d('0xc8')]=qs[_0xc86d('0xc9')](_0x27a95a['query'][_0xc86d('0xc9')]);_0x496258[_0xc86d('0x49')]=qs[_0xc86d('0x43')](_['pick'](_0x27a95a[_0xc86d('0x41')],_0x4bca38[_0xc86d('0x43')]));_0x496258[_0xc86d('0x49')]['WhatsappInteractionId']=_0x3820aa['id'];if(_0x27a95a[_0xc86d('0x41')][_0xc86d('0x8b')]){_0x496258['where']=_[_0xc86d('0xa0')](_0x496258[_0xc86d('0x49')],{'$or':_[_0xc86d('0x72')](_0x496258['attributes'],function(_0x2f4a6b){var _0x4a2e17={};_0x4a2e17[_0x2f4a6b]={'$like':'%'+_0x27a95a[_0xc86d('0x41')][_0xc86d('0x8b')]+'%'};return _0x4a2e17;})});}if(_0x27a95a[_0xc86d('0x41')][_0xc86d('0x80')]){var _0x4437b3=_0x27a95a[_0xc86d('0x41')]['$gte']['split'](',');var _0x5de776={};_0x5de776[_0x4437b3[0x0]]={'$gte':moment(_0x4437b3[0x1])[_0xc86d('0xca')]('YYYY-MM-DD\x20HH:mm:ss')};_0x496258['where']=_[_0xc86d('0xa0')](_0x496258[_0xc86d('0x49')],_0x5de776);}_0x496258=_[_0xc86d('0xa0')]({},_0x496258,_0x27a95a['options']);return db['WhatsappMessage']['count']({'where':_0x496258['where']})[_0xc86d('0x2a')](function(_0x186c8a){_0x4280f7[_0xc86d('0x23')]=_0x186c8a;if(_0x27a95a['query']['includeAll']){_0x496258[_0xc86d('0xbb')]=[{'all':!![]}];}return db[_0xc86d('0xc6')][_0xc86d('0xcb')](_0x496258);})['then'](function(_0x1f6abb){_0x4280f7[_0xc86d('0xb8')]=_0x1f6abb;return _0x4280f7;});}})[_0xc86d('0x2a')](respondWithFilteredResult(_0x42dae8,_0x496258))[_0xc86d('0x35')](handleError(_0x42dae8,null));};exports[_0xc86d('0xcc')]=function(_0x538eac,_0x428b69,_0x2d63c5){return db['WhatsappInteraction']['find']({'where':{'id':_0x538eac[_0xc86d('0xbf')]['id']}})[_0xc86d('0x2a')](handleEntityNotFound(_0x428b69,null))[_0xc86d('0x2a')](function(_0x230c63){if(_0x230c63){return _0x230c63[_0xc86d('0xcd')](_0x538eac[_0xc86d('0xbe')][_0xc86d('0xc3')],_[_0xc86d('0xc4')](_0x538eac[_0xc86d('0xbe')],[_0xc86d('0xc3'),'id'])||{})[_0xc86d('0xce')](function(){return db[_0xc86d('0x71')][_0xc86d('0xcb')]({'attributes':['id',_0xc86d('0x2d'),'color'],'where':{'id':_0x538eac[_0xc86d('0xbe')][_0xc86d('0xc3')]}});})['then'](function(_0x5bcd2a){socket[_0xc86d('0xcf')](_0xc86d('0xd0'),{'id':Number(_0x538eac[_0xc86d('0xbf')]['id']),'tags':_0x5bcd2a||[]});return{'id':Number(_0x538eac['params']['id']),'tags':_0x5bcd2a||[]};});}})[_0xc86d('0x2a')](respondWithResult(_0x428b69,null))[_0xc86d('0x35')](handleError(_0x428b69,null));};exports[_0xc86d('0xd1')]=function(_0x4be8b1,_0x2953ac,_0x405cbf){return db[_0xc86d('0x3d')][_0xc86d('0x77')]({'where':{'id':_0x4be8b1[_0xc86d('0xbf')]['id']}})['then'](handleEntityNotFound(_0x2953ac,null))[_0xc86d('0x2a')](function(_0x31ea6e){if(_0x31ea6e){return _0x31ea6e[_0xc86d('0xd1')](_0x4be8b1[_0xc86d('0x41')][_0xc86d('0xc3')]);}})[_0xc86d('0x2a')](respondWithStatusCode(_0x2953ac,null))[_0xc86d('0x35')](handleError(_0x2953ac,null));};exports['download']=function(_0x366d41,_0x367409){var _0x1fcbdc=moment()[_0xc86d('0xd2')]()['toString']();var _0x34adda=path[_0xc86d('0xd3')](config[_0xc86d('0xd4')],_0xc86d('0xd5'),'files',_0xc86d('0xd6'));var _0xda3c27=path[_0xc86d('0xd3')](config[_0xc86d('0xd4')],_0xc86d('0xd5'),_0xc86d('0xd7'),_0xc86d('0xd8'));var _0x5bfc62=path[_0xc86d('0xd3')](_0x34adda,_0x1fcbdc);var _0x6fefb1=util['format'](_0xc86d('0xd9'),_0x366d41[_0xc86d('0xbf')]['id'],_0x1fcbdc);var _0x170b62=path[_0xc86d('0xd3')](_0x34adda,_0x6fefb1);var _0x33c099=[];_0x33c099[_0xc86d('0x34')]({'model':db[_0xc86d('0x75')],'as':_0xc86d('0x75'),'attributes':['id',_0xc86d('0x2f')],'raw':!![]});_0x33c099[_0xc86d('0x34')]({'model':db['CmContact'],'as':'Contact','attributes':['id',_0xc86d('0xda'),_0xc86d('0xdb')],'raw':!![]});if(_0x366d41[_0xc86d('0x41')][_0xc86d('0xd8')]){_0x33c099['push']({'model':db['Attachment'],'as':_0xc86d('0xdc'),'raw':!![]});}var _0x367c67=[{'model':db['WhatsappMessage'],'as':_0xc86d('0xdd'),'attributes':['id',_0xc86d('0xbe'),_0xc86d('0x7e'),_0xc86d('0xde'),_0xc86d('0xdf'),_0xc86d('0x86')],'include':_0x33c099}];_0x367c67[_0xc86d('0x34')]({'model':db[_0xc86d('0xe0')],'as':_0xc86d('0xe1'),'attributes':['id',_0xc86d('0x2d')]});_0x367c67[_0xc86d('0x34')]({'model':db['User'],'as':_0xc86d('0xe2'),'attributes':['id',_0xc86d('0x2f')]});return db[_0xc86d('0x3d')][_0xc86d('0x77')]({'where':{'id':_0x366d41['params']['id']},'include':_0x367c67})['then'](handleEntityNotFound(_0x367409,null))[_0xc86d('0x2a')](function(_0x10f0b8){if(_0x10f0b8){var _0xcaaa5d=_0x10f0b8[_0xc86d('0xe3')]({'plain':!![]});fs[_0xc86d('0xe4')](_0x5bfc62);var _0x18758a={'channel':'Whatsapp','account':_0xcaaa5d[_0xc86d('0xe1')][_0xc86d('0x2d')],'agent':_0xcaaa5d[_0xc86d('0xe2')]?_0xcaaa5d['Owner']['fullname']:_0xc86d('0xe5'),'createdAt':moment(_0xcaaa5d['createdAt'])[_0xc86d('0xca')]('YYYY-MM-DD\x20HH:mm:ss')['toString'](),'closedAt':_0xcaaa5d['closed']?moment(_0xcaaa5d['closedAt'])[_0xc86d('0xca')](_0xc86d('0xe6'))[_0xc86d('0x9f')]():'','disposition':_0xcaaa5d[_0xc86d('0xe7')],'messages':_(_0xcaaa5d[_0xc86d('0xdd')])['filter']({'secret':![]})[_0xc86d('0x72')](function(_0x1d931a){if(_0x1d931a[_0xc86d('0xdc')]){var _0x55cb12=path[_0xc86d('0xd3')](_0xda3c27,_0x1d931a[_0xc86d('0xdc')][_0xc86d('0xe8')]);if(fs['existsSync'](_0x55cb12)){fs[_0xc86d('0xe9')](_0x55cb12)[_0xc86d('0xea')](fs[_0xc86d('0xeb')](path[_0xc86d('0xd3')](_0x5bfc62,_0x1d931a[_0xc86d('0xdc')][_0xc86d('0xe8')])));}}return{'date':moment(_0x1d931a['createdAt'])[_0xc86d('0xca')](_0xc86d('0xe6'))['toString'](),'sender':_0x1d931a[_0xc86d('0xde')]===_0xc86d('0xec')?_0x1d931a[_0xc86d('0x75')]?_0x1d931a[_0xc86d('0x75')][_0xc86d('0x2f')]:_0xc86d('0xed'):_0x1d931a['Contact']['firstName']+(_0x1d931a['Contact']['lastName']?'\x20'+_0x1d931a[_0xc86d('0x68')][_0xc86d('0xdb')]:''),'body':_0x1d931a['Attachment']?_0x1d931a[_0xc86d('0xdc')][_0xc86d('0xe8')]:_0x1d931a[_0xc86d('0xbe')],'direction':_0x1d931a['direction']==='out'?'A':'C','secret':_0x1d931a['secret'],'read':_0x1d931a[_0xc86d('0x86')],'attachment':_0x1d931a[_0xc86d('0xdc')]};})['value']()};return ejs[_0xc86d('0xee')](path[_0xc86d('0xd3')](config[_0xc86d('0xd4')],_0xc86d('0xd5'),_0xc86d('0xef'),_0xc86d('0xf0')),{'interaction':_0x18758a})['then'](function(_0x2f79f5){var _0x2b02d0=path['join'](_0x5bfc62,_0xc86d('0xf1')+_0xcaaa5d['id']+'-'+_0x1fcbdc+'.pdf');var _0x12ff5a={'path':_0x2b02d0,'channel':'Whatsapp','interactionId':_0xcaaa5d['id']};return pdf[_0xc86d('0xf2')](_0x2f79f5,_0x12ff5a);})[_0xc86d('0x2a')](function(){return new BPromise(function(_0x30a3f8,_0x1b1b10){zipdir(_0x5bfc62,{'saveTo':_0x170b62},function(_0xf2a9c5,_0x35a1d2){if(_0xf2a9c5)return _0x1b1b10(_0xf2a9c5);return _0x30a3f8(_0x35a1d2);});})['then'](function(){return new BPromise(function(_0x14e246,_0x50b50c){rimraf(_0x5bfc62,function(_0x2b7a9e){if(_0x2b7a9e)_0x50b50c(_0x2b7a9e);return _0x14e246();});});})[_0xc86d('0x2a')](function(){return _0x367409[_0xc86d('0xf3')](_0x170b62,_0x6fefb1,function(_0x352450){if(_0x352450){console[_0xc86d('0xf4')](_0xc86d('0xf5'),_0x352450);}else{fs['unlinkSync'](_0x170b62);}});});});}else{return _0x367409['sendStatus'](0xc8);}})[_0xc86d('0x35')](handleError(_0x367409,null));};