Built motion from commit (unavailable).|2.5.30
[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 _0xcc62=['download','unix','join','root','server','files','tmp','transcript-%d-%s.zip','fullname','CmContact','firstName','attachments','Attachment','Messages','direction','secret','WhatsappAccount','Account','Owner','mkdirSync','Whatsapp','basename','createReadStream','pipe','createWriteStream','out','System','renderFile','views','downloadInteraction.html','transcript-','.pdf','createPdfFromHTML','log','err','unlinkSync','eml-format','zip-dir','request-promise','moment','mustache','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','./whatsappInteraction.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','Users','map','TagIds','Tags','split','push','catch','index','WhatsappInteraction','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','select','field','tools_tags','u.fullname','ui.WhatsappInteractionId','from','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','cm_contacts','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','whatsapp_messages','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','search','conditions','find','unreadMessages','value','having','Contact','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','ContactId','type','text','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','User','operator','$substring','CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','UserId','buildExpression','start','body','keys','compact','isEmpty','concat','createdAt','$gte','$lte','null','\x20=\x20?','read','`unreadMessages`\x20=\x200','`unreadMessages`\x20>\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','contactName','DESC','resolve','WhatsappAccountId','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.WhatsappAccountId\x20IS\x20NULL','i.WhatsappAccountId\x20IN\x20?','sequelize','toString','keyBy','merge','Account.key','a.mandatoryDisposition','Account.mandatoryDisposition','CASE\x20WHEN\x20(c.firstName\x20IS\x20NOT\x20NULL\x20AND\x20c.firstName\x20<>\x20\x27\x27)\x20OR\x20(c.lastName\x20IS\x20NOT\x20NULL\x20AND\x20c.lastName\x20<>\x20\x27\x27)\x20THEN\x20CONCAT(IFNULL(c.firstName,\x20\x27\x27),\x20\x27\x20\x27,\x20IFNULL(c.lastName,\x20\x27\x27))\x20ELSE\x20\x27Unknown\x27\x20END','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.email','Contact.email','c.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','GROUP_CONCAT(DISTINCT\x20t.id)','groupBy','all','rows','show','params','include','create','describe','addMessage','ids','getMessages','WhatsappMessage','nolimit','WhatsappInteractionId','format','YYYY-MM-DD\x20HH:mm:ss','options','includeAll','addTags','setTags','omit','spread','color','emit','removeTags'];(function(_0x264daf,_0x3f3151){var _0xdb6c9=function(_0xda8af1){while(--_0xda8af1){_0x264daf['push'](_0x264daf['shift']());}};_0xdb6c9(++_0x3f3151);}(_0xcc62,0x10b));var _0x2cc6=function(_0x2f35f6,_0x3dfa73){_0x2f35f6=_0x2f35f6-0x0;var _0x2f1c63=_0xcc62[_0x2f35f6];return _0x2f1c63;};'use strict';var emlformat=require(_0x2cc6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x2cc6('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2cc6('0x2'));var moment=require(_0x2cc6('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x2cc6('0x4'));var util=require('util');var path=require(_0x2cc6('0x5'));var sox=require('sox');var csv=require(_0x2cc6('0x6'));var ejs=require(_0x2cc6('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2cc6('0x8'));var squel=require('squel');var crypto=require(_0x2cc6('0x9'));var jsforce=require(_0x2cc6('0xa'));var deskjs=require(_0x2cc6('0xb'));var toCsv=require('to-csv');var querystring=require(_0x2cc6('0xc'));var Papa=require('papaparse');var Redis=require(_0x2cc6('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2cc6('0xe'));var pdf=require('../../components/export/pdf');var hardwareService=require('../../config/license/hardware');var logger=require(_0x2cc6('0xf'))(_0x2cc6('0x10'));var utils=require(_0x2cc6('0x11'));var config=require(_0x2cc6('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x2cc6('0x13'))['db'];config[_0x2cc6('0x14')]=_['defaults'](config['redis'],{'host':_0x2cc6('0x15'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2cc6('0x14')]));require(_0x2cc6('0x16'))[_0x2cc6('0x17')](socket);function respondWithStatusCode(_0x47a472,_0x33650d){_0x33650d=_0x33650d||0xcc;return function(_0x10285b){if(_0x10285b){return _0x47a472[_0x2cc6('0x18')](_0x33650d);}return _0x47a472[_0x2cc6('0x19')](_0x33650d)[_0x2cc6('0x1a')]();};}function respondWithResult(_0x4ce6d8,_0x1b9016){_0x1b9016=_0x1b9016||0xc8;return function(_0x35f134){if(_0x35f134){return _0x4ce6d8[_0x2cc6('0x19')](_0x1b9016)[_0x2cc6('0x1b')](_0x35f134);}};}function respondWithFilteredResult(_0x42fdc7,_0x2f7161){return function(_0x544681){if(_0x544681){var _0x121956=typeof _0x2f7161[_0x2cc6('0x1c')]===_0x2cc6('0x1d')&&typeof _0x2f7161['limit']===_0x2cc6('0x1d');var _0x909549=_0x544681[_0x2cc6('0x1e')];var _0x485008=_0x121956?0x0:_0x2f7161[_0x2cc6('0x1c')];var _0x34158e=_0x121956?_0x544681[_0x2cc6('0x1e')]:_0x2f7161['offset']+_0x2f7161[_0x2cc6('0x1f')];var _0x4f803a;if(_0x34158e>=_0x909549){_0x34158e=_0x909549;_0x4f803a=0xc8;}else{_0x4f803a=0xce;}_0x42fdc7['status'](_0x4f803a);return _0x42fdc7['set'](_0x2cc6('0x20'),_0x485008+'-'+_0x34158e+'/'+_0x909549)[_0x2cc6('0x1b')](_0x544681);}return null;};}function patchUpdates(_0x31eb00){return function(_0x316649){try{jsonpatch[_0x2cc6('0x21')](_0x316649,_0x31eb00,!![]);}catch(_0x424fb8){return BPromise[_0x2cc6('0x22')](_0x424fb8);}return _0x316649[_0x2cc6('0x23')]();};}function saveUpdates(_0x4f0b4b,_0x316228){return function(_0x3165e4){if(_0x3165e4){return _0x3165e4[_0x2cc6('0x24')](_0x4f0b4b)[_0x2cc6('0x25')](function(_0x460168){return _0x460168;});}return null;};}function removeEntity(_0x80b226,_0x4bebe5){return function(_0x55f01c){if(_0x55f01c){return _0x55f01c[_0x2cc6('0x26')]()[_0x2cc6('0x25')](function(){_0x80b226[_0x2cc6('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x428f37,_0x51c3c3){return function(_0x452b87){if(!_0x452b87){_0x428f37[_0x2cc6('0x18')](0x194);}return _0x452b87;};}function handleError(_0x2ef9ef,_0x4f8fe9){_0x4f8fe9=_0x4f8fe9||0x1f4;return function(_0x42961e){logger[_0x2cc6('0x27')](_0x42961e[_0x2cc6('0x28')]);if(_0x42961e[_0x2cc6('0x29')]){delete _0x42961e[_0x2cc6('0x29')];}_0x2ef9ef[_0x2cc6('0x19')](_0x4f8fe9)[_0x2cc6('0x2a')](_0x42961e);};}function getInteractionUsers(_0x10edd9,_0x127edc){return new BPromise(function(_0x342f0f,_0x35639e){try{if(_0x127edc[_0x10edd9['id']]){_0x10edd9[_0x2cc6('0x2b')]=_[_0x2cc6('0x2c')](_0x127edc[_0x10edd9['id']],function(_0x1c3525){return{'id':_0x1c3525['id'],'fullname':_0x1c3525['fullname']};});}}catch(_0x1edd8f){_0x35639e(_0x1edd8f);}_0x342f0f(_0x10edd9);});}function getInteractionTags(_0x5a4bf5,_0xb6884){return new BPromise(function(_0x20476c,_0x77a862){try{if(_0x5a4bf5[_0x2cc6('0x2d')]){_0x5a4bf5[_0x2cc6('0x2e')]=[];_0x5a4bf5[_0x2cc6('0x2d')][_0x2cc6('0x2f')](',')['forEach'](function(_0x5e086f){_0x5a4bf5['Tags'][_0x2cc6('0x30')](_0xb6884[_0x5e086f]);});}delete _0x5a4bf5[_0x2cc6('0x2d')];}catch(_0x55fc5a){_0x77a862(_0x55fc5a);}_0x20476c(_0x5a4bf5);});}function updateWhatsappInteraction(_0x3019d8,_0xe3321,_0x49c4b2){return new BPromise(function(_0x27d24d,_0x3165dd){return getInteractionUsers(_0x3019d8,_0x49c4b2)[_0x2cc6('0x25')](function(_0x1771e6){return getInteractionTags(_0x1771e6,_0xe3321);})[_0x2cc6('0x25')](function(_0x6b8392){_0x27d24d(_0x6b8392);})[_0x2cc6('0x31')](function(_0x5970aa){_0x3165dd(_0x5970aa);});});}exports[_0x2cc6('0x32')]=function(_0x1a2cca,_0x533dd2){var _0x1bada4={},_0x26d79e={},_0x45c5c7={'count':0x0,'rows':[]};var _0x400d6d=_[_0x2cc6('0x2c')](db[_0x2cc6('0x33')][_0x2cc6('0x34')],function(_0x1bc490){return{'name':_0x1bc490[_0x2cc6('0x35')],'type':_0x1bc490['type'][_0x2cc6('0x36')]};});_0x26d79e[_0x2cc6('0x37')]=_['map'](_0x400d6d,_0x2cc6('0x29'));_0x26d79e[_0x2cc6('0x38')]=_['keys'](_0x1a2cca[_0x2cc6('0x38')]);_0x26d79e[_0x2cc6('0x39')]=_[_0x2cc6('0x3a')](_0x26d79e['model'],_0x26d79e['query']);_0x1bada4[_0x2cc6('0x3b')]=_[_0x2cc6('0x3a')](_0x26d79e[_0x2cc6('0x37')],qs[_0x2cc6('0x3c')](_0x1a2cca[_0x2cc6('0x38')]['fields']));_0x1bada4[_0x2cc6('0x3b')]=_0x1bada4[_0x2cc6('0x3b')][_0x2cc6('0x3d')]?_0x1bada4[_0x2cc6('0x3b')]:_0x26d79e[_0x2cc6('0x37')];if(!_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x3e')]('nolimit')){_0x1bada4[_0x2cc6('0x1f')]=qs[_0x2cc6('0x1f')](_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x1f')]);_0x1bada4['offset']=qs['offset'](_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x1c')]);}_0x1bada4[_0x2cc6('0x3f')]=qs[_0x2cc6('0x40')](_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x40')]);_0x1bada4[_0x2cc6('0x41')]=qs[_0x2cc6('0x39')](_[_0x2cc6('0x42')](_0x1a2cca[_0x2cc6('0x38')],_0x26d79e[_0x2cc6('0x39')]),_0x400d6d);var _0x31a8a5=[];var _0x5e436f=squel[_0x2cc6('0x43')]()[_0x2cc6('0x44')]('id')[_0x2cc6('0x44')](_0x2cc6('0x29'))['field']('color')['from'](_0x2cc6('0x45'));var _0xe54e3e=squel[_0x2cc6('0x43')]()[_0x2cc6('0x44')]('u.id')[_0x2cc6('0x44')](_0x2cc6('0x46'))[_0x2cc6('0x44')](_0x2cc6('0x47'))[_0x2cc6('0x48')](_0x2cc6('0x49'),'ui')[_0x2cc6('0x4a')](_0x2cc6('0x4b'),'u',_0x2cc6('0x4c'));var _0x30553e=squel['select']()[_0x2cc6('0x48')]('whatsapp_interactions','i')[_0x2cc6('0x4a')](_0x2cc6('0x4d'),'c',_0x2cc6('0x4e'))[_0x2cc6('0x4a')](_0x2cc6('0x4b'),'o',_0x2cc6('0x4f'))['left_join'](_0x2cc6('0x50'),'a',_0x2cc6('0x51'))[_0x2cc6('0x4a')](_0x2cc6('0x52'),'me','me.WhatsappInteractionId\x20=\x20i.id')[_0x2cc6('0x4a')]('whatsapp_interaction_has_tags','it',_0x2cc6('0x53'))[_0x2cc6('0x4a')](_0x2cc6('0x45'),'t',_0x2cc6('0x54'));var _0x99b693=squel[_0x2cc6('0x55')]();var _0xafcf86=[];var _0x1b6f9d=squel[_0x2cc6('0x55')]();var _0x48468e;if(_0x1a2cca['query'][_0x2cc6('0x56')]){_0x48468e=as['parseSearch'](_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x56')]);var _0x173404=_0x48468e['sqlOperator'];for(var _0x5caf7a=0x0;_0x5caf7a<_0x48468e[_0x2cc6('0x57')][_0x2cc6('0x3d')];_0x5caf7a++){var _0x2c5390=_0x48468e[_0x2cc6('0x57')][_0x5caf7a];var _0x501953='i';var _0xf1b8db=_[_0x2cc6('0x58')](_0x400d6d,[_0x2cc6('0x29'),_0x2c5390['field']]);if(!_0xf1b8db){switch(_0x2c5390[_0x2cc6('0x44')]){case _0x2cc6('0x59'):if(_0x2c5390[_0x2cc6('0x5a')]==0x1){_0x30553e['having']('`'+_0x2c5390[_0x2cc6('0x44')]+'`\x20=\x200');}else{_0x30553e[_0x2cc6('0x5b')]('`'+_0x2c5390['field']+'`\x20>\x200');}break;case _0x2cc6('0x5c'):if(_0x2c5390['operator']==='$substring'){if(_0x2c5390[_0x2cc6('0x5a')]['split']('\x20')[_0x2cc6('0x3d')]>0x1){_0x99b693[_0x173404](_0x2cc6('0x5d'),qs['getFullTextValue'](_0x2c5390[_0x2cc6('0x5a')]),null);}else{var _0x5b58e9='%'+_0x2c5390['value']+'%';_0x99b693[_0x173404]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x5b58e9,_0x5b58e9,_0x5b58e9);}}else{_0xf1b8db=_['find'](_0x400d6d,['name',_0x2cc6('0x5e')]);_0x2c5390[_0x2cc6('0x44')]=_0x2cc6('0x5e');_0x164979=as['buildExpression'](_0x501953,_0xf1b8db[_0x2cc6('0x5f')],_0x2c5390);_0x99b693[_0x173404](_0x164979[_0x2cc6('0x60')],_0x164979[_0x2cc6('0x5a')]['start'],_0x164979[_0x2cc6('0x5a')][_0x2cc6('0x1a')]);}break;case _0x2cc6('0x61'):var _0x4360b4=_0x2c5390['value'][_0x2cc6('0x2f')](',')[_0x2cc6('0x2c')](function(_0x429ee7){return Number(_0x429ee7);});_0x4360b4[_0x2cc6('0x62')](function(_0x1e1be3){_0x1b6f9d['or'](_0x2cc6('0x63'),'%,'+_0x1e1be3+',%');});_0xafcf86=_[_0x2cc6('0x64')](_0xafcf86,_0x4360b4);break;case _0x2cc6('0x65'):if(_0x2c5390[_0x2cc6('0x66')]===_0x2cc6('0x67')){_0x99b693[_0x173404](_0x2cc6('0x68'),'%'+_0x2c5390['value']+'%',null);}else{_0xf1b8db=_[_0x2cc6('0x58')](_0x400d6d,[_0x2cc6('0x29'),_0x2cc6('0x69')]);_0x2c5390[_0x2cc6('0x44')]='UserId';_0x164979=as[_0x2cc6('0x6a')](_0x501953,_0xf1b8db['type'],_0x2c5390);_0x99b693[_0x173404](_0x164979[_0x2cc6('0x60')],_0x164979[_0x2cc6('0x5a')][_0x2cc6('0x6b')],_0x164979[_0x2cc6('0x5a')]['end']);}break;case _0x2cc6('0x6c'):_0x164979=as[_0x2cc6('0x6a')]('me',null,_0x2c5390);_0x99b693[_0x173404](_0x164979[_0x2cc6('0x60')],_0x164979['value'][_0x2cc6('0x6b')],_0x164979[_0x2cc6('0x5a')][_0x2cc6('0x1a')]);break;}}else{var _0x164979=as[_0x2cc6('0x6a')](_0x501953,_0xf1b8db[_0x2cc6('0x5f')],_0x2c5390);_0x99b693[_0x173404](_0x164979[_0x2cc6('0x60')],_0x164979[_0x2cc6('0x5a')][_0x2cc6('0x6b')],_0x164979[_0x2cc6('0x5a')][_0x2cc6('0x1a')]);}}}else{var _0x43ac27=_(_0x1a2cca[_0x2cc6('0x38')])[_0x2cc6('0x6d')]()[_0x2cc6('0x2c')](function(_0x146e0c){return _['some'](_0x400d6d,[_0x2cc6('0x29'),_0x146e0c])?_0x146e0c:undefined;})[_0x2cc6('0x6e')]()[_0x2cc6('0x5a')]();if(!_[_0x2cc6('0x6f')](_0x43ac27)){_0x43ac27['forEach'](function(_0x3270e7){if(_0x3270e7==='WhatsappAccountId'){_0x30553e[_0x2cc6('0x41')]('i.WhatsappAccountId\x20IN\x20?',[][_0x2cc6('0x70')](_0x1a2cca[_0x2cc6('0x38')][_0x3270e7]));}else if(_0x3270e7===_0x2cc6('0x71')){var _0x3a4c86=JSON['parse'](_0x1a2cca[_0x2cc6('0x38')][_0x3270e7])[_0x2cc6('0x72')];var _0xc87048=JSON['parse'](_0x1a2cca[_0x2cc6('0x38')][_0x3270e7])[_0x2cc6('0x73')];_0x30553e[_0x2cc6('0x41')]('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x3a4c86,_0xc87048);}else{if(_0x1a2cca[_0x2cc6('0x38')][_0x3270e7]===_0x2cc6('0x74')){_0x30553e[_0x2cc6('0x41')]('i.'+_0x3270e7+'\x20IS\x20NULL');}else{_0x30553e[_0x2cc6('0x41')]('i.'+_0x3270e7+_0x2cc6('0x75'),_0x1a2cca[_0x2cc6('0x38')][_0x3270e7]);}}});}if(_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x76')]){if(_0x1a2cca[_0x2cc6('0x38')]['read']==0x1){_0x30553e[_0x2cc6('0x5b')](_0x2cc6('0x77'));}else{_0x30553e['having'](_0x2cc6('0x78'));}}if(_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x79')]){_0xafcf86=_[_0x2cc6('0x7a')](_0x1a2cca['query'][_0x2cc6('0x79')])?_0x1a2cca['query'][_0x2cc6('0x79')]:new Array(_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x79')]);_0xafcf86[_0x2cc6('0x62')](function(_0x317bf8){_0x1b6f9d['or'](_0x2cc6('0x63'),'%,'+_0x317bf8+',%');});}if(_0x1a2cca[_0x2cc6('0x38')]['filter']){var _0x4bb677=_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x7b')][_0x2cc6('0x7c')]('\x5c','\x5c\x5c')[_0x2cc6('0x7c')](/'/g,'\x27\x27');if(qs[_0x2cc6('0x7d')](_0x4bb677)){_0x99b693['or'](_0x2cc6('0x7e'),_0x4bb677+'%')['or'](_0x2cc6('0x7f'),_0x4bb677+'%');}else{_0x99b693['or'](_0x2cc6('0x80'),qs[_0x2cc6('0x81')](_0x4bb677))['or'](_0x2cc6('0x82'),_0x4bb677+'%');}}}_0x30553e[_0x2cc6('0x41')](_0x99b693);_0x30553e[_0x2cc6('0x83')](_0x2cc6('0x84'));var _0x5a010b={'type':db[_0x2cc6('0x85')][_0x2cc6('0x86')][_0x2cc6('0x87')],'raw':!![]};var _0x51aaa7=_0x30553e['clone']();_0x51aaa7[_0x2cc6('0x44')](_0x2cc6('0x84'));_0x51aaa7[_0x2cc6('0x44')](_0x2cc6('0x88'),_0x2cc6('0x59'));if(_0x1bada4[_0x2cc6('0x3f')]){_0x1bada4['order']['forEach'](function(_0x29544b){var _0x228d7c=_0x29544b[0x0]===_0x2cc6('0x89')?_0x29544b[0x0]:'i.'+_0x29544b[0x0];_0x30553e[_0x2cc6('0x3f')](_0x228d7c,_0x29544b[0x1]===_0x2cc6('0x8a')?![]:!![]);});}if(!_[_0x2cc6('0x6f')](_0xafcf86)){_0x30553e[_0x2cc6('0x5b')](_0x1b6f9d);_0x51aaa7['where']('t.id\x20IN\x20?',_0xafcf86);}BPromise[_0x2cc6('0x8b')]()['then'](function(){if(!_0x48468e){if(_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x8c')])return;_0x51aaa7[_0x2cc6('0x41')](_0x2cc6('0x8d'));_0x30553e['where'](_0x2cc6('0x8d'));return;}if(_0x1a2cca[_0x2cc6('0x8e')][_0x2cc6('0x8f')]!==_0x2cc6('0x90'))return;return _0x1a2cca['user']['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})[_0x2cc6('0x25')](function(_0x1ba265){if(_[_0x2cc6('0x6f')](_0x1ba265)){_0x51aaa7['where'](_0x2cc6('0x91'));_0x30553e[_0x2cc6('0x41')](_0x2cc6('0x91'));}else{_0x51aaa7[_0x2cc6('0x41')](_0x2cc6('0x92'),_['map'](_0x1ba265,'id'));_0x30553e[_0x2cc6('0x41')]('i.WhatsappAccountId\x20IN\x20?',_[_0x2cc6('0x2c')](_0x1ba265,'id'));}});})['then'](function(){if(_0x1a2cca['user'][_0x2cc6('0x8f')]===_0x2cc6('0x90')&&!_0x48468e&&!_0x1a2cca['query']['WhatsappAccountId'])return[];return db[_0x2cc6('0x93')][_0x2cc6('0x38')](_0x51aaa7[_0x2cc6('0x94')](),_0x5a010b);})[_0x2cc6('0x25')](function(_0x19895b){_0x45c5c7[_0x2cc6('0x1e')]=_0x19895b[_0x2cc6('0x3d')];if(_0x45c5c7[_0x2cc6('0x1e')]===0x0)return[];return db['sequelize'][_0x2cc6('0x38')](_0x5e436f[_0x2cc6('0x94')](),_0x5a010b)[_0x2cc6('0x25')](function(_0x1536fb){_0x31a8a5=_[_0x2cc6('0x95')](_0x1536fb,'id');_0x5a010b=_[_0x2cc6('0x96')](_0x5a010b,{'model':db['WhatsappInteraction'],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x1a2cca[_0x2cc6('0x38')][_0x2cc6('0x3c')]){_0x1bada4[_0x2cc6('0x3b')]['forEach'](function(_0x39547d){_0x30553e[_0x2cc6('0x44')]('i.'+_0x39547d);});}else{_0x30553e[_0x2cc6('0x44')](_0x2cc6('0x88'),_0x2cc6('0x59'));_0x30553e[_0x2cc6('0x44')]('a.key',_0x2cc6('0x97'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0x98'),_0x2cc6('0x99'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0x9a'),_0x2cc6('0x89'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0x9b'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0x9c'),_0x2cc6('0x9d'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0x9e'),_0x2cc6('0x9f'));_0x30553e['field'](_0x2cc6('0xa0'),_0x2cc6('0xa1'));_0x30553e['field'](_0x2cc6('0xa2'),'Contact.phone');_0x30553e[_0x2cc6('0x44')](_0x2cc6('0xa3'),_0x2cc6('0xa4'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0xa5'),_0x2cc6('0xa6'));_0x30553e[_0x2cc6('0x44')](_0x2cc6('0xa7'),_0x2cc6('0xa8'));_0x30553e[_0x2cc6('0x44')]('o.internal','Owner.internal');_0x30553e[_0x2cc6('0x44')](_0x2cc6('0xa9'),_0x2cc6('0x2d'));}if(_0x1bada4[_0x2cc6('0x1f')])_0x30553e[_0x2cc6('0x1f')](_0x1bada4['limit']);if(_0x1bada4[_0x2cc6('0x1c')])_0x30553e['offset'](_0x1bada4[_0x2cc6('0x1c')]);return db['sequelize'][_0x2cc6('0x38')](_0x30553e[_0x2cc6('0x94')](),_0x5a010b);})[_0x2cc6('0x25')](function(_0x4724e2){if(_0x4724e2[_0x2cc6('0x3d')]>0x0)_0xe54e3e['where']('ui.WhatsappInteractionId\x20IN\x20?',_[_0x2cc6('0x2c')](_0x4724e2,'id'));return db[_0x2cc6('0x93')]['query'](_0xe54e3e[_0x2cc6('0x94')](),_0x5a010b)[_0x2cc6('0x25')](function(_0x3baa52){var _0x1027b5=_[_0x2cc6('0xaa')](_0x3baa52,'WhatsappInteractionId');var _0x3d4c60=[];_0x4724e2['forEach'](function(_0x170b45){_0x3d4c60[_0x2cc6('0x30')](updateWhatsappInteraction(_0x170b45,_0x31a8a5,_0x1027b5));});return BPromise[_0x2cc6('0xab')](_0x3d4c60);});});})[_0x2cc6('0x25')](function(_0x26dbe1){_0x45c5c7[_0x2cc6('0xac')]=_0x26dbe1;return _0x45c5c7;})[_0x2cc6('0x25')](respondWithFilteredResult(_0x533dd2,_0x1bada4))[_0x2cc6('0x31')](handleError(_0x533dd2,null));};exports[_0x2cc6('0xad')]=function(_0x1a6baa,_0x127180){var _0x1af57e={'raw':![],'where':{'id':_0x1a6baa[_0x2cc6('0xae')]['id']}},_0x3a2dd7={};_0x3a2dd7[_0x2cc6('0x37')]=_['keys'](db['WhatsappInteraction']['rawAttributes']);_0x3a2dd7[_0x2cc6('0x38')]=_[_0x2cc6('0x6d')](_0x1a6baa[_0x2cc6('0x38')]);_0x3a2dd7['filters']=_[_0x2cc6('0x3a')](_0x3a2dd7[_0x2cc6('0x37')],_0x3a2dd7['query']);_0x1af57e[_0x2cc6('0x3b')]=_[_0x2cc6('0x3a')](_0x3a2dd7[_0x2cc6('0x37')],qs[_0x2cc6('0x3c')](_0x1a6baa['query']['fields']));_0x1af57e[_0x2cc6('0x3b')]=_0x1af57e[_0x2cc6('0x3b')][_0x2cc6('0x3d')]?_0x1af57e['attributes']:_0x3a2dd7[_0x2cc6('0x37')];if(_0x1a6baa[_0x2cc6('0x38')]['includeAll']){_0x1af57e[_0x2cc6('0xaf')]=[{'all':!![]}];}_0x1af57e=_['merge']({},_0x1af57e,_0x1a6baa['options']);return db[_0x2cc6('0x33')][_0x2cc6('0x58')](_0x1af57e)[_0x2cc6('0x25')](handleEntityNotFound(_0x127180,null))['then'](respondWithResult(_0x127180,null))['catch'](handleError(_0x127180,null));};exports[_0x2cc6('0xb0')]=function(_0x2e0a9b,_0x574508){return db[_0x2cc6('0x33')]['create'](_0x2e0a9b[_0x2cc6('0x6c')],{})['then'](respondWithResult(_0x574508,0xc9))[_0x2cc6('0x31')](handleError(_0x574508,null));};exports[_0x2cc6('0x24')]=function(_0x3f4dc5,_0x499669){if(_0x3f4dc5[_0x2cc6('0x6c')]['id']){delete _0x3f4dc5['body']['id'];}return db['WhatsappInteraction'][_0x2cc6('0x58')]({'where':{'id':_0x3f4dc5[_0x2cc6('0xae')]['id']}})[_0x2cc6('0x25')](handleEntityNotFound(_0x499669,null))['then'](saveUpdates(_0x3f4dc5[_0x2cc6('0x6c')],null))['then'](respondWithResult(_0x499669,null))['catch'](handleError(_0x499669,null));};exports['destroy']=function(_0x3d03c7,_0xa4e630){return db[_0x2cc6('0x33')][_0x2cc6('0x58')]({'where':{'id':_0x3d03c7[_0x2cc6('0xae')]['id']}})[_0x2cc6('0x25')](handleEntityNotFound(_0xa4e630,null))['then'](removeEntity(_0xa4e630,null))['catch'](handleError(_0xa4e630,null));};exports[_0x2cc6('0xb1')]=function(_0xdf45a6,_0x5ef848){return db[_0x2cc6('0x33')][_0x2cc6('0xb1')]()[_0x2cc6('0x25')](respondWithResult(_0x5ef848,null))[_0x2cc6('0x31')](handleError(_0x5ef848,null));};exports[_0x2cc6('0xb2')]=function(_0x44cee1,_0x500aae,_0x3043a4){return db['WhatsappMessage'][_0x2cc6('0x58')]({'where':{'id':_0x44cee1[_0x2cc6('0xae')]['id']}})[_0x2cc6('0x25')](handleEntityNotFound(_0x500aae,null))[_0x2cc6('0x25')](function(_0x41964c){if(_0x41964c){return _0x41964c[_0x2cc6('0xb2')](_0x44cee1[_0x2cc6('0x6c')][_0x2cc6('0xb3')],_['omit'](_0x44cee1[_0x2cc6('0x6c')],[_0x2cc6('0xb3'),'id'])||{});}})[_0x2cc6('0x25')](respondWithResult(_0x500aae,null))[_0x2cc6('0x31')](handleError(_0x500aae,null));};exports[_0x2cc6('0xb4')]=function(_0x23d34f,_0x22dddb,_0x24ce91){var _0xc95255={'raw':![],'where':{}};var _0x22a2f7={};var _0x303646={'count':0x0,'rows':[]};return db['WhatsappInteraction']['findOne']({'where':{'id':_0x23d34f[_0x2cc6('0xae')]['id']}})[_0x2cc6('0x25')](handleEntityNotFound(_0x22dddb,null))['then'](function(_0x16aa1a){if(_0x16aa1a){_0x22a2f7[_0x2cc6('0x37')]=_[_0x2cc6('0x6d')](db[_0x2cc6('0xb5')][_0x2cc6('0x34')]);_0x22a2f7[_0x2cc6('0x38')]=_[_0x2cc6('0x6d')](_0x23d34f[_0x2cc6('0x38')]);_0x22a2f7['filters']=_[_0x2cc6('0x3a')](_0x22a2f7[_0x2cc6('0x37')],_0x22a2f7['query']);_0xc95255['attributes']=_['intersection'](_0x22a2f7['model'],qs[_0x2cc6('0x3c')](_0x23d34f[_0x2cc6('0x38')][_0x2cc6('0x3c')]));_0xc95255[_0x2cc6('0x3b')]=_0xc95255[_0x2cc6('0x3b')][_0x2cc6('0x3d')]?_0xc95255[_0x2cc6('0x3b')]:_0x22a2f7[_0x2cc6('0x37')];if(!_0x23d34f['query'][_0x2cc6('0x3e')](_0x2cc6('0xb6'))){_0xc95255[_0x2cc6('0x1f')]=qs[_0x2cc6('0x1f')](_0x23d34f['query']['limit']);_0xc95255[_0x2cc6('0x1c')]=qs[_0x2cc6('0x1c')](_0x23d34f[_0x2cc6('0x38')]['offset']);}_0xc95255[_0x2cc6('0x3f')]=qs[_0x2cc6('0x40')](_0x23d34f[_0x2cc6('0x38')][_0x2cc6('0x40')]);_0xc95255[_0x2cc6('0x41')]=qs['filters'](_[_0x2cc6('0x42')](_0x23d34f[_0x2cc6('0x38')],_0x22a2f7[_0x2cc6('0x39')]));_0xc95255[_0x2cc6('0x41')][_0x2cc6('0xb7')]=_0x16aa1a['id'];if(_0x23d34f[_0x2cc6('0x38')][_0x2cc6('0x7b')]){_0xc95255['where']=_['merge'](_0xc95255[_0x2cc6('0x41')],{'$or':_[_0x2cc6('0x2c')](_0xc95255[_0x2cc6('0x3b')],function(_0x4ee1a8){var _0x3fadd2={};_0x3fadd2[_0x4ee1a8]={'$like':'%'+_0x23d34f[_0x2cc6('0x38')][_0x2cc6('0x7b')]+'%'};return _0x3fadd2;})});}if(_0x23d34f['query'][_0x2cc6('0x72')]){var _0x3a8c0d=_0x23d34f[_0x2cc6('0x38')][_0x2cc6('0x72')][_0x2cc6('0x2f')](',');var _0x20b71a={};_0x20b71a[_0x3a8c0d[0x0]]={'$gte':moment(_0x3a8c0d[0x1])[_0x2cc6('0xb8')](_0x2cc6('0xb9'))};_0xc95255['where']=_[_0x2cc6('0x96')](_0xc95255[_0x2cc6('0x41')],_0x20b71a);}_0xc95255=_['merge']({},_0xc95255,_0x23d34f[_0x2cc6('0xba')]);return db[_0x2cc6('0xb5')][_0x2cc6('0x1e')]({'where':_0xc95255[_0x2cc6('0x41')]})[_0x2cc6('0x25')](function(_0x3ba743){_0x303646[_0x2cc6('0x1e')]=_0x3ba743;if(_0x23d34f[_0x2cc6('0x38')][_0x2cc6('0xbb')]){_0xc95255[_0x2cc6('0xaf')]=[{'all':!![]}];}return db[_0x2cc6('0xb5')]['findAll'](_0xc95255);})[_0x2cc6('0x25')](function(_0x412b14){_0x303646[_0x2cc6('0xac')]=_0x412b14;return _0x303646;});}})[_0x2cc6('0x25')](respondWithFilteredResult(_0x22dddb,_0xc95255))[_0x2cc6('0x31')](handleError(_0x22dddb,null));};exports[_0x2cc6('0xbc')]=function(_0x194175,_0x2ad2ef,_0xfca2f5){return db[_0x2cc6('0x33')][_0x2cc6('0x58')]({'where':{'id':_0x194175[_0x2cc6('0xae')]['id']}})['then'](handleEntityNotFound(_0x2ad2ef,null))[_0x2cc6('0x25')](function(_0x109537){if(_0x109537){return _0x109537[_0x2cc6('0xbd')](_0x194175[_0x2cc6('0x6c')][_0x2cc6('0xb3')],_[_0x2cc6('0xbe')](_0x194175[_0x2cc6('0x6c')],[_0x2cc6('0xb3'),'id'])||{})[_0x2cc6('0xbf')](function(){return db[_0x2cc6('0x61')]['findAll']({'attributes':['id',_0x2cc6('0x29'),_0x2cc6('0xc0')],'where':{'id':_0x194175[_0x2cc6('0x6c')]['ids']}});})['then'](function(_0x2d0cd4){socket[_0x2cc6('0xc1')]('whatsappInteractionTags:save',{'id':Number(_0x194175['params']['id']),'tags':_0x2d0cd4||[]});return{'id':Number(_0x194175['params']['id']),'tags':_0x2d0cd4||[]};});}})[_0x2cc6('0x25')](respondWithResult(_0x2ad2ef,null))[_0x2cc6('0x31')](handleError(_0x2ad2ef,null));};exports[_0x2cc6('0xc2')]=function(_0x49a214,_0x2810b1,_0x258a05){return db[_0x2cc6('0x33')][_0x2cc6('0x58')]({'where':{'id':_0x49a214[_0x2cc6('0xae')]['id']}})[_0x2cc6('0x25')](handleEntityNotFound(_0x2810b1,null))[_0x2cc6('0x25')](function(_0x3a0bca){if(_0x3a0bca){return _0x3a0bca[_0x2cc6('0xc2')](_0x49a214[_0x2cc6('0x38')]['ids']);}})['then'](respondWithStatusCode(_0x2810b1,null))['catch'](handleError(_0x2810b1,null));};exports[_0x2cc6('0xc3')]=function(_0x298a9b,_0x145d54){var _0x23c0b0=moment()[_0x2cc6('0xc4')]()[_0x2cc6('0x94')]();var _0x504a1f=path[_0x2cc6('0xc5')](config[_0x2cc6('0xc6')],_0x2cc6('0xc7'),_0x2cc6('0xc8'),_0x2cc6('0xc9'));var _0x148fd5=path[_0x2cc6('0xc5')](config[_0x2cc6('0xc6')],_0x2cc6('0xc7'),_0x2cc6('0xc8'),'attachments');var _0x572aee=path['join'](_0x504a1f,_0x23c0b0);var _0x1a68cf=util[_0x2cc6('0xb8')](_0x2cc6('0xca'),_0x298a9b[_0x2cc6('0xae')]['id'],_0x23c0b0);var _0x7f4891=path[_0x2cc6('0xc5')](_0x504a1f,_0x1a68cf);var _0x4505f3=[];_0x4505f3[_0x2cc6('0x30')]({'model':db[_0x2cc6('0x65')],'as':'User','attributes':['id',_0x2cc6('0xcb')],'raw':!![]});_0x4505f3['push']({'model':db[_0x2cc6('0xcc')],'as':_0x2cc6('0x5c'),'attributes':['id',_0x2cc6('0xcd'),'lastName'],'raw':!![]});if(_0x298a9b[_0x2cc6('0x38')][_0x2cc6('0xce')]){_0x4505f3['push']({'model':db['Attachment'],'as':_0x2cc6('0xcf'),'raw':!![]});}var _0x194a48=[{'model':db['WhatsappMessage'],'as':_0x2cc6('0xd0'),'attributes':['id','body',_0x2cc6('0x71'),_0x2cc6('0xd1'),_0x2cc6('0xd2'),_0x2cc6('0x76')],'include':_0x4505f3}];_0x194a48['push']({'model':db[_0x2cc6('0xd3')],'as':_0x2cc6('0xd4'),'attributes':['id','name']});_0x194a48[_0x2cc6('0x30')]({'model':db['User'],'as':_0x2cc6('0xd5'),'attributes':['id',_0x2cc6('0xcb')]});return db['WhatsappInteraction'][_0x2cc6('0x58')]({'where':{'id':_0x298a9b[_0x2cc6('0xae')]['id']},'include':_0x194a48})['then'](handleEntityNotFound(_0x145d54,null))['then'](function(_0x413068){if(_0x413068){var _0x545d8b=_0x413068['get']({'plain':!![]});fs[_0x2cc6('0xd6')](_0x572aee);var _0x5608b4={'channel':_0x2cc6('0xd7'),'account':_0x545d8b[_0x2cc6('0xd4')][_0x2cc6('0x29')],'agent':_0x545d8b[_0x2cc6('0xd5')]?_0x545d8b[_0x2cc6('0xd5')]['fullname']:'N.A.','createdAt':moment(_0x545d8b[_0x2cc6('0x71')])[_0x2cc6('0xb8')](_0x2cc6('0xb9'))[_0x2cc6('0x94')](),'closedAt':_0x545d8b['closed']?moment(_0x545d8b['closedAt'])[_0x2cc6('0xb8')](_0x2cc6('0xb9'))[_0x2cc6('0x94')]():'','disposition':_0x545d8b['disposition'],'messages':_(_0x545d8b[_0x2cc6('0xd0')])['filter']({'secret':![]})['map'](function(_0x2041c7){if(_0x2041c7[_0x2cc6('0xcf')]){var _0x3a6051=path[_0x2cc6('0xc5')](_0x148fd5,_0x2041c7[_0x2cc6('0xcf')][_0x2cc6('0xd8')]);if(fs['existsSync'](_0x3a6051)){fs[_0x2cc6('0xd9')](_0x3a6051)[_0x2cc6('0xda')](fs[_0x2cc6('0xdb')](path['join'](_0x572aee,_0x2041c7[_0x2cc6('0xcf')][_0x2cc6('0xd8')])));}}return{'date':moment(_0x2041c7[_0x2cc6('0x71')])['format'](_0x2cc6('0xb9'))[_0x2cc6('0x94')](),'sender':_0x2041c7[_0x2cc6('0xd1')]===_0x2cc6('0xdc')?_0x2041c7[_0x2cc6('0x65')]?_0x2041c7[_0x2cc6('0x65')][_0x2cc6('0xcb')]:_0x2cc6('0xdd'):_0x2041c7[_0x2cc6('0x5c')][_0x2cc6('0xcd')]+(_0x2041c7[_0x2cc6('0x5c')]['lastName']?'\x20'+_0x2041c7[_0x2cc6('0x5c')]['lastName']:''),'body':_0x2041c7[_0x2cc6('0xcf')]?_0x2041c7[_0x2cc6('0xcf')]['basename']:_0x2041c7['body'],'direction':_0x2041c7[_0x2cc6('0xd1')]===_0x2cc6('0xdc')?'A':'C','secret':_0x2041c7[_0x2cc6('0xd2')],'read':_0x2041c7['read'],'attachment':_0x2041c7[_0x2cc6('0xcf')]};})[_0x2cc6('0x5a')]()};return ejs[_0x2cc6('0xde')](path[_0x2cc6('0xc5')](config[_0x2cc6('0xc6')],_0x2cc6('0xc7'),_0x2cc6('0xdf'),_0x2cc6('0xe0')),{'interaction':_0x5608b4})[_0x2cc6('0x25')](function(_0x5ac671){var _0x3aa63a=path['join'](_0x572aee,_0x2cc6('0xe1')+_0x545d8b['id']+'-'+_0x23c0b0+_0x2cc6('0xe2'));var _0xc3922e={'path':_0x3aa63a,'channel':_0x2cc6('0xd7'),'interactionId':_0x545d8b['id']};return pdf[_0x2cc6('0xe3')](_0x5ac671,_0xc3922e);})[_0x2cc6('0x25')](function(){return new BPromise(function(_0x522f7b,_0x23a85b){zipdir(_0x572aee,{'saveTo':_0x7f4891},function(_0x5760ba,_0x53d25b){if(_0x5760ba)return _0x23a85b(_0x5760ba);return _0x522f7b(_0x53d25b);});})['then'](function(){return new BPromise(function(_0x7f56f3,_0x5a0c4d){rimraf(_0x572aee,function(_0x207e9f){if(_0x207e9f)_0x5a0c4d(_0x207e9f);return _0x7f56f3();});});})[_0x2cc6('0x25')](function(){return _0x145d54[_0x2cc6('0xc3')](_0x7f4891,_0x1a68cf,function(_0x36eb03){if(_0x36eb03){console[_0x2cc6('0xe4')](_0x2cc6('0xe5'),_0x36eb03);}else{fs[_0x2cc6('0xe6')](_0x7f4891);}});});});}else{return _0x145d54['sendStatus'](0xc8);}})[_0x2cc6('0x31')](handleError(_0x145d54,null));};