Built motion from commit 87cd5f02.|2.5.48
[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 _0x6ab9=['whatsapp_interactions','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','`\x20=\x200','`\x20>\x200','$substring','length','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?','ContactId','buildExpression','text','Tag','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','start','body','some','compact','WhatsappAccountId','where','concat','parse','$gte','$lte','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','filter','replace','isNumeric','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','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','DESC','isEmpty','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','agent','user','i.WhatsappAccountId\x20IS\x20NULL','i.WhatsappAccountId\x20IN\x20?','toString','sequelize','keyBy','WhatsappInteraction','a.key','Account.key','a.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','Contact.phone','c.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','push','rows','catch','show','params','rawAttributes','includeAll','include','merge','options','describe','addMessage','WhatsappMessage','ids','getMessages','findOne','format','findAll','addTags','omit','spread','color','emit','whatsappInteractionTags:save','removeTags','download','unix','join','root','tmp','server','attachments','transcript-%d-%s.zip','CmContact','Contact','lastName','Attachment','createdAt','direction','WhatsappAccount','Account','Owner','get','mkdirSync','Whatsapp','N.A.','YYYY-MM-DD\x20HH:mm:ss','closedAt','disposition','Messages','basename','existsSync','createReadStream','pipe','createWriteStream','out','firstName','secret','renderFile','views','transcript-','createPdfFromHTML','log','err','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappInteraction.socket','register','status','end','offset','undefined','limit','count','Content-Range','apply','save','update','then','destroy','sendStatus','error','stack','name','send','Users','map','fullname','Tags','TagIds','split','forEach','waiting','talking','answered','unmanaged','closed','UserId','total','index','fieldName','type','key','model','keys','intersection','attributes','fields','query','hasOwnProperty','nolimit','sort','filters','pick','field','from','tools_tags','u.id','u.fullname','ui.WhatsappInteractionId','user_has_whatsapp_interactions','left_join','users','select'];(function(_0x4855ce,_0x3fbf65){var _0x150377=function(_0x21555b){while(--_0x21555b){_0x4855ce['push'](_0x4855ce['shift']());}};_0x150377(++_0x3fbf65);}(_0x6ab9,0x19a));var _0x96ab=function(_0xda464c,_0x26e47d){_0xda464c=_0xda464c-0x0;var _0x19e222=_0x6ab9[_0xda464c];return _0x19e222;};'use strict';var emlformat=require(_0x96ab('0x0'));var rimraf=require(_0x96ab('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x96ab('0x2'));var rp=require(_0x96ab('0x3'));var moment=require(_0x96ab('0x4'));var BPromise=require(_0x96ab('0x5'));var Mustache=require(_0x96ab('0x6'));var util=require('util');var path=require('path');var sox=require(_0x96ab('0x7'));var csv=require(_0x96ab('0x8'));var ejs=require(_0x96ab('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x96ab('0xa'));var squel=require(_0x96ab('0xb'));var crypto=require('crypto');var jsforce=require(_0x96ab('0xc'));var deskjs=require(_0x96ab('0xd'));var toCsv=require(_0x96ab('0x8'));var querystring=require(_0x96ab('0xe'));var Papa=require(_0x96ab('0xf'));var Redis=require(_0x96ab('0x10'));var authService=require(_0x96ab('0x11'));var qs=require(_0x96ab('0x12'));var as=require(_0x96ab('0x13'));var pdf=require(_0x96ab('0x14'));var hardwareService=require(_0x96ab('0x15'));var logger=require(_0x96ab('0x16'))(_0x96ab('0x17'));var utils=require('../../config/utils');var config=require(_0x96ab('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x96ab('0x19'))['db'];config[_0x96ab('0x1a')]=_[_0x96ab('0x1b')](config[_0x96ab('0x1a')],{'host':_0x96ab('0x1c'),'port':0x18eb});var socket=require(_0x96ab('0x1d'))(new Redis(config[_0x96ab('0x1a')]));require(_0x96ab('0x1e'))[_0x96ab('0x1f')](socket);function respondWithStatusCode(_0x3fb987,_0xba0d5e){_0xba0d5e=_0xba0d5e||0xcc;return function(_0x4df67b){if(_0x4df67b){return _0x3fb987['sendStatus'](_0xba0d5e);}return _0x3fb987[_0x96ab('0x20')](_0xba0d5e)[_0x96ab('0x21')]();};}function respondWithResult(_0x3843bc,_0x57237a){_0x57237a=_0x57237a||0xc8;return function(_0x43e35e){if(_0x43e35e){return _0x3843bc[_0x96ab('0x20')](_0x57237a)['json'](_0x43e35e);}};}function respondWithFilteredResult(_0x20c685,_0x4eca78){return function(_0x231ed5){if(_0x231ed5){var _0x1a502a=typeof _0x4eca78[_0x96ab('0x22')]===_0x96ab('0x23')&&typeof _0x4eca78[_0x96ab('0x24')]===_0x96ab('0x23');var _0x154fec=_0x231ed5[_0x96ab('0x25')];var _0xb746c7=_0x1a502a?0x0:_0x4eca78[_0x96ab('0x22')];var _0x2aa3c4=_0x1a502a?_0x231ed5['count']:_0x4eca78['offset']+_0x4eca78[_0x96ab('0x24')];var _0x166a78;if(_0x2aa3c4>=_0x154fec){_0x2aa3c4=_0x154fec;_0x166a78=0xc8;}else{_0x166a78=0xce;}_0x20c685[_0x96ab('0x20')](_0x166a78);return _0x20c685['set'](_0x96ab('0x26'),_0xb746c7+'-'+_0x2aa3c4+'/'+_0x154fec)['json'](_0x231ed5);}return null;};}function patchUpdates(_0xb05aa4){return function(_0x567bf1){try{jsonpatch[_0x96ab('0x27')](_0x567bf1,_0xb05aa4,!![]);}catch(_0x90fa22){return BPromise['reject'](_0x90fa22);}return _0x567bf1[_0x96ab('0x28')]();};}function saveUpdates(_0x84a7f7,_0x4475b6){return function(_0x42d20c){if(_0x42d20c){return _0x42d20c[_0x96ab('0x29')](_0x84a7f7)[_0x96ab('0x2a')](function(_0x9cb9b6){return _0x9cb9b6;});}return null;};}function removeEntity(_0x2837a7,_0x218a4c){return function(_0x53869e){if(_0x53869e){return _0x53869e[_0x96ab('0x2b')]()['then'](function(){_0x2837a7[_0x96ab('0x20')](0xcc)[_0x96ab('0x21')]();});}};}function handleEntityNotFound(_0x284156,_0x240553){return function(_0x1dd9f4){if(!_0x1dd9f4){_0x284156[_0x96ab('0x2c')](0x194);}return _0x1dd9f4;};}function handleError(_0x31568f,_0x435613){_0x435613=_0x435613||0x1f4;return function(_0x4f954c){logger[_0x96ab('0x2d')](_0x4f954c[_0x96ab('0x2e')]);if(_0x4f954c[_0x96ab('0x2f')]){delete _0x4f954c['name'];}_0x31568f[_0x96ab('0x20')](_0x435613)[_0x96ab('0x30')](_0x4f954c);};}function getInteractionUsers(_0x14469c,_0x575664){return new BPromise(function(_0xaccba6,_0x4c9a55){try{if(_0x575664[_0x14469c['id']]){_0x14469c[_0x96ab('0x31')]=_[_0x96ab('0x32')](_0x575664[_0x14469c['id']],function(_0x5520d4){return{'id':_0x5520d4['id'],'fullname':_0x5520d4[_0x96ab('0x33')]};});}}catch(_0x4f784b){_0x4c9a55(_0x4f784b);}_0xaccba6(_0x14469c);});}function getInteractionTags(_0x47c1c2,_0x5bb4b2){return new BPromise(function(_0x59d75f,_0xc25ca9){try{if(_0x47c1c2['TagIds']){_0x47c1c2[_0x96ab('0x34')]=[];_0x47c1c2[_0x96ab('0x35')][_0x96ab('0x36')](',')[_0x96ab('0x37')](function(_0x12a8a3){_0x47c1c2['Tags']['push'](_0x5bb4b2[_0x12a8a3]);});}delete _0x47c1c2[_0x96ab('0x35')];}catch(_0xa5a459){_0xc25ca9(_0xa5a459);}_0x59d75f(_0x47c1c2);});}function updateWhatsappInteraction(_0x56e3e2,_0x358c23,_0x32ccba){return new BPromise(function(_0x5d8485,_0x5e463c){return getInteractionUsers(_0x56e3e2,_0x32ccba)[_0x96ab('0x2a')](function(_0x39f56d){return getInteractionTags(_0x39f56d,_0x358c23);})[_0x96ab('0x2a')](function(_0x270d80){return getStateInteraction(_0x270d80);})['then'](function(_0x182074){_0x5d8485(_0x182074);})['catch'](function(_0x5e9020){_0x5e463c(_0x5e9020);});});}function getStateInteraction(_0x304382){return new BPromise(function(_0x4c2427){_0x304382[_0x96ab('0x38')]=0x0;_0x304382[_0x96ab('0x39')]=0x0;_0x304382[_0x96ab('0x3a')]=0x0;_0x304382[_0x96ab('0x3b')]=0x0;_0x304382['total']=0x0;if(!_0x304382[_0x96ab('0x3c')]&&!_0x304382[_0x96ab('0x3d')]){_0x304382[_0x96ab('0x38')]+=0x1;}if(!_0x304382[_0x96ab('0x3c')]&&_0x304382[_0x96ab('0x3d')]){_0x304382['talking']+=0x1;if(_0x304382[_0x96ab('0x38')]){_0x304382['waiting']-=0x1;}}if(_0x304382[_0x96ab('0x3c')]&&_0x304382['UserId']){_0x304382[_0x96ab('0x3a')]+=0x1;if(_0x304382[_0x96ab('0x39')]){_0x304382[_0x96ab('0x39')]-=0x1;}}if(_0x304382[_0x96ab('0x3c')]&&!_0x304382['UserId']){_0x304382[_0x96ab('0x3b')]+=0x1;if(_0x304382[_0x96ab('0x38')]){_0x304382[_0x96ab('0x38')]-=0x1;}}_0x304382[_0x96ab('0x3e')]+=0x1;_0x4c2427(_0x304382);});}exports[_0x96ab('0x3f')]=function(_0x38de47,_0x9e833){var _0x149078={},_0x14bcbf={},_0x1df03b={'count':0x0,'rows':[]};var _0x396a32=_[_0x96ab('0x32')](db['WhatsappInteraction']['rawAttributes'],function(_0x29ac73){return{'name':_0x29ac73[_0x96ab('0x40')],'type':_0x29ac73[_0x96ab('0x41')][_0x96ab('0x42')]};});_0x14bcbf[_0x96ab('0x43')]=_[_0x96ab('0x32')](_0x396a32,_0x96ab('0x2f'));_0x14bcbf['query']=_[_0x96ab('0x44')](_0x38de47['query']);_0x14bcbf['filters']=_[_0x96ab('0x45')](_0x14bcbf[_0x96ab('0x43')],_0x14bcbf['query']);_0x149078[_0x96ab('0x46')]=_[_0x96ab('0x45')](_0x14bcbf[_0x96ab('0x43')],qs[_0x96ab('0x47')](_0x38de47[_0x96ab('0x48')]['fields']));_0x149078[_0x96ab('0x46')]=_0x149078['attributes']['length']?_0x149078[_0x96ab('0x46')]:_0x14bcbf['model'];if(!_0x38de47[_0x96ab('0x48')][_0x96ab('0x49')](_0x96ab('0x4a'))){_0x149078['limit']=qs[_0x96ab('0x24')](_0x38de47[_0x96ab('0x48')][_0x96ab('0x24')]);_0x149078[_0x96ab('0x22')]=qs[_0x96ab('0x22')](_0x38de47['query'][_0x96ab('0x22')]);}_0x149078['order']=qs[_0x96ab('0x4b')](_0x38de47['query'][_0x96ab('0x4b')]);_0x149078['where']=qs[_0x96ab('0x4c')](_[_0x96ab('0x4d')](_0x38de47[_0x96ab('0x48')],_0x14bcbf[_0x96ab('0x4c')]),_0x396a32);var _0x25d387=[];var _0x42dbd7=squel['select']()[_0x96ab('0x4e')]('id')[_0x96ab('0x4e')]('name')[_0x96ab('0x4e')]('color')[_0x96ab('0x4f')](_0x96ab('0x50'));var _0xa07b16=squel['select']()[_0x96ab('0x4e')](_0x96ab('0x51'))['field'](_0x96ab('0x52'))[_0x96ab('0x4e')](_0x96ab('0x53'))[_0x96ab('0x4f')](_0x96ab('0x54'),'ui')[_0x96ab('0x55')](_0x96ab('0x56'),'u','u.id\x20=\x20ui.UserId');var _0x3fe014=squel[_0x96ab('0x57')]()['from'](_0x96ab('0x58'),'i')[_0x96ab('0x55')]('cm_contacts','c',_0x96ab('0x59'))[_0x96ab('0x55')](_0x96ab('0x56'),'o',_0x96ab('0x5a'))[_0x96ab('0x55')](_0x96ab('0x5b'),'a',_0x96ab('0x5c'))[_0x96ab('0x55')](_0x96ab('0x5d'),'me','me.WhatsappInteractionId\x20=\x20i.id')[_0x96ab('0x55')](_0x96ab('0x5e'),'it',_0x96ab('0x5f'))[_0x96ab('0x55')](_0x96ab('0x50'),'t',_0x96ab('0x60'));var _0x1f1a28=squel[_0x96ab('0x61')]();var _0x247b72=[];var _0x1a1bd7=squel['expr']();var _0x539bb6;if(_0x38de47[_0x96ab('0x48')][_0x96ab('0x62')]){_0x539bb6=as[_0x96ab('0x63')](_0x38de47['query'][_0x96ab('0x62')]);var _0x3367cb=_0x539bb6[_0x96ab('0x64')];for(var _0x4ae4eb=0x0;_0x4ae4eb<_0x539bb6['conditions']['length'];_0x4ae4eb++){var _0x48580a=_0x539bb6[_0x96ab('0x65')][_0x4ae4eb];var _0x2f7582='i';var _0x377909=_[_0x96ab('0x66')](_0x396a32,[_0x96ab('0x2f'),_0x48580a['field']]);if(!_0x377909){switch(_0x48580a[_0x96ab('0x4e')]){case _0x96ab('0x67'):if(_0x48580a[_0x96ab('0x68')]==0x1){_0x3fe014[_0x96ab('0x69')]('`'+_0x48580a[_0x96ab('0x4e')]+_0x96ab('0x6a'));}else{_0x3fe014[_0x96ab('0x69')]('`'+_0x48580a[_0x96ab('0x4e')]+_0x96ab('0x6b'));}break;case'Contact':if(_0x48580a['operator']===_0x96ab('0x6c')){if(_0x48580a[_0x96ab('0x68')]['split']('\x20')[_0x96ab('0x6d')]>0x1){_0x1f1a28[_0x3367cb](_0x96ab('0x6e'),qs[_0x96ab('0x6f')](_0x48580a[_0x96ab('0x68')]),null);}else{var _0x160604='%'+_0x48580a[_0x96ab('0x68')]+'%';_0x1f1a28[_0x3367cb](_0x96ab('0x70'),_0x160604,_0x160604,_0x160604);}}else{_0x377909=_[_0x96ab('0x66')](_0x396a32,[_0x96ab('0x2f'),'ContactId']);_0x48580a[_0x96ab('0x4e')]=_0x96ab('0x71');_0x189061=as[_0x96ab('0x72')](_0x2f7582,_0x377909[_0x96ab('0x41')],_0x48580a);_0x1f1a28[_0x3367cb](_0x189061[_0x96ab('0x73')],_0x189061[_0x96ab('0x68')]['start'],_0x189061[_0x96ab('0x68')][_0x96ab('0x21')]);}break;case _0x96ab('0x74'):var _0x15a21c=_0x48580a[_0x96ab('0x68')][_0x96ab('0x36')](',')['map'](function(_0x1d959d){return Number(_0x1d959d);});_0x15a21c[_0x96ab('0x37')](function(_0x28a975){_0x1a1bd7['or'](_0x96ab('0x75'),'%,'+_0x28a975+',%');});_0x247b72=_[_0x96ab('0x76')](_0x247b72,_0x15a21c);break;case _0x96ab('0x77'):if(_0x48580a[_0x96ab('0x78')]===_0x96ab('0x6c')){_0x1f1a28[_0x3367cb]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x48580a[_0x96ab('0x68')]+'%',null);}else{_0x377909=_['find'](_0x396a32,[_0x96ab('0x2f'),'UserId']);_0x48580a[_0x96ab('0x4e')]=_0x96ab('0x3d');_0x189061=as[_0x96ab('0x72')](_0x2f7582,_0x377909['type'],_0x48580a);_0x1f1a28[_0x3367cb](_0x189061['text'],_0x189061['value'][_0x96ab('0x79')],_0x189061[_0x96ab('0x68')]['end']);}break;case _0x96ab('0x7a'):_0x189061=as[_0x96ab('0x72')]('me',null,_0x48580a);_0x1f1a28[_0x3367cb](_0x189061['text'],_0x189061['value'][_0x96ab('0x79')],_0x189061[_0x96ab('0x68')][_0x96ab('0x21')]);break;}}else{var _0x189061=as[_0x96ab('0x72')](_0x2f7582,_0x377909['type'],_0x48580a);_0x1f1a28[_0x3367cb](_0x189061['text'],_0x189061[_0x96ab('0x68')][_0x96ab('0x79')],_0x189061[_0x96ab('0x68')][_0x96ab('0x21')]);}}}else{var _0x5d6993=_(_0x38de47[_0x96ab('0x48')])[_0x96ab('0x44')]()[_0x96ab('0x32')](function(_0xabfcc2){return _[_0x96ab('0x7b')](_0x396a32,[_0x96ab('0x2f'),_0xabfcc2])?_0xabfcc2:undefined;})[_0x96ab('0x7c')]()[_0x96ab('0x68')]();if(!_['isEmpty'](_0x5d6993)){_0x5d6993[_0x96ab('0x37')](function(_0x335f1b){if(_0x335f1b===_0x96ab('0x7d')){_0x3fe014[_0x96ab('0x7e')]('i.WhatsappAccountId\x20IN\x20?',[][_0x96ab('0x7f')](_0x38de47['query'][_0x335f1b]));}else if(_0x335f1b==='createdAt'){var _0x4bd111=JSON[_0x96ab('0x80')](_0x38de47['query'][_0x335f1b])[_0x96ab('0x81')];var _0x561a97=JSON['parse'](_0x38de47[_0x96ab('0x48')][_0x335f1b])[_0x96ab('0x82')];_0x3fe014['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x4bd111,_0x561a97);}else{if(_0x38de47[_0x96ab('0x48')][_0x335f1b]==='null'){_0x3fe014[_0x96ab('0x7e')]('i.'+_0x335f1b+_0x96ab('0x83'));}else{_0x3fe014[_0x96ab('0x7e')]('i.'+_0x335f1b+_0x96ab('0x84'),_0x38de47[_0x96ab('0x48')][_0x335f1b]);}}});}if(_0x38de47[_0x96ab('0x48')][_0x96ab('0x85')]){if(_0x38de47['query'][_0x96ab('0x85')]==0x1){_0x3fe014[_0x96ab('0x69')](_0x96ab('0x86'));}else{_0x3fe014['having'](_0x96ab('0x87'));}}if(_0x38de47['query']['tag']){_0x247b72=_['isArray'](_0x38de47[_0x96ab('0x48')][_0x96ab('0x88')])?_0x38de47[_0x96ab('0x48')][_0x96ab('0x88')]:new Array(_0x38de47['query'][_0x96ab('0x88')]);_0x247b72['forEach'](function(_0x46b27d){_0x1a1bd7['or'](_0x96ab('0x75'),'%,'+_0x46b27d+',%');});}if(_0x38de47[_0x96ab('0x48')][_0x96ab('0x89')]){var _0x2484ca=_0x38de47[_0x96ab('0x48')][_0x96ab('0x89')][_0x96ab('0x8a')]('\x5c','\x5c\x5c')[_0x96ab('0x8a')](/'/g,'\x27\x27');if(qs[_0x96ab('0x8b')](_0x2484ca)){_0x1f1a28['or']('i.id\x20LIKE\x20?',_0x2484ca+'%')['or'](_0x96ab('0x8c'),_0x2484ca+'%');}else{_0x1f1a28['or'](_0x96ab('0x8d'),qs[_0x96ab('0x6f')](_0x2484ca))['or'](_0x96ab('0x8e'),_0x2484ca+'%');}}}_0x3fe014[_0x96ab('0x7e')](_0x1f1a28);_0x3fe014[_0x96ab('0x8f')](_0x96ab('0x90'));var _0x3ea5fd={'type':db[_0x96ab('0x91')]['QueryTypes']['SELECT'],'raw':!![]};var _0x51aab9=_0x3fe014[_0x96ab('0x92')]();_0x51aab9[_0x96ab('0x4e')]('i.id');_0x51aab9['field'](_0x96ab('0x93'),_0x96ab('0x67'));if(_0x149078[_0x96ab('0x94')]){_0x149078[_0x96ab('0x94')][_0x96ab('0x37')](function(_0x2bf435){var _0x544667=_0x2bf435[0x0]===_0x96ab('0x95')?_0x2bf435[0x0]:'i.'+_0x2bf435[0x0];_0x3fe014[_0x96ab('0x94')](_0x544667,_0x2bf435[0x1]===_0x96ab('0x96')?![]:!![]);});}if(!_[_0x96ab('0x97')](_0x247b72)){_0x3fe014[_0x96ab('0x69')](_0x1a1bd7);_0x51aab9[_0x96ab('0x7e')](_0x96ab('0x98'),_0x247b72);}BPromise[_0x96ab('0x99')]()[_0x96ab('0x2a')](function(){if(!_0x539bb6){if(_0x38de47[_0x96ab('0x48')][_0x96ab('0x7d')])return;_0x51aab9[_0x96ab('0x7e')](_0x96ab('0x9a'));_0x3fe014[_0x96ab('0x7e')](_0x96ab('0x9a'));return;}if(_0x38de47['user'][_0x96ab('0x9b')]!==_0x96ab('0x9c'))return;return _0x38de47[_0x96ab('0x9d')]['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})[_0x96ab('0x2a')](function(_0x5136c3){if(_[_0x96ab('0x97')](_0x5136c3)){_0x51aab9[_0x96ab('0x7e')](_0x96ab('0x9e'));_0x3fe014[_0x96ab('0x7e')](_0x96ab('0x9e'));}else{_0x51aab9['where'](_0x96ab('0x9f'),_[_0x96ab('0x32')](_0x5136c3,'id'));_0x3fe014['where'](_0x96ab('0x9f'),_[_0x96ab('0x32')](_0x5136c3,'id'));}});})[_0x96ab('0x2a')](function(){if(_0x38de47[_0x96ab('0x9d')]['role']===_0x96ab('0x9c')&&!_0x539bb6&&!_0x38de47[_0x96ab('0x48')][_0x96ab('0x7d')])return[];return db['sequelize']['query'](_0x51aab9[_0x96ab('0xa0')](),_0x3ea5fd);})[_0x96ab('0x2a')](function(_0x51e83e){_0x1df03b[_0x96ab('0x25')]=_0x51e83e[_0x96ab('0x6d')];if(_0x1df03b['count']===0x0)return[];return db[_0x96ab('0xa1')]['query'](_0x42dbd7[_0x96ab('0xa0')](),_0x3ea5fd)[_0x96ab('0x2a')](function(_0x4e8008){_0x25d387=_[_0x96ab('0xa2')](_0x4e8008,'id');_0x3ea5fd=_['merge'](_0x3ea5fd,{'model':db[_0x96ab('0xa3')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x38de47[_0x96ab('0x48')]['fields']){_0x149078[_0x96ab('0x46')][_0x96ab('0x37')](function(_0x5898da){_0x3fe014[_0x96ab('0x4e')]('i.'+_0x5898da);});}else{_0x3fe014[_0x96ab('0x4e')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x96ab('0x67'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xa4'),_0x96ab('0xa5'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xa6'),'Account.mandatoryDisposition');_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xa7'),_0x96ab('0x95'));_0x3fe014['field']('i.*');_0x3fe014[_0x96ab('0x4e')]('c.firstName',_0x96ab('0xa8'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xa9'),_0x96ab('0xaa'));_0x3fe014['field'](_0x96ab('0xab'),_0x96ab('0xac'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xad'),_0x96ab('0xae'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xaf'),'Contact.mobile');_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xb0'),_0x96ab('0xb1'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xb2'),_0x96ab('0xb3'));_0x3fe014[_0x96ab('0x4e')](_0x96ab('0xb4'),_0x96ab('0xb5'));_0x3fe014['field']('GROUP_CONCAT(DISTINCT\x20t.id)','TagIds');}if(_0x149078['limit'])_0x3fe014[_0x96ab('0x24')](_0x149078[_0x96ab('0x24')]);if(_0x149078[_0x96ab('0x22')])_0x3fe014[_0x96ab('0x22')](_0x149078[_0x96ab('0x22')]);return db[_0x96ab('0xa1')][_0x96ab('0x48')](_0x3fe014[_0x96ab('0xa0')](),_0x3ea5fd);})[_0x96ab('0x2a')](function(_0x3a49c4){if(_0x3a49c4[_0x96ab('0x6d')]>0x0)_0xa07b16[_0x96ab('0x7e')](_0x96ab('0xb6'),_[_0x96ab('0x32')](_0x3a49c4,'id'));return db[_0x96ab('0xa1')]['query'](_0xa07b16['toString'](),_0x3ea5fd)['then'](function(_0x5a4e84){var _0x3656ff=_[_0x96ab('0xb7')](_0x5a4e84,_0x96ab('0xb8'));var _0x299355=[];_0x3a49c4[_0x96ab('0x37')](function(_0x11a843){_0x299355[_0x96ab('0xb9')](updateWhatsappInteraction(_0x11a843,_0x25d387,_0x3656ff));});return BPromise['all'](_0x299355);});});})['then'](function(_0x4bf22c){_0x1df03b[_0x96ab('0xba')]=_0x4bf22c;return _0x1df03b;})[_0x96ab('0x2a')](respondWithFilteredResult(_0x9e833,_0x149078))[_0x96ab('0xbb')](handleError(_0x9e833,null));};exports[_0x96ab('0xbc')]=function(_0x2e86a3,_0x5e8656){var _0x27b589={'raw':![],'where':{'id':_0x2e86a3[_0x96ab('0xbd')]['id']}},_0x57ba37={};_0x57ba37[_0x96ab('0x43')]=_['keys'](db[_0x96ab('0xa3')][_0x96ab('0xbe')]);_0x57ba37[_0x96ab('0x48')]=_['keys'](_0x2e86a3['query']);_0x57ba37['filters']=_[_0x96ab('0x45')](_0x57ba37[_0x96ab('0x43')],_0x57ba37[_0x96ab('0x48')]);_0x27b589['attributes']=_['intersection'](_0x57ba37[_0x96ab('0x43')],qs[_0x96ab('0x47')](_0x2e86a3[_0x96ab('0x48')][_0x96ab('0x47')]));_0x27b589['attributes']=_0x27b589[_0x96ab('0x46')][_0x96ab('0x6d')]?_0x27b589[_0x96ab('0x46')]:_0x57ba37[_0x96ab('0x43')];if(_0x2e86a3['query'][_0x96ab('0xbf')]){_0x27b589[_0x96ab('0xc0')]=[{'all':!![]}];}_0x27b589=_[_0x96ab('0xc1')]({},_0x27b589,_0x2e86a3[_0x96ab('0xc2')]);return db[_0x96ab('0xa3')][_0x96ab('0x66')](_0x27b589)['then'](handleEntityNotFound(_0x5e8656,null))[_0x96ab('0x2a')](respondWithResult(_0x5e8656,null))[_0x96ab('0xbb')](handleError(_0x5e8656,null));};exports['create']=function(_0x5be70c,_0x23f2ec){return db[_0x96ab('0xa3')]['create'](_0x5be70c[_0x96ab('0x7a')],{})[_0x96ab('0x2a')](respondWithResult(_0x23f2ec,0xc9))[_0x96ab('0xbb')](handleError(_0x23f2ec,null));};exports['update']=function(_0x2902dc,_0x4693ab){if(_0x2902dc[_0x96ab('0x7a')]['id']){delete _0x2902dc[_0x96ab('0x7a')]['id'];}return db[_0x96ab('0xa3')][_0x96ab('0x66')]({'where':{'id':_0x2902dc['params']['id']}})[_0x96ab('0x2a')](handleEntityNotFound(_0x4693ab,null))[_0x96ab('0x2a')](saveUpdates(_0x2902dc[_0x96ab('0x7a')],null))[_0x96ab('0x2a')](respondWithResult(_0x4693ab,null))[_0x96ab('0xbb')](handleError(_0x4693ab,null));};exports[_0x96ab('0x2b')]=function(_0x5d0be1,_0x4ca1d5){return db[_0x96ab('0xa3')]['find']({'where':{'id':_0x5d0be1['params']['id']}})[_0x96ab('0x2a')](handleEntityNotFound(_0x4ca1d5,null))['then'](removeEntity(_0x4ca1d5,null))[_0x96ab('0xbb')](handleError(_0x4ca1d5,null));};exports[_0x96ab('0xc3')]=function(_0x24602a,_0x5cd5ea){return db[_0x96ab('0xa3')][_0x96ab('0xc3')]()[_0x96ab('0x2a')](respondWithResult(_0x5cd5ea,null))['catch'](handleError(_0x5cd5ea,null));};exports[_0x96ab('0xc4')]=function(_0x4201fd,_0x391689,_0x21f22a){return db[_0x96ab('0xc5')][_0x96ab('0x66')]({'where':{'id':_0x4201fd[_0x96ab('0xbd')]['id']}})['then'](handleEntityNotFound(_0x391689,null))[_0x96ab('0x2a')](function(_0x4fdcd1){if(_0x4fdcd1){return _0x4fdcd1[_0x96ab('0xc4')](_0x4201fd['body'][_0x96ab('0xc6')],_['omit'](_0x4201fd['body'],[_0x96ab('0xc6'),'id'])||{});}})['then'](respondWithResult(_0x391689,null))[_0x96ab('0xbb')](handleError(_0x391689,null));};exports[_0x96ab('0xc7')]=function(_0x4cb9be,_0x530e0b,_0xbb90c4){var _0x188c9a={'raw':![],'where':{}};var _0x144b3b={};var _0x4e94dc={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x96ab('0xc8')]({'where':{'id':_0x4cb9be[_0x96ab('0xbd')]['id']}})[_0x96ab('0x2a')](handleEntityNotFound(_0x530e0b,null))[_0x96ab('0x2a')](function(_0x442ead){if(_0x442ead){_0x144b3b[_0x96ab('0x43')]=_[_0x96ab('0x44')](db[_0x96ab('0xc5')][_0x96ab('0xbe')]);_0x144b3b[_0x96ab('0x48')]=_[_0x96ab('0x44')](_0x4cb9be[_0x96ab('0x48')]);_0x144b3b[_0x96ab('0x4c')]=_[_0x96ab('0x45')](_0x144b3b[_0x96ab('0x43')],_0x144b3b[_0x96ab('0x48')]);_0x188c9a['attributes']=_[_0x96ab('0x45')](_0x144b3b[_0x96ab('0x43')],qs[_0x96ab('0x47')](_0x4cb9be['query'][_0x96ab('0x47')]));_0x188c9a[_0x96ab('0x46')]=_0x188c9a[_0x96ab('0x46')][_0x96ab('0x6d')]?_0x188c9a[_0x96ab('0x46')]:_0x144b3b[_0x96ab('0x43')];if(!_0x4cb9be['query'][_0x96ab('0x49')]('nolimit')){_0x188c9a[_0x96ab('0x24')]=qs[_0x96ab('0x24')](_0x4cb9be['query'][_0x96ab('0x24')]);_0x188c9a['offset']=qs[_0x96ab('0x22')](_0x4cb9be[_0x96ab('0x48')][_0x96ab('0x22')]);}_0x188c9a[_0x96ab('0x94')]=qs[_0x96ab('0x4b')](_0x4cb9be['query'][_0x96ab('0x4b')]);_0x188c9a[_0x96ab('0x7e')]=qs['filters'](_[_0x96ab('0x4d')](_0x4cb9be['query'],_0x144b3b[_0x96ab('0x4c')]));_0x188c9a[_0x96ab('0x7e')][_0x96ab('0xb8')]=_0x442ead['id'];if(_0x4cb9be['query'][_0x96ab('0x89')]){_0x188c9a[_0x96ab('0x7e')]=_[_0x96ab('0xc1')](_0x188c9a['where'],{'$or':_['map'](_0x188c9a[_0x96ab('0x46')],function(_0x4b5b87){var _0x142c78={};_0x142c78[_0x4b5b87]={'$like':'%'+_0x4cb9be[_0x96ab('0x48')]['filter']+'%'};return _0x142c78;})});}if(_0x4cb9be[_0x96ab('0x48')][_0x96ab('0x81')]){var _0x4dcab1=_0x4cb9be[_0x96ab('0x48')][_0x96ab('0x81')][_0x96ab('0x36')](',');var _0x3c7aeb={};_0x3c7aeb[_0x4dcab1[0x0]]={'$gte':moment(_0x4dcab1[0x1])[_0x96ab('0xc9')]('YYYY-MM-DD\x20HH:mm:ss')};_0x188c9a[_0x96ab('0x7e')]=_[_0x96ab('0xc1')](_0x188c9a['where'],_0x3c7aeb);}_0x188c9a=_[_0x96ab('0xc1')]({},_0x188c9a,_0x4cb9be[_0x96ab('0xc2')]);return db[_0x96ab('0xc5')][_0x96ab('0x25')]({'where':_0x188c9a[_0x96ab('0x7e')]})[_0x96ab('0x2a')](function(_0x202a98){_0x4e94dc[_0x96ab('0x25')]=_0x202a98;if(_0x4cb9be[_0x96ab('0x48')][_0x96ab('0xbf')]){_0x188c9a['include']=[{'all':!![]}];}return db[_0x96ab('0xc5')][_0x96ab('0xca')](_0x188c9a);})['then'](function(_0x37f84e){_0x4e94dc[_0x96ab('0xba')]=_0x37f84e;return _0x4e94dc;});}})[_0x96ab('0x2a')](respondWithFilteredResult(_0x530e0b,_0x188c9a))[_0x96ab('0xbb')](handleError(_0x530e0b,null));};exports[_0x96ab('0xcb')]=function(_0x6ae8c7,_0x291d39,_0x5c3d43){return db[_0x96ab('0xa3')][_0x96ab('0x66')]({'where':{'id':_0x6ae8c7[_0x96ab('0xbd')]['id']}})[_0x96ab('0x2a')](handleEntityNotFound(_0x291d39,null))[_0x96ab('0x2a')](function(_0x5d22c5){if(_0x5d22c5){return _0x5d22c5['setTags'](_0x6ae8c7['body'][_0x96ab('0xc6')],_[_0x96ab('0xcc')](_0x6ae8c7[_0x96ab('0x7a')],[_0x96ab('0xc6'),'id'])||{})[_0x96ab('0xcd')](function(){return db[_0x96ab('0x74')]['findAll']({'attributes':['id',_0x96ab('0x2f'),_0x96ab('0xce')],'where':{'id':_0x6ae8c7[_0x96ab('0x7a')][_0x96ab('0xc6')]}});})[_0x96ab('0x2a')](function(_0x1ebfa9){socket[_0x96ab('0xcf')](_0x96ab('0xd0'),{'id':Number(_0x6ae8c7[_0x96ab('0xbd')]['id']),'tags':_0x1ebfa9||[]});return{'id':Number(_0x6ae8c7['params']['id']),'tags':_0x1ebfa9||[]};});}})[_0x96ab('0x2a')](respondWithResult(_0x291d39,null))['catch'](handleError(_0x291d39,null));};exports[_0x96ab('0xd1')]=function(_0x591daa,_0x5db671,_0x17c720){return db[_0x96ab('0xa3')][_0x96ab('0x66')]({'where':{'id':_0x591daa[_0x96ab('0xbd')]['id']}})[_0x96ab('0x2a')](handleEntityNotFound(_0x5db671,null))['then'](function(_0x4defed){if(_0x4defed){return _0x4defed[_0x96ab('0xd1')](_0x591daa[_0x96ab('0x48')]['ids']);}})['then'](respondWithStatusCode(_0x5db671,null))['catch'](handleError(_0x5db671,null));};exports[_0x96ab('0xd2')]=function(_0x27fd10,_0x2bfe01){var _0x583a21=moment()[_0x96ab('0xd3')]()['toString']();var _0x4f1b71=path[_0x96ab('0xd4')](config[_0x96ab('0xd5')],'server','files',_0x96ab('0xd6'));var _0x310618=path[_0x96ab('0xd4')](config[_0x96ab('0xd5')],_0x96ab('0xd7'),'files',_0x96ab('0xd8'));var _0x1d9a3f=path[_0x96ab('0xd4')](_0x4f1b71,_0x583a21);var _0x5bacf8=util['format'](_0x96ab('0xd9'),_0x27fd10[_0x96ab('0xbd')]['id'],_0x583a21);var _0x352041=path[_0x96ab('0xd4')](_0x4f1b71,_0x5bacf8);var _0x372f0f=[];_0x372f0f[_0x96ab('0xb9')]({'model':db['User'],'as':_0x96ab('0x77'),'attributes':['id',_0x96ab('0x33')],'raw':!![]});_0x372f0f['push']({'model':db[_0x96ab('0xda')],'as':_0x96ab('0xdb'),'attributes':['id','firstName',_0x96ab('0xdc')],'raw':!![]});if(_0x27fd10[_0x96ab('0x48')][_0x96ab('0xd8')]){_0x372f0f[_0x96ab('0xb9')]({'model':db[_0x96ab('0xdd')],'as':_0x96ab('0xdd'),'raw':!![]});}var _0x396573=[{'model':db['WhatsappMessage'],'as':'Messages','attributes':['id',_0x96ab('0x7a'),_0x96ab('0xde'),_0x96ab('0xdf'),'secret',_0x96ab('0x85')],'include':_0x372f0f}];_0x396573[_0x96ab('0xb9')]({'model':db[_0x96ab('0xe0')],'as':_0x96ab('0xe1'),'attributes':['id','name']});_0x396573[_0x96ab('0xb9')]({'model':db['User'],'as':_0x96ab('0xe2'),'attributes':['id',_0x96ab('0x33')]});return db['WhatsappInteraction']['find']({'where':{'id':_0x27fd10[_0x96ab('0xbd')]['id']},'include':_0x396573})[_0x96ab('0x2a')](handleEntityNotFound(_0x2bfe01,null))['then'](function(_0x5429bf){if(_0x5429bf){var _0x5e709d=_0x5429bf[_0x96ab('0xe3')]({'plain':!![]});fs[_0x96ab('0xe4')](_0x1d9a3f);var _0x5b05a1={'channel':_0x96ab('0xe5'),'account':_0x5e709d[_0x96ab('0xe1')][_0x96ab('0x2f')],'agent':_0x5e709d['Owner']?_0x5e709d['Owner']['fullname']:_0x96ab('0xe6'),'createdAt':moment(_0x5e709d[_0x96ab('0xde')])['format'](_0x96ab('0xe7'))[_0x96ab('0xa0')](),'closedAt':_0x5e709d[_0x96ab('0x3c')]?moment(_0x5e709d[_0x96ab('0xe8')])[_0x96ab('0xc9')](_0x96ab('0xe7'))['toString']():'','disposition':_0x5e709d[_0x96ab('0xe9')],'messages':_(_0x5e709d[_0x96ab('0xea')])['filter']({'secret':![]})[_0x96ab('0x32')](function(_0x55116b){if(_0x55116b[_0x96ab('0xdd')]){var _0x2859a9=path[_0x96ab('0xd4')](_0x310618,_0x55116b['Attachment'][_0x96ab('0xeb')]);if(fs[_0x96ab('0xec')](_0x2859a9)){fs[_0x96ab('0xed')](_0x2859a9)[_0x96ab('0xee')](fs[_0x96ab('0xef')](path[_0x96ab('0xd4')](_0x1d9a3f,_0x55116b[_0x96ab('0xdd')][_0x96ab('0xeb')])));}}return{'date':moment(_0x55116b['createdAt'])[_0x96ab('0xc9')](_0x96ab('0xe7'))[_0x96ab('0xa0')](),'sender':_0x55116b[_0x96ab('0xdf')]===_0x96ab('0xf0')?_0x55116b[_0x96ab('0x77')]?_0x55116b[_0x96ab('0x77')][_0x96ab('0x33')]:'System':_0x55116b[_0x96ab('0xdb')][_0x96ab('0xf1')]+(_0x55116b[_0x96ab('0xdb')]['lastName']?'\x20'+_0x55116b[_0x96ab('0xdb')][_0x96ab('0xdc')]:''),'body':_0x55116b['Attachment']?_0x55116b[_0x96ab('0xdd')][_0x96ab('0xeb')]:_0x55116b[_0x96ab('0x7a')],'direction':_0x55116b[_0x96ab('0xdf')]===_0x96ab('0xf0')?'A':'C','secret':_0x55116b[_0x96ab('0xf2')],'read':_0x55116b['read'],'attachment':_0x55116b[_0x96ab('0xdd')]};})[_0x96ab('0x68')]()};return ejs[_0x96ab('0xf3')](path['join'](config[_0x96ab('0xd5')],'server',_0x96ab('0xf4'),'downloadInteraction.ejs'),{'interaction':_0x5b05a1})[_0x96ab('0x2a')](function(_0x19debb){var _0x55202e=path['join'](_0x1d9a3f,_0x96ab('0xf5')+_0x5e709d['id']+'-'+_0x583a21+'.pdf');var _0x29937b={'path':_0x55202e,'channel':_0x96ab('0xe5'),'interactionId':_0x5e709d['id']};return pdf[_0x96ab('0xf6')](_0x19debb,_0x29937b);})[_0x96ab('0x2a')](function(){return new BPromise(function(_0x27680e,_0x41dbe9){zipdir(_0x1d9a3f,{'saveTo':_0x352041},function(_0x5223d2,_0x33db1e){if(_0x5223d2)return _0x41dbe9(_0x5223d2);return _0x27680e(_0x33db1e);});})[_0x96ab('0x2a')](function(){return new BPromise(function(_0x3f95e8,_0x17a7f9){rimraf(_0x1d9a3f,function(_0x31d081){if(_0x31d081)_0x17a7f9(_0x31d081);return _0x3f95e8();});});})[_0x96ab('0x2a')](function(){return _0x2bfe01[_0x96ab('0xd2')](_0x352041,_0x5bacf8,function(_0x588635){if(_0x588635){console[_0x96ab('0xf7')](_0x96ab('0xf8'),_0x588635);}else{fs['unlinkSync'](_0x352041);}});});});}else{return _0x2bfe01[_0x96ab('0x2c')](0xc8);}})[_0x96ab('0xbb')](handleError(_0x2bfe01,null));};