Built motion from commit (unavailable).|2.5.31
[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 _0x55c3=['left_join','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','users','o.id\x20=\x20i.UserId','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','parseSearch','length','find','having','`\x20=\x200','`\x20>\x200','operator','$substring','value','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','ContactId','buildExpression','text','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','createdAt','$gte','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','isArray','tag','filter','replace','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','group','i.id','Sequelize','QueryTypes','SELECT','unreadMessages','contactName','DESC','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','role','user','getWhatsappAccounts','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','keyBy','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','a.key','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','Contact.email','c.phone','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','groupBy','rows','params','keys','WhatsappInteraction','includeAll','include','options','create','addMessage','WhatsappMessage','ids','omit','findOne','hasOwnProperty','WhatsappInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','findAll','addTags','setTags','spread','Tag','emit','whatsappInteractionTags:save','removeTags','download','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','User','CmContact','firstName','lastName','Attachment','Messages','direction','Owner','get','Whatsapp','Account','N.A.','closed','closedAt','basename','existsSync','createReadStream','pipe','out','Contact','secret','renderFile','views','.pdf','createPdfFromHTML','log','err','unlinkSync','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','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/utils','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','redis','./whatsappInteraction.socket','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','render','merge','body','message','agent','interaction','Users','fullname','TagIds','split','forEach','Tags','push','catch','map','rawAttributes','fieldName','type','key','model','query','attributes','intersection','fields','nolimit','order','sort','where','filters','pick','select','field','color','from','u.fullname','ui.WhatsappInteractionId','u.id\x20=\x20ui.UserId'];(function(_0x40160a,_0x4ea7d2){var _0x142fe4=function(_0x592cd2){while(--_0x592cd2){_0x40160a['push'](_0x40160a['shift']());}};_0x142fe4(++_0x4ea7d2);}(_0x55c3,0x189));var _0x355c=function(_0x56bf30,_0x19b741){_0x56bf30=_0x56bf30-0x0;var _0x54481e=_0x55c3[_0x56bf30];return _0x54481e;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x355c('0x0'));var zipdir=require(_0x355c('0x1'));var jsonpatch=require(_0x355c('0x2'));var rp=require(_0x355c('0x3'));var moment=require(_0x355c('0x4'));var BPromise=require(_0x355c('0x5'));var Mustache=require(_0x355c('0x6'));var util=require(_0x355c('0x7'));var path=require(_0x355c('0x8'));var sox=require(_0x355c('0x9'));var csv=require(_0x355c('0xa'));var ejs=require(_0x355c('0xb'));var fs=require('fs');var fs_extra=require(_0x355c('0xc'));var _=require(_0x355c('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x355c('0xe'));var deskjs=require(_0x355c('0xf'));var toCsv=require(_0x355c('0xa'));var querystring=require(_0x355c('0x10'));var Papa=require(_0x355c('0x11'));var Redis=require(_0x355c('0x12'));var authService=require(_0x355c('0x13'));var qs=require(_0x355c('0x14'));var as=require(_0x355c('0x15'));var pdf=require(_0x355c('0x16'));var hardwareService=require(_0x355c('0x17'));var logger=require(_0x355c('0x18'))(_0x355c('0x19'));var utils=require(_0x355c('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0x355c('0x1b'));var db=require(_0x355c('0x1c'))['db'];config['redis']=_[_0x355c('0x1d')](config['redis'],{'host':_0x355c('0x1e'),'port':0x18eb});var socket=require(_0x355c('0x1f'))(new Redis(config[_0x355c('0x20')]));require(_0x355c('0x21'))['register'](socket);function respondWithStatusCode(_0xe0442e,_0x4ac022){_0x4ac022=_0x4ac022||0xcc;return function(_0x521716){if(_0x521716){return _0xe0442e[_0x355c('0x22')](_0x4ac022);}return _0xe0442e[_0x355c('0x23')](_0x4ac022)[_0x355c('0x24')]();};}function respondWithResult(_0x2b77c1,_0x1f5b33){_0x1f5b33=_0x1f5b33||0xc8;return function(_0x25369a){if(_0x25369a){return _0x2b77c1[_0x355c('0x23')](_0x1f5b33)[_0x355c('0x25')](_0x25369a);}};}function respondWithFilteredResult(_0x3b50b7,_0x559577){return function(_0xc051c7){if(_0xc051c7){var _0x2610c5=typeof _0x559577['offset']==='undefined'&&typeof _0x559577['limit']==='undefined';var _0x445302=_0xc051c7[_0x355c('0x26')];var _0x47839f=_0x2610c5?0x0:_0x559577['offset'];var _0x42323a=_0x2610c5?_0xc051c7[_0x355c('0x26')]:_0x559577[_0x355c('0x27')]+_0x559577[_0x355c('0x28')];var _0x24987b;if(_0x42323a>=_0x445302){_0x42323a=_0x445302;_0x24987b=0xc8;}else{_0x24987b=0xce;}_0x3b50b7[_0x355c('0x23')](_0x24987b);return _0x3b50b7[_0x355c('0x29')](_0x355c('0x2a'),_0x47839f+'-'+_0x42323a+'/'+_0x445302)['json'](_0xc051c7);}return null;};}function patchUpdates(_0x5d01ae){return function(_0xe612be){try{jsonpatch[_0x355c('0x2b')](_0xe612be,_0x5d01ae,!![]);}catch(_0x27946d){return BPromise['reject'](_0x27946d);}return _0xe612be[_0x355c('0x2c')]();};}function saveUpdates(_0x535e10,_0x3be2fa){return function(_0x285c0b){if(_0x285c0b){return _0x285c0b[_0x355c('0x2d')](_0x535e10)[_0x355c('0x2e')](function(_0x308f0c){return _0x308f0c;});}return null;};}function removeEntity(_0x4e5f1b,_0x4332b9){return function(_0x448e1f){if(_0x448e1f){return _0x448e1f[_0x355c('0x2f')]()[_0x355c('0x2e')](function(){_0x4e5f1b[_0x355c('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x26e537,_0x5e6345){return function(_0xb5895a){if(!_0xb5895a){_0x26e537[_0x355c('0x22')](0x194);}return _0xb5895a;};}function handleError(_0x44d033,_0x2ba985){_0x2ba985=_0x2ba985||0x1f4;return function(_0x213289){logger[_0x355c('0x30')](_0x213289[_0x355c('0x31')]);if(_0x213289['name']){delete _0x213289[_0x355c('0x32')];}_0x44d033[_0x355c('0x23')](_0x2ba985)[_0x355c('0x33')](_0x213289);};}function getMustacheRender(_0x34eb79,_0x45fb4a){return Mustache[_0x355c('0x34')](_0x34eb79,_[_0x355c('0x35')](_0x45fb4a[_0x355c('0x36')],{'contact':_0x45fb4a['contact'],'message':_0x45fb4a[_0x355c('0x37')],'agent':_0x45fb4a[_0x355c('0x38')],'interaction':_0x45fb4a[_0x355c('0x39')],'account':_0x45fb4a['account']}))||'';}function getInteractionUsers(_0x453aa8,_0x47cf27){return new BPromise(function(_0x41575f,_0x1d4d21){try{if(_0x47cf27[_0x453aa8['id']]){_0x453aa8[_0x355c('0x3a')]=_['map'](_0x47cf27[_0x453aa8['id']],function(_0x132bc4){return{'id':_0x132bc4['id'],'fullname':_0x132bc4[_0x355c('0x3b')]};});}}catch(_0x5f424d){_0x1d4d21(_0x5f424d);}_0x41575f(_0x453aa8);});}function getInteractionTags(_0x2a222a,_0xeca95d){return new BPromise(function(_0x2fcd90,_0x58f3df){try{if(_0x2a222a[_0x355c('0x3c')]){_0x2a222a['Tags']=[];_0x2a222a[_0x355c('0x3c')][_0x355c('0x3d')](',')[_0x355c('0x3e')](function(_0x510c2b){_0x2a222a[_0x355c('0x3f')][_0x355c('0x40')](_0xeca95d[_0x510c2b]);});}delete _0x2a222a[_0x355c('0x3c')];}catch(_0x54595a){_0x58f3df(_0x54595a);}_0x2fcd90(_0x2a222a);});}function updateWhatsappInteraction(_0xb32a7b,_0x5d3266,_0x4615db){return new BPromise(function(_0x34f865,_0x32b0ca){return getInteractionUsers(_0xb32a7b,_0x4615db)[_0x355c('0x2e')](function(_0x31111d){return getInteractionTags(_0x31111d,_0x5d3266);})['then'](function(_0x4df4c7){_0x34f865(_0x4df4c7);})[_0x355c('0x41')](function(_0x48b673){_0x32b0ca(_0x48b673);});});}exports['index']=function(_0x254bc4,_0x1abaad){var _0x1844f2={},_0x560a79={},_0xa1fd19={'count':0x0,'rows':[]};var _0x451bd6=_[_0x355c('0x42')](db['WhatsappInteraction'][_0x355c('0x43')],function(_0x95ba86){return{'name':_0x95ba86[_0x355c('0x44')],'type':_0x95ba86[_0x355c('0x45')][_0x355c('0x46')]};});_0x560a79[_0x355c('0x47')]=_['map'](_0x451bd6,'name');_0x560a79['query']=_['keys'](_0x254bc4[_0x355c('0x48')]);_0x560a79['filters']=_['intersection'](_0x560a79[_0x355c('0x47')],_0x560a79['query']);_0x1844f2[_0x355c('0x49')]=_[_0x355c('0x4a')](_0x560a79[_0x355c('0x47')],qs[_0x355c('0x4b')](_0x254bc4[_0x355c('0x48')][_0x355c('0x4b')]));_0x1844f2[_0x355c('0x49')]=_0x1844f2[_0x355c('0x49')]['length']?_0x1844f2[_0x355c('0x49')]:_0x560a79[_0x355c('0x47')];if(!_0x254bc4[_0x355c('0x48')]['hasOwnProperty'](_0x355c('0x4c'))){_0x1844f2[_0x355c('0x28')]=qs['limit'](_0x254bc4[_0x355c('0x48')][_0x355c('0x28')]);_0x1844f2[_0x355c('0x27')]=qs[_0x355c('0x27')](_0x254bc4[_0x355c('0x48')][_0x355c('0x27')]);}_0x1844f2[_0x355c('0x4d')]=qs[_0x355c('0x4e')](_0x254bc4[_0x355c('0x48')][_0x355c('0x4e')]);_0x1844f2[_0x355c('0x4f')]=qs[_0x355c('0x50')](_[_0x355c('0x51')](_0x254bc4[_0x355c('0x48')],_0x560a79[_0x355c('0x50')]),_0x451bd6);var _0x56b58f=[];var _0x5007dc=squel[_0x355c('0x52')]()[_0x355c('0x53')]('id')[_0x355c('0x53')]('name')[_0x355c('0x53')](_0x355c('0x54'))[_0x355c('0x55')]('tools_tags');var _0x5b4c0f=squel['select']()[_0x355c('0x53')]('u.id')[_0x355c('0x53')](_0x355c('0x56'))[_0x355c('0x53')](_0x355c('0x57'))[_0x355c('0x55')]('user_has_whatsapp_interactions','ui')['left_join']('users','u',_0x355c('0x58'));var _0x12a0eb=squel[_0x355c('0x52')]()[_0x355c('0x55')]('whatsapp_interactions','i')[_0x355c('0x59')](_0x355c('0x5a'),'c',_0x355c('0x5b'))[_0x355c('0x59')](_0x355c('0x5c'),'o',_0x355c('0x5d'))[_0x355c('0x59')]('whatsapp_accounts','a',_0x355c('0x5e'))[_0x355c('0x59')](_0x355c('0x5f'),'me',_0x355c('0x60'))[_0x355c('0x59')](_0x355c('0x61'),'it',_0x355c('0x62'))[_0x355c('0x59')](_0x355c('0x63'),'t',_0x355c('0x64'));var _0xc3a863=squel[_0x355c('0x65')]();var _0x51b24d=[];var _0x254219=squel[_0x355c('0x65')]();var _0x1cbfac;if(_0x254bc4[_0x355c('0x48')][_0x355c('0x66')]){_0x1cbfac=as[_0x355c('0x67')](_0x254bc4['query'][_0x355c('0x66')]);var _0x120665=_0x1cbfac['sqlOperator'];for(var _0x1891b7=0x0;_0x1891b7<_0x1cbfac['conditions'][_0x355c('0x68')];_0x1891b7++){var _0x2bdd47=_0x1cbfac['conditions'][_0x1891b7];var _0x3d4ff3='i';var _0x1e25f1=_[_0x355c('0x69')](_0x451bd6,[_0x355c('0x32'),_0x2bdd47[_0x355c('0x53')]]);if(!_0x1e25f1){switch(_0x2bdd47[_0x355c('0x53')]){case'unreadMessages':if(_0x2bdd47['value']==0x1){_0x12a0eb[_0x355c('0x6a')]('`'+_0x2bdd47['field']+_0x355c('0x6b'));}else{_0x12a0eb[_0x355c('0x6a')]('`'+_0x2bdd47[_0x355c('0x53')]+_0x355c('0x6c'));}break;case'Contact':if(_0x2bdd47[_0x355c('0x6d')]===_0x355c('0x6e')){if(_0x2bdd47[_0x355c('0x6f')]['split']('\x20')[_0x355c('0x68')]>0x1){_0xc3a863[_0x120665](_0x355c('0x70'),qs[_0x355c('0x71')](_0x2bdd47[_0x355c('0x6f')]),null);}else{var _0x17e9de='%'+_0x2bdd47[_0x355c('0x6f')]+'%';_0xc3a863[_0x120665]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x17e9de,_0x17e9de,_0x17e9de);}}else{_0x1e25f1=_['find'](_0x451bd6,[_0x355c('0x32'),_0x355c('0x72')]);_0x2bdd47['field']=_0x355c('0x72');_0x6470af=as[_0x355c('0x73')](_0x3d4ff3,_0x1e25f1[_0x355c('0x45')],_0x2bdd47);_0xc3a863[_0x120665](_0x6470af[_0x355c('0x74')],_0x6470af[_0x355c('0x6f')][_0x355c('0x75')],_0x6470af[_0x355c('0x6f')][_0x355c('0x24')]);}break;case'Tag':var _0x3bd48a=_0x2bdd47[_0x355c('0x6f')][_0x355c('0x3d')](',')[_0x355c('0x42')](function(_0x58dd55){return Number(_0x58dd55);});_0x3bd48a[_0x355c('0x3e')](function(_0x1f8534){_0x254219['or'](_0x355c('0x76'),'%,'+_0x1f8534+',%');});_0x51b24d=_['union'](_0x51b24d,_0x3bd48a);break;case'User':if(_0x2bdd47[_0x355c('0x6d')]==='$substring'){_0xc3a863[_0x120665](_0x355c('0x77'),'%'+_0x2bdd47['value']+'%',null);}else{_0x1e25f1=_[_0x355c('0x69')](_0x451bd6,[_0x355c('0x32'),_0x355c('0x78')]);_0x2bdd47[_0x355c('0x53')]='UserId';_0x6470af=as[_0x355c('0x73')](_0x3d4ff3,_0x1e25f1['type'],_0x2bdd47);_0xc3a863[_0x120665](_0x6470af[_0x355c('0x74')],_0x6470af[_0x355c('0x6f')][_0x355c('0x75')],_0x6470af[_0x355c('0x6f')][_0x355c('0x24')]);}break;case _0x355c('0x36'):_0x6470af=as[_0x355c('0x73')]('me',null,_0x2bdd47);_0xc3a863[_0x120665](_0x6470af[_0x355c('0x74')],_0x6470af[_0x355c('0x6f')][_0x355c('0x75')],_0x6470af[_0x355c('0x6f')][_0x355c('0x24')]);break;}}else{var _0x6470af=as[_0x355c('0x73')](_0x3d4ff3,_0x1e25f1[_0x355c('0x45')],_0x2bdd47);_0xc3a863[_0x120665](_0x6470af[_0x355c('0x74')],_0x6470af[_0x355c('0x6f')]['start'],_0x6470af[_0x355c('0x6f')][_0x355c('0x24')]);}}}else{var _0x3129f1=_(_0x254bc4[_0x355c('0x48')])['keys']()[_0x355c('0x42')](function(_0x4cf91e){return _[_0x355c('0x79')](_0x451bd6,[_0x355c('0x32'),_0x4cf91e])?_0x4cf91e:undefined;})[_0x355c('0x7a')]()[_0x355c('0x6f')]();if(!_[_0x355c('0x7b')](_0x3129f1)){_0x3129f1['forEach'](function(_0x33f028){if(_0x33f028===_0x355c('0x7c')){_0x12a0eb[_0x355c('0x4f')](_0x355c('0x7d'),[][_0x355c('0x7e')](_0x254bc4[_0x355c('0x48')][_0x33f028]));}else if(_0x33f028===_0x355c('0x7f')){var _0x90bfc9=JSON['parse'](_0x254bc4[_0x355c('0x48')][_0x33f028])[_0x355c('0x80')];var _0x484de5=JSON['parse'](_0x254bc4[_0x355c('0x48')][_0x33f028])[_0x355c('0x81')];_0x12a0eb[_0x355c('0x4f')](_0x355c('0x82'),_0x90bfc9,_0x484de5);}else{if(_0x254bc4[_0x355c('0x48')][_0x33f028]===_0x355c('0x83')){_0x12a0eb[_0x355c('0x4f')]('i.'+_0x33f028+_0x355c('0x84'));}else{_0x12a0eb[_0x355c('0x4f')]('i.'+_0x33f028+_0x355c('0x85'),_0x254bc4[_0x355c('0x48')][_0x33f028]);}}});}if(_0x254bc4[_0x355c('0x48')][_0x355c('0x86')]){if(_0x254bc4[_0x355c('0x48')][_0x355c('0x86')]==0x1){_0x12a0eb[_0x355c('0x6a')]('`unreadMessages`\x20=\x200');}else{_0x12a0eb[_0x355c('0x6a')](_0x355c('0x87'));}}if(_0x254bc4[_0x355c('0x48')]['tag']){_0x51b24d=_[_0x355c('0x88')](_0x254bc4['query']['tag'])?_0x254bc4[_0x355c('0x48')]['tag']:new Array(_0x254bc4[_0x355c('0x48')][_0x355c('0x89')]);_0x51b24d[_0x355c('0x3e')](function(_0x49f7f9){_0x254219['or'](_0x355c('0x76'),'%,'+_0x49f7f9+',%');});}if(_0x254bc4[_0x355c('0x48')][_0x355c('0x8a')]){var _0x359514=_0x254bc4[_0x355c('0x48')]['filter']['replace']('\x5c','\x5c\x5c')[_0x355c('0x8b')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x359514)){_0xc3a863['or'](_0x355c('0x8c'),_0x359514+'%')['or'](_0x355c('0x8d'),_0x359514+'%');}else{_0xc3a863['or'](_0x355c('0x8e'),qs[_0x355c('0x71')](_0x359514))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x359514+'%');}}}_0x12a0eb[_0x355c('0x4f')](_0xc3a863);_0x12a0eb[_0x355c('0x8f')](_0x355c('0x90'));var _0x4c6c71={'type':db[_0x355c('0x91')][_0x355c('0x92')][_0x355c('0x93')],'raw':!![]};var _0x2d7a35=_0x12a0eb['clone']();_0x2d7a35['field'](_0x355c('0x90'));_0x2d7a35['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x355c('0x94'));if(_0x1844f2['order']){_0x1844f2[_0x355c('0x4d')][_0x355c('0x3e')](function(_0x4dd492){var _0x497242=_0x4dd492[0x0]===_0x355c('0x95')?_0x4dd492[0x0]:'i.'+_0x4dd492[0x0];_0x12a0eb[_0x355c('0x4d')](_0x497242,_0x4dd492[0x1]===_0x355c('0x96')?![]:!![]);});}if(!_[_0x355c('0x7b')](_0x51b24d)){_0x12a0eb[_0x355c('0x6a')](_0x254219);_0x2d7a35[_0x355c('0x4f')]('t.id\x20IN\x20?',_0x51b24d);}BPromise['resolve']()[_0x355c('0x2e')](function(){if(!_0x1cbfac){if(_0x254bc4['query']['WhatsappAccountId'])return;_0x2d7a35[_0x355c('0x4f')](_0x355c('0x97'));_0x12a0eb[_0x355c('0x4f')](_0x355c('0x97'));return;}if(_0x254bc4['user'][_0x355c('0x98')]!==_0x355c('0x38'))return;return _0x254bc4[_0x355c('0x99')][_0x355c('0x9a')]({'attributes':['id'],'raw':!![]})[_0x355c('0x2e')](function(_0x4e88e8){if(_[_0x355c('0x7b')](_0x4e88e8)){_0x2d7a35[_0x355c('0x4f')](_0x355c('0x9b'));_0x12a0eb[_0x355c('0x4f')](_0x355c('0x9b'));}else{_0x2d7a35[_0x355c('0x4f')](_0x355c('0x7d'),_[_0x355c('0x42')](_0x4e88e8,'id'));_0x12a0eb[_0x355c('0x4f')](_0x355c('0x7d'),_[_0x355c('0x42')](_0x4e88e8,'id'));}});})[_0x355c('0x2e')](function(){if(_0x254bc4['user'][_0x355c('0x98')]===_0x355c('0x38')&&!_0x1cbfac&&!_0x254bc4[_0x355c('0x48')][_0x355c('0x7c')])return[];return db[_0x355c('0x9c')]['query'](_0x2d7a35[_0x355c('0x9d')](),_0x4c6c71);})[_0x355c('0x2e')](function(_0x57885f){_0xa1fd19[_0x355c('0x26')]=_0x57885f[_0x355c('0x68')];if(_0xa1fd19[_0x355c('0x26')]===0x0)return[];return db[_0x355c('0x9c')]['query'](_0x5007dc[_0x355c('0x9d')](),_0x4c6c71)[_0x355c('0x2e')](function(_0x5c355a){_0x56b58f=_[_0x355c('0x9e')](_0x5c355a,'id');_0x4c6c71=_['merge'](_0x4c6c71,{'model':db['WhatsappInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x254bc4[_0x355c('0x48')][_0x355c('0x4b')]){_0x1844f2[_0x355c('0x49')][_0x355c('0x3e')](function(_0x51ef58){_0x12a0eb[_0x355c('0x53')]('i.'+_0x51ef58);});}else{_0x12a0eb[_0x355c('0x53')](_0x355c('0x9f'),_0x355c('0x94'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xa0'),_0x355c('0xa1'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xa2'),_0x355c('0xa3'));_0x12a0eb[_0x355c('0x53')]('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',_0x355c('0x95'));_0x12a0eb['field'](_0x355c('0xa4'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xa5'),_0x355c('0xa6'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xa7'),_0x355c('0xa8'));_0x12a0eb[_0x355c('0x53')]('c.email',_0x355c('0xa9'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xaa'),_0x355c('0xab'));_0x12a0eb['field'](_0x355c('0xac'),_0x355c('0xad'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xae'),_0x355c('0xaf'));_0x12a0eb[_0x355c('0x53')]('o.fullname','Owner.fullname');_0x12a0eb[_0x355c('0x53')]('o.internal',_0x355c('0xb0'));_0x12a0eb[_0x355c('0x53')](_0x355c('0xb1'),_0x355c('0x3c'));}if(_0x1844f2['limit'])_0x12a0eb[_0x355c('0x28')](_0x1844f2[_0x355c('0x28')]);if(_0x1844f2[_0x355c('0x27')])_0x12a0eb[_0x355c('0x27')](_0x1844f2['offset']);return db['sequelize'][_0x355c('0x48')](_0x12a0eb[_0x355c('0x9d')](),_0x4c6c71);})[_0x355c('0x2e')](function(_0x3c7c3d){if(_0x3c7c3d[_0x355c('0x68')]>0x0)_0x5b4c0f['where'](_0x355c('0xb2'),_[_0x355c('0x42')](_0x3c7c3d,'id'));return db['sequelize'][_0x355c('0x48')](_0x5b4c0f[_0x355c('0x9d')](),_0x4c6c71)[_0x355c('0x2e')](function(_0x439232){var _0x313792=_[_0x355c('0xb3')](_0x439232,'WhatsappInteractionId');var _0x45e9ca=[];_0x3c7c3d['forEach'](function(_0xc286d7){_0x45e9ca[_0x355c('0x40')](updateWhatsappInteraction(_0xc286d7,_0x56b58f,_0x313792));});return BPromise['all'](_0x45e9ca);});});})['then'](function(_0x3a943c){_0xa1fd19[_0x355c('0xb4')]=_0x3a943c;return _0xa1fd19;})['then'](respondWithFilteredResult(_0x1abaad,_0x1844f2))[_0x355c('0x41')](handleError(_0x1abaad,null));};exports['show']=function(_0x3dc61b,_0x119633){var _0x987afd={'raw':![],'where':{'id':_0x3dc61b[_0x355c('0xb5')]['id']}},_0x226de1={};_0x226de1[_0x355c('0x47')]=_[_0x355c('0xb6')](db[_0x355c('0xb7')][_0x355c('0x43')]);_0x226de1[_0x355c('0x48')]=_[_0x355c('0xb6')](_0x3dc61b[_0x355c('0x48')]);_0x226de1['filters']=_[_0x355c('0x4a')](_0x226de1[_0x355c('0x47')],_0x226de1[_0x355c('0x48')]);_0x987afd[_0x355c('0x49')]=_[_0x355c('0x4a')](_0x226de1[_0x355c('0x47')],qs[_0x355c('0x4b')](_0x3dc61b[_0x355c('0x48')][_0x355c('0x4b')]));_0x987afd['attributes']=_0x987afd[_0x355c('0x49')]['length']?_0x987afd[_0x355c('0x49')]:_0x226de1[_0x355c('0x47')];if(_0x3dc61b[_0x355c('0x48')][_0x355c('0xb8')]){_0x987afd[_0x355c('0xb9')]=[{'all':!![]}];}_0x987afd=_['merge']({},_0x987afd,_0x3dc61b[_0x355c('0xba')]);return db['WhatsappInteraction'][_0x355c('0x69')](_0x987afd)['then'](handleEntityNotFound(_0x119633,null))[_0x355c('0x2e')](respondWithResult(_0x119633,null))[_0x355c('0x41')](handleError(_0x119633,null));};exports[_0x355c('0xbb')]=function(_0x560ded,_0x1f207b){return db[_0x355c('0xb7')][_0x355c('0xbb')](_0x560ded[_0x355c('0x36')],{})[_0x355c('0x2e')](respondWithResult(_0x1f207b,0xc9))[_0x355c('0x41')](handleError(_0x1f207b,null));};exports[_0x355c('0x2d')]=function(_0x5a7be8,_0x101885){if(_0x5a7be8[_0x355c('0x36')]['id']){delete _0x5a7be8[_0x355c('0x36')]['id'];}return db[_0x355c('0xb7')][_0x355c('0x69')]({'where':{'id':_0x5a7be8[_0x355c('0xb5')]['id']}})[_0x355c('0x2e')](handleEntityNotFound(_0x101885,null))[_0x355c('0x2e')](saveUpdates(_0x5a7be8[_0x355c('0x36')],null))['then'](respondWithResult(_0x101885,null))[_0x355c('0x41')](handleError(_0x101885,null));};exports[_0x355c('0x2f')]=function(_0x22c65a,_0x24a805){return db['WhatsappInteraction'][_0x355c('0x69')]({'where':{'id':_0x22c65a[_0x355c('0xb5')]['id']}})[_0x355c('0x2e')](handleEntityNotFound(_0x24a805,null))[_0x355c('0x2e')](removeEntity(_0x24a805,null))[_0x355c('0x41')](handleError(_0x24a805,null));};exports['describe']=function(_0x42f894,_0x12a5a5){return db[_0x355c('0xb7')]['describe']()[_0x355c('0x2e')](respondWithResult(_0x12a5a5,null))[_0x355c('0x41')](handleError(_0x12a5a5,null));};exports[_0x355c('0xbc')]=function(_0x30ab87,_0x58fe3a,_0x175b88){return db[_0x355c('0xbd')][_0x355c('0x69')]({'where':{'id':_0x30ab87[_0x355c('0xb5')]['id']}})[_0x355c('0x2e')](handleEntityNotFound(_0x58fe3a,null))[_0x355c('0x2e')](function(_0x1efd53){if(_0x1efd53){return _0x1efd53[_0x355c('0xbc')](_0x30ab87['body'][_0x355c('0xbe')],_[_0x355c('0xbf')](_0x30ab87[_0x355c('0x36')],[_0x355c('0xbe'),'id'])||{});}})[_0x355c('0x2e')](respondWithResult(_0x58fe3a,null))[_0x355c('0x41')](handleError(_0x58fe3a,null));};exports['getMessages']=function(_0x567fac,_0x49e00b,_0xa0d5c8){var _0x4432be={'raw':![],'where':{}};var _0x3c58ec={};var _0x2c56fa={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x355c('0xc0')]({'where':{'id':_0x567fac[_0x355c('0xb5')]['id']}})[_0x355c('0x2e')](handleEntityNotFound(_0x49e00b,null))[_0x355c('0x2e')](function(_0x2a1e99){if(_0x2a1e99){_0x3c58ec['model']=_['keys'](db['WhatsappMessage'][_0x355c('0x43')]);_0x3c58ec[_0x355c('0x48')]=_['keys'](_0x567fac['query']);_0x3c58ec[_0x355c('0x50')]=_[_0x355c('0x4a')](_0x3c58ec[_0x355c('0x47')],_0x3c58ec['query']);_0x4432be['attributes']=_[_0x355c('0x4a')](_0x3c58ec[_0x355c('0x47')],qs[_0x355c('0x4b')](_0x567fac[_0x355c('0x48')][_0x355c('0x4b')]));_0x4432be[_0x355c('0x49')]=_0x4432be[_0x355c('0x49')][_0x355c('0x68')]?_0x4432be[_0x355c('0x49')]:_0x3c58ec[_0x355c('0x47')];if(!_0x567fac[_0x355c('0x48')][_0x355c('0xc1')]('nolimit')){_0x4432be['limit']=qs[_0x355c('0x28')](_0x567fac[_0x355c('0x48')][_0x355c('0x28')]);_0x4432be[_0x355c('0x27')]=qs[_0x355c('0x27')](_0x567fac[_0x355c('0x48')][_0x355c('0x27')]);}_0x4432be['order']=qs['sort'](_0x567fac[_0x355c('0x48')]['sort']);_0x4432be['where']=qs['filters'](_['pick'](_0x567fac[_0x355c('0x48')],_0x3c58ec['filters']));_0x4432be['where'][_0x355c('0xc2')]=_0x2a1e99['id'];if(_0x567fac[_0x355c('0x48')]['filter']){_0x4432be['where']=_[_0x355c('0x35')](_0x4432be[_0x355c('0x4f')],{'$or':_[_0x355c('0x42')](_0x4432be[_0x355c('0x49')],function(_0x3bf605){var _0x2093e8={};_0x2093e8[_0x3bf605]={'$like':'%'+_0x567fac[_0x355c('0x48')][_0x355c('0x8a')]+'%'};return _0x2093e8;})});}if(_0x567fac[_0x355c('0x48')][_0x355c('0x80')]){var _0x56faf8=_0x567fac[_0x355c('0x48')][_0x355c('0x80')]['split'](',');var _0x1cf06f={};_0x1cf06f[_0x56faf8[0x0]]={'$gte':moment(_0x56faf8[0x1])[_0x355c('0xc3')](_0x355c('0xc4'))};_0x4432be[_0x355c('0x4f')]=_['merge'](_0x4432be[_0x355c('0x4f')],_0x1cf06f);}_0x4432be=_[_0x355c('0x35')]({},_0x4432be,_0x567fac[_0x355c('0xba')]);return db[_0x355c('0xbd')]['count']({'where':_0x4432be[_0x355c('0x4f')]})[_0x355c('0x2e')](function(_0x32e3e6){_0x2c56fa[_0x355c('0x26')]=_0x32e3e6;if(_0x567fac['query']['includeAll']){_0x4432be[_0x355c('0xb9')]=[{'all':!![]}];}return db['WhatsappMessage'][_0x355c('0xc5')](_0x4432be);})[_0x355c('0x2e')](function(_0x1578f1){_0x2c56fa[_0x355c('0xb4')]=_0x1578f1;return _0x2c56fa;});}})[_0x355c('0x2e')](respondWithFilteredResult(_0x49e00b,_0x4432be))[_0x355c('0x41')](handleError(_0x49e00b,null));};exports[_0x355c('0xc6')]=function(_0x1ac30d,_0x4dfefb,_0x2eeb92){return db[_0x355c('0xb7')][_0x355c('0x69')]({'where':{'id':_0x1ac30d[_0x355c('0xb5')]['id']}})[_0x355c('0x2e')](handleEntityNotFound(_0x4dfefb,null))['then'](function(_0x2cd63f){if(_0x2cd63f){return _0x2cd63f[_0x355c('0xc7')](_0x1ac30d[_0x355c('0x36')]['ids'],_[_0x355c('0xbf')](_0x1ac30d[_0x355c('0x36')],['ids','id'])||{})[_0x355c('0xc8')](function(){return db[_0x355c('0xc9')]['findAll']({'attributes':['id','name',_0x355c('0x54')],'where':{'id':_0x1ac30d[_0x355c('0x36')][_0x355c('0xbe')]}});})[_0x355c('0x2e')](function(_0x5a5aa8){socket[_0x355c('0xca')](_0x355c('0xcb'),{'id':Number(_0x1ac30d[_0x355c('0xb5')]['id']),'tags':_0x5a5aa8||[]});return{'id':Number(_0x1ac30d['params']['id']),'tags':_0x5a5aa8||[]};});}})['then'](respondWithResult(_0x4dfefb,null))['catch'](handleError(_0x4dfefb,null));};exports[_0x355c('0xcc')]=function(_0x107dee,_0x369753,_0x41a9ce){return db[_0x355c('0xb7')][_0x355c('0x69')]({'where':{'id':_0x107dee[_0x355c('0xb5')]['id']}})[_0x355c('0x2e')](handleEntityNotFound(_0x369753,null))['then'](function(_0x3f507a){if(_0x3f507a){return _0x3f507a[_0x355c('0xcc')](_0x107dee[_0x355c('0x48')][_0x355c('0xbe')]);}})[_0x355c('0x2e')](respondWithStatusCode(_0x369753,null))['catch'](handleError(_0x369753,null));};exports[_0x355c('0xcd')]=function(_0x102afb,_0x54421e){var _0x591424=moment()['unix']()[_0x355c('0x9d')]();var _0x23bfb0=path[_0x355c('0xce')](config[_0x355c('0xcf')],_0x355c('0xd0'),_0x355c('0xd1'),_0x355c('0xd2'));var _0x20d22f=path[_0x355c('0xce')](config[_0x355c('0xcf')],_0x355c('0xd0'),_0x355c('0xd1'),_0x355c('0xd3'));var _0x4b0f82=path[_0x355c('0xce')](_0x23bfb0,_0x591424);var _0x1b7a48=util['format'](_0x355c('0xd4'),_0x102afb[_0x355c('0xb5')]['id'],_0x591424);var _0xf5c9b5=path[_0x355c('0xce')](_0x23bfb0,_0x1b7a48);var _0x5593b9=[];_0x5593b9[_0x355c('0x40')]({'model':db[_0x355c('0xd5')],'as':_0x355c('0xd5'),'attributes':['id',_0x355c('0x3b')],'raw':!![]});_0x5593b9[_0x355c('0x40')]({'model':db[_0x355c('0xd6')],'as':'Contact','attributes':['id',_0x355c('0xd7'),_0x355c('0xd8')],'raw':!![]});if(_0x102afb['query']['attachments']){_0x5593b9[_0x355c('0x40')]({'model':db[_0x355c('0xd9')],'as':'Attachment','raw':!![]});}var _0x47e7e2=[{'model':db[_0x355c('0xbd')],'as':_0x355c('0xda'),'attributes':['id',_0x355c('0x36'),_0x355c('0x7f'),_0x355c('0xdb'),'secret',_0x355c('0x86')],'include':_0x5593b9}];_0x47e7e2[_0x355c('0x40')]({'model':db['WhatsappAccount'],'as':'Account','attributes':['id',_0x355c('0x32')]});_0x47e7e2[_0x355c('0x40')]({'model':db[_0x355c('0xd5')],'as':_0x355c('0xdc'),'attributes':['id',_0x355c('0x3b')]});return db[_0x355c('0xb7')]['find']({'where':{'id':_0x102afb[_0x355c('0xb5')]['id']},'include':_0x47e7e2})[_0x355c('0x2e')](handleEntityNotFound(_0x54421e,null))[_0x355c('0x2e')](function(_0x2ea5b9){if(_0x2ea5b9){var _0x11e3f2=_0x2ea5b9[_0x355c('0xdd')]({'plain':!![]});fs['mkdirSync'](_0x4b0f82);var _0x10a820={'channel':_0x355c('0xde'),'account':_0x11e3f2[_0x355c('0xdf')][_0x355c('0x32')],'agent':_0x11e3f2[_0x355c('0xdc')]?_0x11e3f2[_0x355c('0xdc')]['fullname']:_0x355c('0xe0'),'createdAt':moment(_0x11e3f2['createdAt'])[_0x355c('0xc3')](_0x355c('0xc4'))['toString'](),'closedAt':_0x11e3f2[_0x355c('0xe1')]?moment(_0x11e3f2[_0x355c('0xe2')])[_0x355c('0xc3')](_0x355c('0xc4'))['toString']():'','disposition':_0x11e3f2['disposition'],'messages':_(_0x11e3f2[_0x355c('0xda')])[_0x355c('0x8a')]({'secret':![]})[_0x355c('0x42')](function(_0x4bd027){if(_0x4bd027[_0x355c('0xd9')]){var _0x7242a5=path[_0x355c('0xce')](_0x20d22f,_0x4bd027[_0x355c('0xd9')][_0x355c('0xe3')]);if(fs[_0x355c('0xe4')](_0x7242a5)){fs[_0x355c('0xe5')](_0x7242a5)[_0x355c('0xe6')](fs['createWriteStream'](path[_0x355c('0xce')](_0x4b0f82,_0x4bd027[_0x355c('0xd9')]['basename'])));}}return{'date':moment(_0x4bd027[_0x355c('0x7f')])[_0x355c('0xc3')](_0x355c('0xc4'))[_0x355c('0x9d')](),'sender':_0x4bd027[_0x355c('0xdb')]===_0x355c('0xe7')?_0x4bd027[_0x355c('0xd5')]?_0x4bd027['User']['fullname']:'System':_0x4bd027[_0x355c('0xe8')][_0x355c('0xd7')]+(_0x4bd027[_0x355c('0xe8')][_0x355c('0xd8')]?'\x20'+_0x4bd027[_0x355c('0xe8')]['lastName']:''),'body':_0x4bd027['Attachment']?_0x4bd027[_0x355c('0xd9')][_0x355c('0xe3')]:_0x4bd027[_0x355c('0x36')],'direction':_0x4bd027[_0x355c('0xdb')]==='out'?'A':'C','secret':_0x4bd027[_0x355c('0xe9')],'read':_0x4bd027[_0x355c('0x86')],'attachment':_0x4bd027[_0x355c('0xd9')]};})[_0x355c('0x6f')]()};return ejs[_0x355c('0xea')](path[_0x355c('0xce')](config[_0x355c('0xcf')],_0x355c('0xd0'),_0x355c('0xeb'),'downloadInteraction.html'),{'interaction':_0x10a820})[_0x355c('0x2e')](function(_0xc35b3e){var _0x38675b=path[_0x355c('0xce')](_0x4b0f82,'transcript-'+_0x11e3f2['id']+'-'+_0x591424+_0x355c('0xec'));var _0x4aeafb={'path':_0x38675b,'channel':'Whatsapp','interactionId':_0x11e3f2['id']};return pdf[_0x355c('0xed')](_0xc35b3e,_0x4aeafb);})[_0x355c('0x2e')](function(){return new BPromise(function(_0x201136,_0x11f982){zipdir(_0x4b0f82,{'saveTo':_0xf5c9b5},function(_0x14e461,_0x325476){if(_0x14e461)return _0x11f982(_0x14e461);return _0x201136(_0x325476);});})[_0x355c('0x2e')](function(){return new BPromise(function(_0x1f51a2,_0x4faf6e){rimraf(_0x4b0f82,function(_0x3f9fad){if(_0x3f9fad)_0x4faf6e(_0x3f9fad);return _0x1f51a2();});});})['then'](function(){return _0x54421e[_0x355c('0xcd')](_0xf5c9b5,_0x1b7a48,function(_0x2d32e3){if(_0x2d32e3){console[_0x355c('0xee')](_0x355c('0xef'),_0x2d32e3);}else{fs[_0x355c('0xf0')](_0xf5c9b5);}});});});}else{return _0x54421e[_0x355c('0x22')](0xc8);}})['catch'](handleError(_0x54421e,null));};