cf89d3340ba27d83746865ab8b0085c93911545b
[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 _0x4351=['status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','destroy','then','error','stack','name','send','merge','body','contact','message','interaction','account','Users','fullname','TagIds','forEach','Tags','push','catch','map','WhatsappInteraction','rawAttributes','fieldName','type','model','keys','filters','query','attributes','fields','hasOwnProperty','sort','where','pick','field','color','tools_tags','u.id','u.fullname','ui.WhatsappInteractionId','left_join','u.id\x20=\x20ui.UserId','select','from','whatsapp_interactions','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','whatsapp_messages','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','expr','search','parseSearch','sqlOperator','conditions','find','unreadMessages','value','having','Contact','operator','$substring','split','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','start','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','User','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','some','compact','isEmpty','WhatsappAccountId','i.WhatsappAccountId\x20IN\x20?','concat','$lte','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','null','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','i.id','Sequelize','SELECT','clone','order','contactName','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','i.WhatsappAccountId\x20IS\x20NULL','sequelize','toString','length','keyBy','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','c.lastName','c.email','Contact.email','c.phone','Contact.mobile','c.fax','Contact.fax','Owner.fullname','GROUP_CONCAT(DISTINCT\x20t.id)','ui.WhatsappInteractionId\x20IN\x20?','WhatsappInteractionId','all','rows','show','params','intersection','options','create','update','describe','addMessage','WhatsappMessage','ids','getMessages','findOne','nolimit','$gte','format','includeAll','include','findAll','addTags','setTags','spread','Tag','emit','whatsappInteractionTags:save','removeTags','join','root','server','files','tmp','attachments','transcript-%d-%s.zip','CmContact','firstName','lastName','Attachment','Messages','createdAt','direction','secret','Owner','get','mkdirSync','Whatsapp','Account','N.A.','YYYY-MM-DD\x20HH:mm:ss','closed','closedAt','createReadStream','pipe','basename','System','renderFile','views','transcript-','.pdf','createPdfFromHTML','download','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../components/export/pdf','api','../../config/environment','../../mysqldb','localhost','socket.io-emitter','redis','sendStatus'];(function(_0x32e6b0,_0xad08f2){var _0x523387=function(_0x30369d){while(--_0x30369d){_0x32e6b0['push'](_0x32e6b0['shift']());}};_0x523387(++_0xad08f2);}(_0x4351,0x1b5));var _0x1435=function(_0x33032e,_0x31411a){_0x33032e=_0x33032e-0x0;var _0x13316b=_0x4351[_0x33032e];return _0x13316b;};'use strict';var emlformat=require(_0x1435('0x0'));var rimraf=require(_0x1435('0x1'));var zipdir=require(_0x1435('0x2'));var jsonpatch=require(_0x1435('0x3'));var rp=require(_0x1435('0x4'));var moment=require(_0x1435('0x5'));var BPromise=require(_0x1435('0x6'));var Mustache=require(_0x1435('0x7'));var util=require(_0x1435('0x8'));var path=require(_0x1435('0x9'));var sox=require(_0x1435('0xa'));var csv=require(_0x1435('0xb'));var ejs=require(_0x1435('0xc'));var fs=require('fs');var fs_extra=require(_0x1435('0xd'));var _=require(_0x1435('0xe'));var squel=require('squel');var crypto=require(_0x1435('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x1435('0xb'));var querystring=require(_0x1435('0x10'));var Papa=require(_0x1435('0x11'));var Redis=require(_0x1435('0x12'));var authService=require(_0x1435('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x1435('0x14'));var pdf=require(_0x1435('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x1435('0x16'));var utils=require('../../config/utils');var config=require(_0x1435('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x1435('0x18'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x1435('0x19'),'port':0x18eb});var socket=require(_0x1435('0x1a'))(new Redis(config[_0x1435('0x1b')]));require('./whatsappInteraction.socket')['register'](socket);function respondWithStatusCode(_0x103ba3,_0x49fb9c){_0x49fb9c=_0x49fb9c||0xcc;return function(_0x39405c){if(_0x39405c){return _0x103ba3[_0x1435('0x1c')](_0x49fb9c);}return _0x103ba3[_0x1435('0x1d')](_0x49fb9c)[_0x1435('0x1e')]();};}function respondWithResult(_0x5d4b48,_0x1cc531){_0x1cc531=_0x1cc531||0xc8;return function(_0x5ecd){if(_0x5ecd){return _0x5d4b48[_0x1435('0x1d')](_0x1cc531)[_0x1435('0x1f')](_0x5ecd);}};}function respondWithFilteredResult(_0x189f4a,_0x430367){return function(_0x19c9fe){if(_0x19c9fe){var _0x68f503=typeof _0x430367[_0x1435('0x20')]===_0x1435('0x21')&&typeof _0x430367['limit']===_0x1435('0x21');var _0x34f555=_0x19c9fe['count'];var _0x4694cb=_0x68f503?0x0:_0x430367['offset'];var _0x15d7c0=_0x68f503?_0x19c9fe[_0x1435('0x22')]:_0x430367[_0x1435('0x20')]+_0x430367[_0x1435('0x23')];var _0x2551d5;if(_0x15d7c0>=_0x34f555){_0x15d7c0=_0x34f555;_0x2551d5=0xc8;}else{_0x2551d5=0xce;}_0x189f4a[_0x1435('0x1d')](_0x2551d5);return _0x189f4a['set'](_0x1435('0x24'),_0x4694cb+'-'+_0x15d7c0+'/'+_0x34f555)[_0x1435('0x1f')](_0x19c9fe);}return null;};}function patchUpdates(_0x7c856a){return function(_0x40d2ef){try{jsonpatch[_0x1435('0x25')](_0x40d2ef,_0x7c856a,!![]);}catch(_0x1b6259){return BPromise[_0x1435('0x26')](_0x1b6259);}return _0x40d2ef[_0x1435('0x27')]();};}function saveUpdates(_0x34655a,_0x119238){return function(_0x236b6f){if(_0x236b6f){return _0x236b6f['update'](_0x34655a)['then'](function(_0x22241f){return _0x22241f;});}return null;};}function removeEntity(_0x2b4828,_0x3d452f){return function(_0x4f86f0){if(_0x4f86f0){return _0x4f86f0[_0x1435('0x28')]()[_0x1435('0x29')](function(){_0x2b4828[_0x1435('0x1d')](0xcc)[_0x1435('0x1e')]();});}};}function handleEntityNotFound(_0x24f328,_0x5966ef){return function(_0x208ea2){if(!_0x208ea2){_0x24f328[_0x1435('0x1c')](0x194);}return _0x208ea2;};}function handleError(_0x35042b,_0x453d68){_0x453d68=_0x453d68||0x1f4;return function(_0x1c3b7e){logger[_0x1435('0x2a')](_0x1c3b7e[_0x1435('0x2b')]);if(_0x1c3b7e['name']){delete _0x1c3b7e[_0x1435('0x2c')];}_0x35042b[_0x1435('0x1d')](_0x453d68)[_0x1435('0x2d')](_0x1c3b7e);};}function getMustacheRender(_0x344625,_0x297edf){return Mustache['render'](_0x344625,_[_0x1435('0x2e')](_0x297edf[_0x1435('0x2f')],{'contact':_0x297edf[_0x1435('0x30')],'message':_0x297edf[_0x1435('0x31')],'agent':_0x297edf['agent'],'interaction':_0x297edf[_0x1435('0x32')],'account':_0x297edf[_0x1435('0x33')]}))||'';}function getInteractionUsers(_0x49209a,_0x4503a1){return new BPromise(function(_0x5071cc,_0x4903f2){try{if(_0x4503a1[_0x49209a['id']]){_0x49209a[_0x1435('0x34')]=_['map'](_0x4503a1[_0x49209a['id']],function(_0x1709f8){return{'id':_0x1709f8['id'],'fullname':_0x1709f8[_0x1435('0x35')]};});}}catch(_0x5a86ac){_0x4903f2(_0x5a86ac);}_0x5071cc(_0x49209a);});}function getInteractionTags(_0x4e10db,_0x5c5075){return new BPromise(function(_0x10d6c3,_0x48777e){try{if(_0x4e10db[_0x1435('0x36')]){_0x4e10db['Tags']=[];_0x4e10db[_0x1435('0x36')]['split'](',')[_0x1435('0x37')](function(_0x558ce7){_0x4e10db[_0x1435('0x38')][_0x1435('0x39')](_0x5c5075[_0x558ce7]);});}delete _0x4e10db[_0x1435('0x36')];}catch(_0x180ca6){_0x48777e(_0x180ca6);}_0x10d6c3(_0x4e10db);});}function updateWhatsappInteraction(_0x4a51a1,_0x1fe8dd,_0x138597){return new BPromise(function(_0x42cb7e,_0x1c0fa5){return getInteractionUsers(_0x4a51a1,_0x138597)[_0x1435('0x29')](function(_0x592e22){return getInteractionTags(_0x592e22,_0x1fe8dd);})[_0x1435('0x29')](function(_0x578845){_0x42cb7e(_0x578845);})[_0x1435('0x3a')](function(_0x3c4bff){_0x1c0fa5(_0x3c4bff);});});}exports['index']=function(_0x11cf64,_0x2061b9){var _0x4169ab={},_0xed44d5={},_0x228238={'count':0x0,'rows':[]};var _0x1cde88=_[_0x1435('0x3b')](db[_0x1435('0x3c')][_0x1435('0x3d')],function(_0xeb29d0){return{'name':_0xeb29d0[_0x1435('0x3e')],'type':_0xeb29d0[_0x1435('0x3f')]['key']};});_0xed44d5[_0x1435('0x40')]=_['map'](_0x1cde88,_0x1435('0x2c'));_0xed44d5['query']=_[_0x1435('0x41')](_0x11cf64['query']);_0xed44d5[_0x1435('0x42')]=_['intersection'](_0xed44d5[_0x1435('0x40')],_0xed44d5[_0x1435('0x43')]);_0x4169ab[_0x1435('0x44')]=_['intersection'](_0xed44d5[_0x1435('0x40')],qs[_0x1435('0x45')](_0x11cf64[_0x1435('0x43')]['fields']));_0x4169ab[_0x1435('0x44')]=_0x4169ab[_0x1435('0x44')]['length']?_0x4169ab['attributes']:_0xed44d5[_0x1435('0x40')];if(!_0x11cf64[_0x1435('0x43')][_0x1435('0x46')]('nolimit')){_0x4169ab['limit']=qs[_0x1435('0x23')](_0x11cf64['query'][_0x1435('0x23')]);_0x4169ab['offset']=qs[_0x1435('0x20')](_0x11cf64['query'][_0x1435('0x20')]);}_0x4169ab['order']=qs[_0x1435('0x47')](_0x11cf64['query'][_0x1435('0x47')]);_0x4169ab[_0x1435('0x48')]=qs['filters'](_[_0x1435('0x49')](_0x11cf64['query'],_0xed44d5[_0x1435('0x42')]),_0x1cde88);var _0x218fae=[];var _0x309f8f=squel['select']()[_0x1435('0x4a')]('id')[_0x1435('0x4a')]('name')[_0x1435('0x4a')](_0x1435('0x4b'))['from'](_0x1435('0x4c'));var _0x2cbaa3=squel['select']()[_0x1435('0x4a')](_0x1435('0x4d'))['field'](_0x1435('0x4e'))[_0x1435('0x4a')](_0x1435('0x4f'))['from']('user_has_whatsapp_interactions','ui')[_0x1435('0x50')]('users','u',_0x1435('0x51'));var _0x57de7a=squel[_0x1435('0x52')]()[_0x1435('0x53')](_0x1435('0x54'),'i')[_0x1435('0x50')](_0x1435('0x55'),'c',_0x1435('0x56'))[_0x1435('0x50')]('users','o',_0x1435('0x57'))[_0x1435('0x50')](_0x1435('0x58'),'a','a.id\x20=\x20i.WhatsappAccountId')[_0x1435('0x50')](_0x1435('0x59'),'me',_0x1435('0x5a'))[_0x1435('0x50')](_0x1435('0x5b'),'it',_0x1435('0x5c'))[_0x1435('0x50')](_0x1435('0x4c'),'t','t.id\x20=\x20it.TagId');var _0x1142c9=squel[_0x1435('0x5d')]();var _0x14ffe0=[];var _0x4244e1=squel['expr']();var _0x597ef2;if(_0x11cf64[_0x1435('0x43')][_0x1435('0x5e')]){_0x597ef2=as[_0x1435('0x5f')](_0x11cf64[_0x1435('0x43')][_0x1435('0x5e')]);var _0x19d532=_0x597ef2[_0x1435('0x60')];for(var _0xc399e5=0x0;_0xc399e5<_0x597ef2[_0x1435('0x61')]['length'];_0xc399e5++){var _0x50aa82=_0x597ef2[_0x1435('0x61')][_0xc399e5];var _0x54869a='i';var _0x39cc49=_[_0x1435('0x62')](_0x1cde88,[_0x1435('0x2c'),_0x50aa82[_0x1435('0x4a')]]);if(!_0x39cc49){switch(_0x50aa82[_0x1435('0x4a')]){case _0x1435('0x63'):if(_0x50aa82[_0x1435('0x64')]==0x1){_0x57de7a['having']('`'+_0x50aa82[_0x1435('0x4a')]+'`\x20=\x200');}else{_0x57de7a[_0x1435('0x65')]('`'+_0x50aa82[_0x1435('0x4a')]+'`\x20>\x200');}break;case _0x1435('0x66'):if(_0x50aa82[_0x1435('0x67')]===_0x1435('0x68')){if(_0x50aa82[_0x1435('0x64')][_0x1435('0x69')]('\x20')['length']>0x1){_0x1142c9[_0x19d532](_0x1435('0x6a'),qs[_0x1435('0x6b')](_0x50aa82[_0x1435('0x64')]),null);}else{var _0x2a93f0='%'+_0x50aa82[_0x1435('0x64')]+'%';_0x1142c9[_0x19d532](_0x1435('0x6c'),_0x2a93f0,_0x2a93f0,_0x2a93f0);}}else{_0x39cc49=_['find'](_0x1cde88,['name',_0x1435('0x6d')]);_0x50aa82[_0x1435('0x4a')]=_0x1435('0x6d');_0x5d681e=as[_0x1435('0x6e')](_0x54869a,_0x39cc49[_0x1435('0x3f')],_0x50aa82);_0x1142c9[_0x19d532](_0x5d681e[_0x1435('0x6f')],_0x5d681e[_0x1435('0x64')][_0x1435('0x70')],_0x5d681e['value'][_0x1435('0x1e')]);}break;case'Tag':var _0x17e39a=_0x50aa82[_0x1435('0x64')]['split'](',')[_0x1435('0x3b')](function(_0x250a5e){return Number(_0x250a5e);});_0x17e39a['forEach'](function(_0x1e34db){_0x4244e1['or'](_0x1435('0x71'),'%,'+_0x1e34db+',%');});_0x14ffe0=_['union'](_0x14ffe0,_0x17e39a);break;case _0x1435('0x72'):if(_0x50aa82['operator']==='$substring'){_0x1142c9[_0x19d532](_0x1435('0x73'),'%'+_0x50aa82[_0x1435('0x64')]+'%',null);}else{_0x39cc49=_[_0x1435('0x62')](_0x1cde88,[_0x1435('0x2c'),'UserId']);_0x50aa82[_0x1435('0x4a')]=_0x1435('0x74');_0x5d681e=as['buildExpression'](_0x54869a,_0x39cc49[_0x1435('0x3f')],_0x50aa82);_0x1142c9[_0x19d532](_0x5d681e[_0x1435('0x6f')],_0x5d681e['value'][_0x1435('0x70')],_0x5d681e[_0x1435('0x64')][_0x1435('0x1e')]);}break;case _0x1435('0x2f'):_0x5d681e=as['buildExpression']('me',null,_0x50aa82);_0x1142c9[_0x19d532](_0x5d681e['text'],_0x5d681e[_0x1435('0x64')][_0x1435('0x70')],_0x5d681e[_0x1435('0x64')][_0x1435('0x1e')]);break;}}else{var _0x5d681e=as[_0x1435('0x6e')](_0x54869a,_0x39cc49[_0x1435('0x3f')],_0x50aa82);_0x1142c9[_0x19d532](_0x5d681e[_0x1435('0x6f')],_0x5d681e[_0x1435('0x64')]['start'],_0x5d681e[_0x1435('0x64')][_0x1435('0x1e')]);}}}else{var _0x171ba6=_(_0x11cf64['query'])[_0x1435('0x41')]()[_0x1435('0x3b')](function(_0x2c0c3b){return _[_0x1435('0x75')](_0x1cde88,[_0x1435('0x2c'),_0x2c0c3b])?_0x2c0c3b:undefined;})[_0x1435('0x76')]()[_0x1435('0x64')]();if(!_[_0x1435('0x77')](_0x171ba6)){_0x171ba6[_0x1435('0x37')](function(_0x54e6de){if(_0x54e6de===_0x1435('0x78')){_0x57de7a[_0x1435('0x48')](_0x1435('0x79'),[][_0x1435('0x7a')](_0x11cf64['query'][_0x54e6de]));}else if(_0x54e6de==='createdAt'){var _0xbc7f9b=JSON['parse'](_0x11cf64['query'][_0x54e6de])['$gte'];var _0x3c1ce2=JSON['parse'](_0x11cf64['query'][_0x54e6de])[_0x1435('0x7b')];_0x57de7a[_0x1435('0x48')](_0x1435('0x7c'),_0xbc7f9b,_0x3c1ce2);}else{if(_0x11cf64[_0x1435('0x43')][_0x54e6de]===_0x1435('0x7d')){_0x57de7a['where']('i.'+_0x54e6de+_0x1435('0x7e'));}else{_0x57de7a[_0x1435('0x48')]('i.'+_0x54e6de+_0x1435('0x7f'),_0x11cf64[_0x1435('0x43')][_0x54e6de]);}}});}if(_0x11cf64['query'][_0x1435('0x80')]){if(_0x11cf64['query'][_0x1435('0x80')]==0x1){_0x57de7a[_0x1435('0x65')]('`unreadMessages`\x20=\x200');}else{_0x57de7a[_0x1435('0x65')](_0x1435('0x81'));}}if(_0x11cf64[_0x1435('0x43')][_0x1435('0x82')]){_0x14ffe0=_[_0x1435('0x83')](_0x11cf64[_0x1435('0x43')][_0x1435('0x82')])?_0x11cf64[_0x1435('0x43')][_0x1435('0x82')]:new Array(_0x11cf64[_0x1435('0x43')][_0x1435('0x82')]);_0x14ffe0[_0x1435('0x37')](function(_0x9a21a){_0x4244e1['or'](_0x1435('0x71'),'%,'+_0x9a21a+',%');});}if(_0x11cf64[_0x1435('0x43')][_0x1435('0x84')]){var _0x570d90=_0x11cf64[_0x1435('0x43')][_0x1435('0x84')]['replace']('\x5c','\x5c\x5c')[_0x1435('0x85')](/'/g,'\x27\x27');if(qs['isNumeric'](_0x570d90)){_0x1142c9['or']('i.id\x20LIKE\x20?',_0x570d90+'%')['or'](_0x1435('0x86'),_0x570d90+'%');}else{_0x1142c9['or'](_0x1435('0x87'),qs['getFullTextValue'](_0x570d90))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x570d90+'%');}}}_0x57de7a[_0x1435('0x48')](_0x1142c9);_0x57de7a['group'](_0x1435('0x88'));var _0x17650a={'type':db[_0x1435('0x89')]['QueryTypes'][_0x1435('0x8a')],'raw':!![]};var _0xae71e=_0x57de7a[_0x1435('0x8b')]();_0xae71e[_0x1435('0x4a')](_0x1435('0x88'));_0xae71e[_0x1435('0x4a')]('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)',_0x1435('0x63'));if(_0x4169ab[_0x1435('0x8c')]){_0x4169ab[_0x1435('0x8c')]['forEach'](function(_0x4a841f){var _0x5ec626=_0x4a841f[0x0]===_0x1435('0x8d')?_0x4a841f[0x0]:'i.'+_0x4a841f[0x0];_0x57de7a[_0x1435('0x8c')](_0x5ec626,_0x4a841f[0x1]==='DESC'?![]:!![]);});}if(!_[_0x1435('0x77')](_0x14ffe0)){_0x57de7a[_0x1435('0x65')](_0x4244e1);_0xae71e[_0x1435('0x48')](_0x1435('0x8e'),_0x14ffe0);}BPromise[_0x1435('0x8f')]()[_0x1435('0x29')](function(){if(!_0x597ef2){if(_0x11cf64[_0x1435('0x43')][_0x1435('0x78')])return;_0xae71e[_0x1435('0x48')](_0x1435('0x90'));_0x57de7a['where'](_0x1435('0x90'));return;}if(_0x11cf64[_0x1435('0x91')][_0x1435('0x92')]!=='agent')return;return _0x11cf64[_0x1435('0x91')]['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})['then'](function(_0x4c67a5){if(_[_0x1435('0x77')](_0x4c67a5)){_0xae71e['where'](_0x1435('0x93'));_0x57de7a[_0x1435('0x48')]('i.WhatsappAccountId\x20IS\x20NULL');}else{_0xae71e['where']('i.WhatsappAccountId\x20IN\x20?',_[_0x1435('0x3b')](_0x4c67a5,'id'));_0x57de7a[_0x1435('0x48')]('i.WhatsappAccountId\x20IN\x20?',_[_0x1435('0x3b')](_0x4c67a5,'id'));}});})['then'](function(){if(_0x11cf64[_0x1435('0x91')][_0x1435('0x92')]==='agent'&&!_0x597ef2&&!_0x11cf64[_0x1435('0x43')][_0x1435('0x78')])return[];return db[_0x1435('0x94')][_0x1435('0x43')](_0xae71e[_0x1435('0x95')](),_0x17650a);})[_0x1435('0x29')](function(_0x10b996){_0x228238[_0x1435('0x22')]=_0x10b996[_0x1435('0x96')];if(_0x228238[_0x1435('0x22')]===0x0)return[];return db['sequelize'][_0x1435('0x43')](_0x309f8f[_0x1435('0x95')](),_0x17650a)[_0x1435('0x29')](function(_0x248a2b){_0x218fae=_[_0x1435('0x97')](_0x248a2b,'id');_0x17650a=_[_0x1435('0x2e')](_0x17650a,{'model':db[_0x1435('0x3c')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x11cf64[_0x1435('0x43')][_0x1435('0x45')]){_0x4169ab[_0x1435('0x44')]['forEach'](function(_0x5c3119){_0x57de7a['field']('i.'+_0x5c3119);});}else{_0x57de7a[_0x1435('0x4a')](_0x1435('0x98'),_0x1435('0x63'));_0x57de7a[_0x1435('0x4a')]('a.key',_0x1435('0x99'));_0x57de7a['field'](_0x1435('0x9a'),_0x1435('0x9b'));_0x57de7a[_0x1435('0x4a')]('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',_0x1435('0x8d'));_0x57de7a[_0x1435('0x4a')](_0x1435('0x9c'));_0x57de7a['field'](_0x1435('0x9d'),'Contact.firstName');_0x57de7a[_0x1435('0x4a')](_0x1435('0x9e'),'Contact.lastName');_0x57de7a['field'](_0x1435('0x9f'),_0x1435('0xa0'));_0x57de7a[_0x1435('0x4a')](_0x1435('0xa1'),'Contact.phone');_0x57de7a['field']('c.mobile',_0x1435('0xa2'));_0x57de7a[_0x1435('0x4a')](_0x1435('0xa3'),_0x1435('0xa4'));_0x57de7a[_0x1435('0x4a')]('o.fullname',_0x1435('0xa5'));_0x57de7a[_0x1435('0x4a')]('o.internal','Owner.internal');_0x57de7a[_0x1435('0x4a')](_0x1435('0xa6'),_0x1435('0x36'));}if(_0x4169ab['limit'])_0x57de7a[_0x1435('0x23')](_0x4169ab['limit']);if(_0x4169ab['offset'])_0x57de7a[_0x1435('0x20')](_0x4169ab[_0x1435('0x20')]);return db[_0x1435('0x94')][_0x1435('0x43')](_0x57de7a[_0x1435('0x95')](),_0x17650a);})[_0x1435('0x29')](function(_0x15af72){if(_0x15af72[_0x1435('0x96')]>0x0)_0x2cbaa3[_0x1435('0x48')](_0x1435('0xa7'),_['map'](_0x15af72,'id'));return db[_0x1435('0x94')][_0x1435('0x43')](_0x2cbaa3[_0x1435('0x95')](),_0x17650a)[_0x1435('0x29')](function(_0x4f1476){var _0x1dd597=_['groupBy'](_0x4f1476,_0x1435('0xa8'));var _0x3bd016=[];_0x15af72['forEach'](function(_0x31e206){_0x3bd016[_0x1435('0x39')](updateWhatsappInteraction(_0x31e206,_0x218fae,_0x1dd597));});return BPromise[_0x1435('0xa9')](_0x3bd016);});});})['then'](function(_0x3a783b){_0x228238[_0x1435('0xaa')]=_0x3a783b;return _0x228238;})[_0x1435('0x29')](respondWithFilteredResult(_0x2061b9,_0x4169ab))[_0x1435('0x3a')](handleError(_0x2061b9,null));};exports[_0x1435('0xab')]=function(_0x55fe3e,_0x36d84e){var _0x49a963={'raw':![],'where':{'id':_0x55fe3e[_0x1435('0xac')]['id']}},_0x183d47={};_0x183d47['model']=_[_0x1435('0x41')](db['WhatsappInteraction'][_0x1435('0x3d')]);_0x183d47[_0x1435('0x43')]=_['keys'](_0x55fe3e[_0x1435('0x43')]);_0x183d47[_0x1435('0x42')]=_['intersection'](_0x183d47[_0x1435('0x40')],_0x183d47[_0x1435('0x43')]);_0x49a963[_0x1435('0x44')]=_[_0x1435('0xad')](_0x183d47[_0x1435('0x40')],qs[_0x1435('0x45')](_0x55fe3e[_0x1435('0x43')][_0x1435('0x45')]));_0x49a963['attributes']=_0x49a963[_0x1435('0x44')][_0x1435('0x96')]?_0x49a963[_0x1435('0x44')]:_0x183d47['model'];if(_0x55fe3e[_0x1435('0x43')]['includeAll']){_0x49a963['include']=[{'all':!![]}];}_0x49a963=_['merge']({},_0x49a963,_0x55fe3e[_0x1435('0xae')]);return db[_0x1435('0x3c')]['find'](_0x49a963)[_0x1435('0x29')](handleEntityNotFound(_0x36d84e,null))[_0x1435('0x29')](respondWithResult(_0x36d84e,null))[_0x1435('0x3a')](handleError(_0x36d84e,null));};exports[_0x1435('0xaf')]=function(_0x45106b,_0xaaa864){return db[_0x1435('0x3c')][_0x1435('0xaf')](_0x45106b[_0x1435('0x2f')],{})['then'](respondWithResult(_0xaaa864,0xc9))[_0x1435('0x3a')](handleError(_0xaaa864,null));};exports[_0x1435('0xb0')]=function(_0x189d49,_0x133d52){if(_0x189d49[_0x1435('0x2f')]['id']){delete _0x189d49[_0x1435('0x2f')]['id'];}return db[_0x1435('0x3c')][_0x1435('0x62')]({'where':{'id':_0x189d49[_0x1435('0xac')]['id']}})['then'](handleEntityNotFound(_0x133d52,null))[_0x1435('0x29')](saveUpdates(_0x189d49[_0x1435('0x2f')],null))[_0x1435('0x29')](respondWithResult(_0x133d52,null))[_0x1435('0x3a')](handleError(_0x133d52,null));};exports[_0x1435('0x28')]=function(_0x323701,_0x1e83db){return db[_0x1435('0x3c')]['find']({'where':{'id':_0x323701[_0x1435('0xac')]['id']}})[_0x1435('0x29')](handleEntityNotFound(_0x1e83db,null))[_0x1435('0x29')](removeEntity(_0x1e83db,null))['catch'](handleError(_0x1e83db,null));};exports[_0x1435('0xb1')]=function(_0xf37d65,_0x81a232){return db['WhatsappInteraction'][_0x1435('0xb1')]()['then'](respondWithResult(_0x81a232,null))[_0x1435('0x3a')](handleError(_0x81a232,null));};exports[_0x1435('0xb2')]=function(_0x2258fc,_0x4e90bf,_0xed9c9f){return db[_0x1435('0xb3')][_0x1435('0x62')]({'where':{'id':_0x2258fc[_0x1435('0xac')]['id']}})[_0x1435('0x29')](handleEntityNotFound(_0x4e90bf,null))[_0x1435('0x29')](function(_0x413949){if(_0x413949){return _0x413949[_0x1435('0xb2')](_0x2258fc[_0x1435('0x2f')]['ids'],_['omit'](_0x2258fc[_0x1435('0x2f')],[_0x1435('0xb4'),'id'])||{});}})[_0x1435('0x29')](respondWithResult(_0x4e90bf,null))[_0x1435('0x3a')](handleError(_0x4e90bf,null));};exports[_0x1435('0xb5')]=function(_0x2bb40e,_0x8cf97e,_0x3e30fa){var _0x3dc18b={'raw':![],'where':{}};var _0x266d2e={};var _0x22b271={'count':0x0,'rows':[]};return db['WhatsappInteraction'][_0x1435('0xb6')]({'where':{'id':_0x2bb40e[_0x1435('0xac')]['id']}})[_0x1435('0x29')](handleEntityNotFound(_0x8cf97e,null))[_0x1435('0x29')](function(_0x33807c){if(_0x33807c){_0x266d2e[_0x1435('0x40')]=_[_0x1435('0x41')](db[_0x1435('0xb3')]['rawAttributes']);_0x266d2e[_0x1435('0x43')]=_[_0x1435('0x41')](_0x2bb40e[_0x1435('0x43')]);_0x266d2e[_0x1435('0x42')]=_[_0x1435('0xad')](_0x266d2e[_0x1435('0x40')],_0x266d2e[_0x1435('0x43')]);_0x3dc18b[_0x1435('0x44')]=_[_0x1435('0xad')](_0x266d2e[_0x1435('0x40')],qs['fields'](_0x2bb40e[_0x1435('0x43')][_0x1435('0x45')]));_0x3dc18b['attributes']=_0x3dc18b[_0x1435('0x44')][_0x1435('0x96')]?_0x3dc18b[_0x1435('0x44')]:_0x266d2e[_0x1435('0x40')];if(!_0x2bb40e[_0x1435('0x43')][_0x1435('0x46')](_0x1435('0xb7'))){_0x3dc18b[_0x1435('0x23')]=qs[_0x1435('0x23')](_0x2bb40e[_0x1435('0x43')][_0x1435('0x23')]);_0x3dc18b[_0x1435('0x20')]=qs[_0x1435('0x20')](_0x2bb40e[_0x1435('0x43')][_0x1435('0x20')]);}_0x3dc18b[_0x1435('0x8c')]=qs['sort'](_0x2bb40e['query']['sort']);_0x3dc18b[_0x1435('0x48')]=qs['filters'](_['pick'](_0x2bb40e[_0x1435('0x43')],_0x266d2e[_0x1435('0x42')]));_0x3dc18b['where'][_0x1435('0xa8')]=_0x33807c['id'];if(_0x2bb40e[_0x1435('0x43')][_0x1435('0x84')]){_0x3dc18b[_0x1435('0x48')]=_['merge'](_0x3dc18b[_0x1435('0x48')],{'$or':_[_0x1435('0x3b')](_0x3dc18b[_0x1435('0x44')],function(_0x36f57c){var _0x26cefd={};_0x26cefd[_0x36f57c]={'$like':'%'+_0x2bb40e[_0x1435('0x43')][_0x1435('0x84')]+'%'};return _0x26cefd;})});}if(_0x2bb40e[_0x1435('0x43')]['$gte']){var _0x4521c5=_0x2bb40e['query'][_0x1435('0xb8')]['split'](',');var _0x46738e={};_0x46738e[_0x4521c5[0x0]]={'$gte':moment(_0x4521c5[0x1])[_0x1435('0xb9')]('YYYY-MM-DD\x20HH:mm:ss')};_0x3dc18b[_0x1435('0x48')]=_[_0x1435('0x2e')](_0x3dc18b[_0x1435('0x48')],_0x46738e);}_0x3dc18b=_[_0x1435('0x2e')]({},_0x3dc18b,_0x2bb40e[_0x1435('0xae')]);return db['WhatsappMessage'][_0x1435('0x22')]({'where':_0x3dc18b[_0x1435('0x48')]})[_0x1435('0x29')](function(_0xcb5e49){_0x22b271[_0x1435('0x22')]=_0xcb5e49;if(_0x2bb40e[_0x1435('0x43')][_0x1435('0xba')]){_0x3dc18b[_0x1435('0xbb')]=[{'all':!![]}];}return db[_0x1435('0xb3')][_0x1435('0xbc')](_0x3dc18b);})[_0x1435('0x29')](function(_0x34b8a9){_0x22b271[_0x1435('0xaa')]=_0x34b8a9;return _0x22b271;});}})['then'](respondWithFilteredResult(_0x8cf97e,_0x3dc18b))['catch'](handleError(_0x8cf97e,null));};exports[_0x1435('0xbd')]=function(_0x18ea13,_0x345495,_0x3109a4){return db[_0x1435('0x3c')][_0x1435('0x62')]({'where':{'id':_0x18ea13[_0x1435('0xac')]['id']}})['then'](handleEntityNotFound(_0x345495,null))[_0x1435('0x29')](function(_0x586c39){if(_0x586c39){return _0x586c39[_0x1435('0xbe')](_0x18ea13[_0x1435('0x2f')][_0x1435('0xb4')],_['omit'](_0x18ea13[_0x1435('0x2f')],[_0x1435('0xb4'),'id'])||{})[_0x1435('0xbf')](function(){return db[_0x1435('0xc0')]['findAll']({'attributes':['id',_0x1435('0x2c'),'color'],'where':{'id':_0x18ea13['body'][_0x1435('0xb4')]}});})['then'](function(_0x214357){socket[_0x1435('0xc1')](_0x1435('0xc2'),{'id':Number(_0x18ea13[_0x1435('0xac')]['id']),'tags':_0x214357||[]});return{'id':Number(_0x18ea13[_0x1435('0xac')]['id']),'tags':_0x214357||[]};});}})['then'](respondWithResult(_0x345495,null))[_0x1435('0x3a')](handleError(_0x345495,null));};exports[_0x1435('0xc3')]=function(_0x310d98,_0x3f7aa4,_0x4a28a9){return db[_0x1435('0x3c')][_0x1435('0x62')]({'where':{'id':_0x310d98[_0x1435('0xac')]['id']}})[_0x1435('0x29')](handleEntityNotFound(_0x3f7aa4,null))[_0x1435('0x29')](function(_0x545d34){if(_0x545d34){return _0x545d34[_0x1435('0xc3')](_0x310d98[_0x1435('0x43')]['ids']);}})['then'](respondWithStatusCode(_0x3f7aa4,null))[_0x1435('0x3a')](handleError(_0x3f7aa4,null));};exports['download']=function(_0x7ed37b,_0x53c4dc){var _0x5bfb55=moment()['unix']()[_0x1435('0x95')]();var _0x36f655=path[_0x1435('0xc4')](config[_0x1435('0xc5')],_0x1435('0xc6'),_0x1435('0xc7'),_0x1435('0xc8'));var _0xbfdb20=path[_0x1435('0xc4')](config['root'],_0x1435('0xc6'),'files',_0x1435('0xc9'));var _0x460c37=path[_0x1435('0xc4')](_0x36f655,_0x5bfb55);var _0x405948=util['format'](_0x1435('0xca'),_0x7ed37b[_0x1435('0xac')]['id'],_0x5bfb55);var _0x352e30=path[_0x1435('0xc4')](_0x36f655,_0x405948);var _0x35806b=[];_0x35806b[_0x1435('0x39')]({'model':db[_0x1435('0x72')],'as':_0x1435('0x72'),'attributes':['id','fullname'],'raw':!![]});_0x35806b['push']({'model':db[_0x1435('0xcb')],'as':_0x1435('0x66'),'attributes':['id',_0x1435('0xcc'),_0x1435('0xcd')],'raw':!![]});if(_0x7ed37b['query']['attachments']){_0x35806b['push']({'model':db[_0x1435('0xce')],'as':_0x1435('0xce'),'raw':!![]});}var _0x41893e=[{'model':db[_0x1435('0xb3')],'as':_0x1435('0xcf'),'attributes':['id',_0x1435('0x2f'),_0x1435('0xd0'),_0x1435('0xd1'),_0x1435('0xd2'),_0x1435('0x80')],'include':_0x35806b}];_0x41893e[_0x1435('0x39')]({'model':db['WhatsappAccount'],'as':'Account','attributes':['id',_0x1435('0x2c')]});_0x41893e['push']({'model':db[_0x1435('0x72')],'as':_0x1435('0xd3'),'attributes':['id',_0x1435('0x35')]});return db[_0x1435('0x3c')]['find']({'where':{'id':_0x7ed37b[_0x1435('0xac')]['id']},'include':_0x41893e})[_0x1435('0x29')](handleEntityNotFound(_0x53c4dc,null))[_0x1435('0x29')](function(_0xff25a3){if(_0xff25a3){var _0x38bb79=_0xff25a3[_0x1435('0xd4')]({'plain':!![]});fs[_0x1435('0xd5')](_0x460c37);var _0x1196f9={'channel':_0x1435('0xd6'),'account':_0x38bb79[_0x1435('0xd7')][_0x1435('0x2c')],'agent':_0x38bb79[_0x1435('0xd3')]?_0x38bb79[_0x1435('0xd3')][_0x1435('0x35')]:_0x1435('0xd8'),'createdAt':moment(_0x38bb79['createdAt'])[_0x1435('0xb9')](_0x1435('0xd9'))['toString'](),'closedAt':_0x38bb79[_0x1435('0xda')]?moment(_0x38bb79[_0x1435('0xdb')])[_0x1435('0xb9')](_0x1435('0xd9'))['toString']():'','disposition':_0x38bb79['disposition'],'messages':_(_0x38bb79[_0x1435('0xcf')])[_0x1435('0x84')]({'secret':![]})['map'](function(_0x573bc2){if(_0x573bc2[_0x1435('0xce')]){var _0xd27dd7=path[_0x1435('0xc4')](_0xbfdb20,_0x573bc2[_0x1435('0xce')]['basename']);if(fs['existsSync'](_0xd27dd7)){fs[_0x1435('0xdc')](_0xd27dd7)[_0x1435('0xdd')](fs['createWriteStream'](path[_0x1435('0xc4')](_0x460c37,_0x573bc2[_0x1435('0xce')][_0x1435('0xde')])));}}return{'date':moment(_0x573bc2[_0x1435('0xd0')])['format'](_0x1435('0xd9'))['toString'](),'sender':_0x573bc2[_0x1435('0xd1')]==='out'?_0x573bc2[_0x1435('0x72')]?_0x573bc2[_0x1435('0x72')][_0x1435('0x35')]:_0x1435('0xdf'):_0x573bc2[_0x1435('0x66')][_0x1435('0xcc')]+(_0x573bc2[_0x1435('0x66')][_0x1435('0xcd')]?'\x20'+_0x573bc2[_0x1435('0x66')][_0x1435('0xcd')]:''),'body':_0x573bc2[_0x1435('0xce')]?_0x573bc2['Attachment'][_0x1435('0xde')]:_0x573bc2[_0x1435('0x2f')],'direction':_0x573bc2[_0x1435('0xd1')]==='out'?'A':'C','secret':_0x573bc2[_0x1435('0xd2')],'read':_0x573bc2[_0x1435('0x80')],'attachment':_0x573bc2[_0x1435('0xce')]};})['value']()};return ejs[_0x1435('0xe0')](path[_0x1435('0xc4')](config[_0x1435('0xc5')],_0x1435('0xc6'),_0x1435('0xe1'),'downloadInteraction.html'),{'interaction':_0x1196f9})[_0x1435('0x29')](function(_0x3b90cc){var _0x33a819=path[_0x1435('0xc4')](_0x460c37,_0x1435('0xe2')+_0x38bb79['id']+'-'+_0x5bfb55+_0x1435('0xe3'));var _0x30c3cb={'path':_0x33a819,'channel':_0x1435('0xd6'),'interactionId':_0x38bb79['id']};return pdf[_0x1435('0xe4')](_0x3b90cc,_0x30c3cb);})[_0x1435('0x29')](function(){return new BPromise(function(_0x480b8f,_0x32b4ab){zipdir(_0x460c37,{'saveTo':_0x352e30},function(_0x3e2bfe,_0x5b37ae){if(_0x3e2bfe)return _0x32b4ab(_0x3e2bfe);return _0x480b8f(_0x5b37ae);});})[_0x1435('0x29')](function(){return new BPromise(function(_0x3f2cc8,_0x4f971){rimraf(_0x460c37,function(_0x3e49de){if(_0x3e49de)_0x4f971(_0x3e49de);return _0x3f2cc8();});});})[_0x1435('0x29')](function(){return _0x53c4dc[_0x1435('0xe5')](_0x352e30,_0x405948,function(_0x506d5d){if(_0x506d5d){console[_0x1435('0xe6')](_0x1435('0xe7'),_0x506d5d);}else{fs[_0x1435('0xe8')](_0x352e30);}});});});}else{return _0x53c4dc[_0x1435('0x1c')](0xc8);}})[_0x1435('0x3a')](handleError(_0x53c4dc,null));};