206787589244dbb20673f10af44fefe6a9860771
[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 _0xcb06=['ui.WhatsappInteractionId\x20IN\x20?','groupBy','WhatsappInteractionId','all','rows','show','includeAll','merge','create','body','params','describe','addMessage','WhatsappMessage','omit','ids','findOne','rawAttributes','pick','format','YYYY-MM-DD\x20HH:mm:ss','include','findAll','addTags','emit','whatsappInteractionTags:save','removeTags','join','root','server','files','tmp','attachments','User','CmContact','lastName','Attachment','Messages','direction','WhatsappAccount','get','mkdirSync','Whatsapp','Account','Owner','N.A.','closed','closedAt','disposition','basename','existsSync','createReadStream','pipe','out','System','firstName','renderFile','downloadInteraction.ejs','transcript-','.pdf','log','unlinkSync','fast-json-patch','moment','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./whatsappInteraction.socket','register','sendStatus','status','end','json','offset','undefined','limit','Content-Range','apply','reject','save','update','destroy','then','error','name','send','Users','fullname','TagIds','split','Tags','push','catch','index','map','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','select','field','color','from','u.id','u.fullname','ui.WhatsappInteractionId','user_has_whatsapp_interactions','left_join','users','whatsapp_interactions','cm_contacts','o.id\x20=\x20i.UserId','whatsapp_accounts','a.id\x20=\x20i.WhatsappAccountId','me.WhatsappInteractionId\x20=\x20i.id','whatsapp_interaction_has_tags','it.WhatsappInteractionId\x20=\x20i.id','t.id\x20=\x20it.TagId','expr','parseSearch','search','sqlOperator','conditions','find','unreadMessages','`\x20=\x200','`\x20>\x200','Contact','operator','$substring','value','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','Tag','forEach','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','union','UserId','some','compact','isEmpty','WhatsappAccountId','where','i.WhatsappAccountId\x20IN\x20?','createdAt','parse','$gte','$lte','null','\x20IS\x20NULL','read','having','`unreadMessages`\x20=\x200','tag','isArray','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?','group','QueryTypes','SELECT','clone','i.id','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','role','agent','i.WhatsappAccountId\x20IS\x20NULL','count','sequelize','toString','WhatsappInteraction','a.key','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','contactName','i.*','c.firstName','Contact.firstName','c.lastName','Contact.lastName','c.phone','Contact.phone','c.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)'];(function(_0x151ecd,_0x18ecb1){var _0x4c2325=function(_0x3c654c){while(--_0x3c654c){_0x151ecd['push'](_0x151ecd['shift']());}};_0x4c2325(++_0x18ecb1);}(_0xcb06,0x127));var _0x6cb0=function(_0x713cb8,_0x9c1a76){_0x713cb8=_0x713cb8-0x0;var _0x5ea39f=_0xcb06[_0x713cb8];return _0x5ea39f;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x6cb0('0x0'));var rp=require('request-promise');var moment=require(_0x6cb0('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x6cb0('0x2'));var util=require('util');var path=require(_0x6cb0('0x3'));var sox=require('sox');var csv=require(_0x6cb0('0x4'));var ejs=require(_0x6cb0('0x5'));var fs=require('fs');var fs_extra=require(_0x6cb0('0x6'));var _=require(_0x6cb0('0x7'));var squel=require(_0x6cb0('0x8'));var crypto=require(_0x6cb0('0x9'));var jsforce=require(_0x6cb0('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x6cb0('0x4'));var querystring=require(_0x6cb0('0xb'));var Papa=require(_0x6cb0('0xc'));var Redis=require(_0x6cb0('0xd'));var authService=require(_0x6cb0('0xe'));var qs=require(_0x6cb0('0xf'));var as=require(_0x6cb0('0x10'));var pdf=require(_0x6cb0('0x11'));var hardwareService=require(_0x6cb0('0x12'));var logger=require(_0x6cb0('0x13'))(_0x6cb0('0x14'));var utils=require(_0x6cb0('0x15'));var config=require(_0x6cb0('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x6cb0('0x17'))['db'];config[_0x6cb0('0x18')]=_[_0x6cb0('0x19')](config[_0x6cb0('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x6cb0('0x1a'))(new Redis(config[_0x6cb0('0x18')]));require(_0x6cb0('0x1b'))[_0x6cb0('0x1c')](socket);function respondWithStatusCode(_0x307d33,_0x270215){_0x270215=_0x270215||0xcc;return function(_0x47fa55){if(_0x47fa55){return _0x307d33[_0x6cb0('0x1d')](_0x270215);}return _0x307d33[_0x6cb0('0x1e')](_0x270215)[_0x6cb0('0x1f')]();};}function respondWithResult(_0x51d0db,_0x1a4e69){_0x1a4e69=_0x1a4e69||0xc8;return function(_0x34b18d){if(_0x34b18d){return _0x51d0db[_0x6cb0('0x1e')](_0x1a4e69)[_0x6cb0('0x20')](_0x34b18d);}};}function respondWithFilteredResult(_0x2539da,_0x280a93){return function(_0x572b49){if(_0x572b49){var _0x193572=typeof _0x280a93[_0x6cb0('0x21')]===_0x6cb0('0x22')&&typeof _0x280a93[_0x6cb0('0x23')]===_0x6cb0('0x22');var _0x38c61a=_0x572b49['count'];var _0x4b0d9b=_0x193572?0x0:_0x280a93[_0x6cb0('0x21')];var _0x2ca4c8=_0x193572?_0x572b49['count']:_0x280a93['offset']+_0x280a93[_0x6cb0('0x23')];var _0x3874cb;if(_0x2ca4c8>=_0x38c61a){_0x2ca4c8=_0x38c61a;_0x3874cb=0xc8;}else{_0x3874cb=0xce;}_0x2539da[_0x6cb0('0x1e')](_0x3874cb);return _0x2539da['set'](_0x6cb0('0x24'),_0x4b0d9b+'-'+_0x2ca4c8+'/'+_0x38c61a)[_0x6cb0('0x20')](_0x572b49);}return null;};}function patchUpdates(_0x3d673e){return function(_0x5e376f){try{jsonpatch[_0x6cb0('0x25')](_0x5e376f,_0x3d673e,!![]);}catch(_0x3182c0){return BPromise[_0x6cb0('0x26')](_0x3182c0);}return _0x5e376f[_0x6cb0('0x27')]();};}function saveUpdates(_0x49a14e,_0x246cab){return function(_0x99aebc){if(_0x99aebc){return _0x99aebc[_0x6cb0('0x28')](_0x49a14e)['then'](function(_0x2c5d78){return _0x2c5d78;});}return null;};}function removeEntity(_0x3d5571,_0x34daa9){return function(_0x328afd){if(_0x328afd){return _0x328afd[_0x6cb0('0x29')]()[_0x6cb0('0x2a')](function(){_0x3d5571['status'](0xcc)[_0x6cb0('0x1f')]();});}};}function handleEntityNotFound(_0x3c97f9,_0x58aa93){return function(_0x1b5648){if(!_0x1b5648){_0x3c97f9['sendStatus'](0x194);}return _0x1b5648;};}function handleError(_0x1f2c09,_0x17e55a){_0x17e55a=_0x17e55a||0x1f4;return function(_0x483d6a){logger[_0x6cb0('0x2b')](_0x483d6a['stack']);if(_0x483d6a[_0x6cb0('0x2c')]){delete _0x483d6a[_0x6cb0('0x2c')];}_0x1f2c09[_0x6cb0('0x1e')](_0x17e55a)[_0x6cb0('0x2d')](_0x483d6a);};}function getInteractionUsers(_0x3a2b6d,_0x35cf80){return new BPromise(function(_0x7abc1d,_0x57a44d){try{if(_0x35cf80[_0x3a2b6d['id']]){_0x3a2b6d[_0x6cb0('0x2e')]=_['map'](_0x35cf80[_0x3a2b6d['id']],function(_0x4c797e){return{'id':_0x4c797e['id'],'fullname':_0x4c797e[_0x6cb0('0x2f')]};});}}catch(_0x4b6236){_0x57a44d(_0x4b6236);}_0x7abc1d(_0x3a2b6d);});}function getInteractionTags(_0x37f724,_0x62c91b){return new BPromise(function(_0x3f4b65,_0x544791){try{if(_0x37f724[_0x6cb0('0x30')]){_0x37f724['Tags']=[];_0x37f724[_0x6cb0('0x30')][_0x6cb0('0x31')](',')['forEach'](function(_0x54b492){_0x37f724[_0x6cb0('0x32')][_0x6cb0('0x33')](_0x62c91b[_0x54b492]);});}delete _0x37f724[_0x6cb0('0x30')];}catch(_0x5c9867){_0x544791(_0x5c9867);}_0x3f4b65(_0x37f724);});}function updateWhatsappInteraction(_0x546d51,_0x24a2a7,_0x1c8775){return new BPromise(function(_0x260260,_0xf78022){return getInteractionUsers(_0x546d51,_0x1c8775)['then'](function(_0xc21b27){return getInteractionTags(_0xc21b27,_0x24a2a7);})[_0x6cb0('0x2a')](function(_0x5b74f4){_0x260260(_0x5b74f4);})[_0x6cb0('0x34')](function(_0x20a4db){_0xf78022(_0x20a4db);});});}exports[_0x6cb0('0x35')]=function(_0xb85d84,_0x26f2e8){var _0xd8bf6c={},_0x3bc191={},_0xb68de7={'count':0x0,'rows':[]};var _0x3076fc=_[_0x6cb0('0x36')](db['WhatsappInteraction']['rawAttributes'],function(_0x7d7d8a){return{'name':_0x7d7d8a[_0x6cb0('0x37')],'type':_0x7d7d8a[_0x6cb0('0x38')][_0x6cb0('0x39')]};});_0x3bc191[_0x6cb0('0x3a')]=_['map'](_0x3076fc,_0x6cb0('0x2c'));_0x3bc191[_0x6cb0('0x3b')]=_[_0x6cb0('0x3c')](_0xb85d84[_0x6cb0('0x3b')]);_0x3bc191[_0x6cb0('0x3d')]=_[_0x6cb0('0x3e')](_0x3bc191[_0x6cb0('0x3a')],_0x3bc191[_0x6cb0('0x3b')]);_0xd8bf6c['attributes']=_[_0x6cb0('0x3e')](_0x3bc191[_0x6cb0('0x3a')],qs[_0x6cb0('0x3f')](_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x3f')]));_0xd8bf6c[_0x6cb0('0x40')]=_0xd8bf6c[_0x6cb0('0x40')][_0x6cb0('0x41')]?_0xd8bf6c[_0x6cb0('0x40')]:_0x3bc191['model'];if(!_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x42')](_0x6cb0('0x43'))){_0xd8bf6c['limit']=qs[_0x6cb0('0x23')](_0xb85d84['query']['limit']);_0xd8bf6c[_0x6cb0('0x21')]=qs[_0x6cb0('0x21')](_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x21')]);}_0xd8bf6c[_0x6cb0('0x44')]=qs[_0x6cb0('0x45')](_0xb85d84['query'][_0x6cb0('0x45')]);_0xd8bf6c['where']=qs[_0x6cb0('0x3d')](_['pick'](_0xb85d84[_0x6cb0('0x3b')],_0x3bc191['filters']),_0x3076fc);var _0x25f805=[];var _0x3308f1=squel[_0x6cb0('0x46')]()[_0x6cb0('0x47')]('id')[_0x6cb0('0x47')](_0x6cb0('0x2c'))['field'](_0x6cb0('0x48'))[_0x6cb0('0x49')]('tools_tags');var _0x4a7886=squel[_0x6cb0('0x46')]()[_0x6cb0('0x47')](_0x6cb0('0x4a'))['field'](_0x6cb0('0x4b'))[_0x6cb0('0x47')](_0x6cb0('0x4c'))[_0x6cb0('0x49')](_0x6cb0('0x4d'),'ui')[_0x6cb0('0x4e')](_0x6cb0('0x4f'),'u','u.id\x20=\x20ui.UserId');var _0xa02da2=squel[_0x6cb0('0x46')]()[_0x6cb0('0x49')](_0x6cb0('0x50'),'i')[_0x6cb0('0x4e')](_0x6cb0('0x51'),'c','c.id\x20=\x20i.ContactId\x20AND\x20c.deletedAt\x20IS\x20NULL')[_0x6cb0('0x4e')](_0x6cb0('0x4f'),'o',_0x6cb0('0x52'))['left_join'](_0x6cb0('0x53'),'a',_0x6cb0('0x54'))[_0x6cb0('0x4e')]('whatsapp_messages','me',_0x6cb0('0x55'))[_0x6cb0('0x4e')](_0x6cb0('0x56'),'it',_0x6cb0('0x57'))[_0x6cb0('0x4e')]('tools_tags','t',_0x6cb0('0x58'));var _0x306158=squel[_0x6cb0('0x59')]();var _0x320121=[];var _0x2eb430=squel[_0x6cb0('0x59')]();var _0x187d04;if(_0xb85d84[_0x6cb0('0x3b')]['search']){_0x187d04=as[_0x6cb0('0x5a')](_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x5b')]);var _0x148c1e=_0x187d04[_0x6cb0('0x5c')];for(var _0x766a70=0x0;_0x766a70<_0x187d04[_0x6cb0('0x5d')][_0x6cb0('0x41')];_0x766a70++){var _0x2679a9=_0x187d04['conditions'][_0x766a70];var _0x4ec41e='i';var _0xa6aa0f=_[_0x6cb0('0x5e')](_0x3076fc,['name',_0x2679a9['field']]);if(!_0xa6aa0f){switch(_0x2679a9['field']){case _0x6cb0('0x5f'):if(_0x2679a9['value']==0x1){_0xa02da2['having']('`'+_0x2679a9['field']+_0x6cb0('0x60'));}else{_0xa02da2['having']('`'+_0x2679a9['field']+_0x6cb0('0x61'));}break;case _0x6cb0('0x62'):if(_0x2679a9[_0x6cb0('0x63')]===_0x6cb0('0x64')){if(_0x2679a9[_0x6cb0('0x65')]['split']('\x20')[_0x6cb0('0x41')]>0x1){_0x306158[_0x148c1e](_0x6cb0('0x66'),qs[_0x6cb0('0x67')](_0x2679a9[_0x6cb0('0x65')]),null);}else{var _0x454238='%'+_0x2679a9[_0x6cb0('0x65')]+'%';_0x306158[_0x148c1e](_0x6cb0('0x68'),_0x454238,_0x454238,_0x454238);}}else{_0xa6aa0f=_[_0x6cb0('0x5e')](_0x3076fc,[_0x6cb0('0x2c'),_0x6cb0('0x69')]);_0x2679a9[_0x6cb0('0x47')]=_0x6cb0('0x69');_0x5ba499=as[_0x6cb0('0x6a')](_0x4ec41e,_0xa6aa0f['type'],_0x2679a9);_0x306158[_0x148c1e](_0x5ba499[_0x6cb0('0x6b')],_0x5ba499[_0x6cb0('0x65')][_0x6cb0('0x6c')],_0x5ba499[_0x6cb0('0x65')]['end']);}break;case _0x6cb0('0x6d'):var _0x2844dd=_0x2679a9[_0x6cb0('0x65')][_0x6cb0('0x31')](',')[_0x6cb0('0x36')](function(_0x255110){return Number(_0x255110);});_0x2844dd[_0x6cb0('0x6e')](function(_0x2c5f24){_0x2eb430['or'](_0x6cb0('0x6f'),'%,'+_0x2c5f24+',%');});_0x320121=_[_0x6cb0('0x70')](_0x320121,_0x2844dd);break;case'User':if(_0x2679a9[_0x6cb0('0x63')]===_0x6cb0('0x64')){_0x306158[_0x148c1e]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x2679a9['value']+'%',null);}else{_0xa6aa0f=_['find'](_0x3076fc,[_0x6cb0('0x2c'),_0x6cb0('0x71')]);_0x2679a9[_0x6cb0('0x47')]=_0x6cb0('0x71');_0x5ba499=as[_0x6cb0('0x6a')](_0x4ec41e,_0xa6aa0f[_0x6cb0('0x38')],_0x2679a9);_0x306158[_0x148c1e](_0x5ba499[_0x6cb0('0x6b')],_0x5ba499['value'][_0x6cb0('0x6c')],_0x5ba499[_0x6cb0('0x65')]['end']);}break;case'body':_0x5ba499=as[_0x6cb0('0x6a')]('me',null,_0x2679a9);_0x306158[_0x148c1e](_0x5ba499['text'],_0x5ba499['value'][_0x6cb0('0x6c')],_0x5ba499[_0x6cb0('0x65')][_0x6cb0('0x1f')]);break;}}else{var _0x5ba499=as[_0x6cb0('0x6a')](_0x4ec41e,_0xa6aa0f[_0x6cb0('0x38')],_0x2679a9);_0x306158[_0x148c1e](_0x5ba499['text'],_0x5ba499[_0x6cb0('0x65')][_0x6cb0('0x6c')],_0x5ba499[_0x6cb0('0x65')]['end']);}}}else{var _0x1414cf=_(_0xb85d84['query'])[_0x6cb0('0x3c')]()[_0x6cb0('0x36')](function(_0x16e640){return _[_0x6cb0('0x72')](_0x3076fc,['name',_0x16e640])?_0x16e640:undefined;})[_0x6cb0('0x73')]()[_0x6cb0('0x65')]();if(!_[_0x6cb0('0x74')](_0x1414cf)){_0x1414cf['forEach'](function(_0x5d567d){if(_0x5d567d===_0x6cb0('0x75')){_0xa02da2[_0x6cb0('0x76')](_0x6cb0('0x77'),[]['concat'](_0xb85d84['query'][_0x5d567d]));}else if(_0x5d567d===_0x6cb0('0x78')){var _0x2a97a5=JSON[_0x6cb0('0x79')](_0xb85d84[_0x6cb0('0x3b')][_0x5d567d])[_0x6cb0('0x7a')];var _0xe36c=JSON[_0x6cb0('0x79')](_0xb85d84[_0x6cb0('0x3b')][_0x5d567d])[_0x6cb0('0x7b')];_0xa02da2['where']('i.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x2a97a5,_0xe36c);}else{if(_0xb85d84[_0x6cb0('0x3b')][_0x5d567d]===_0x6cb0('0x7c')){_0xa02da2[_0x6cb0('0x76')]('i.'+_0x5d567d+_0x6cb0('0x7d'));}else{_0xa02da2[_0x6cb0('0x76')]('i.'+_0x5d567d+'\x20=\x20?',_0xb85d84[_0x6cb0('0x3b')][_0x5d567d]);}}});}if(_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x7e')]){if(_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x7e')]==0x1){_0xa02da2[_0x6cb0('0x7f')](_0x6cb0('0x80'));}else{_0xa02da2[_0x6cb0('0x7f')]('`unreadMessages`\x20>\x200');}}if(_0xb85d84['query'][_0x6cb0('0x81')]){_0x320121=_[_0x6cb0('0x82')](_0xb85d84[_0x6cb0('0x3b')]['tag'])?_0xb85d84['query']['tag']:new Array(_0xb85d84['query']['tag']);_0x320121[_0x6cb0('0x6e')](function(_0xcba93f){_0x2eb430['or'](_0x6cb0('0x6f'),'%,'+_0xcba93f+',%');});}if(_0xb85d84['query'][_0x6cb0('0x83')]){var _0x335c52=_0xb85d84['query'][_0x6cb0('0x83')][_0x6cb0('0x84')]('\x5c','\x5c\x5c')[_0x6cb0('0x84')](/'/g,'\x27\x27');if(qs[_0x6cb0('0x85')](_0x335c52)){_0x306158['or'](_0x6cb0('0x86'),_0x335c52+'%')['or'](_0x6cb0('0x87'),_0x335c52+'%');}else{_0x306158['or']('MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)',qs['getFullTextValue'](_0x335c52))['or']('CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?',_0x335c52+'%');}}}_0xa02da2['where'](_0x306158);_0xa02da2[_0x6cb0('0x88')]('i.id');var _0x108f5a={'type':db['Sequelize'][_0x6cb0('0x89')][_0x6cb0('0x8a')],'raw':!![]};var _0x143042=_0xa02da2[_0x6cb0('0x8b')]();_0x143042[_0x6cb0('0x47')](_0x6cb0('0x8c'));_0x143042[_0x6cb0('0x47')](_0x6cb0('0x8d'),_0x6cb0('0x5f'));if(_0xd8bf6c[_0x6cb0('0x44')]){_0xd8bf6c[_0x6cb0('0x44')]['forEach'](function(_0x5c8474){var _0x56995d=_0x5c8474[0x0]==='contactName'?_0x5c8474[0x0]:'i.'+_0x5c8474[0x0];_0xa02da2[_0x6cb0('0x44')](_0x56995d,_0x5c8474[0x1]==='DESC'?![]:!![]);});}if(!_[_0x6cb0('0x74')](_0x320121)){_0xa02da2[_0x6cb0('0x7f')](_0x2eb430);_0x143042[_0x6cb0('0x76')]('t.id\x20IN\x20?',_0x320121);}BPromise[_0x6cb0('0x8e')]()['then'](function(){if(!_0x187d04){if(_0xb85d84[_0x6cb0('0x3b')]['WhatsappAccountId'])return;_0x143042[_0x6cb0('0x76')]('i.WhatsappAccountId\x20IS\x20NOT\x20NULL');_0xa02da2[_0x6cb0('0x76')](_0x6cb0('0x8f'));return;}if(_0xb85d84[_0x6cb0('0x90')][_0x6cb0('0x91')]!==_0x6cb0('0x92'))return;return _0xb85d84['user']['getWhatsappAccounts']({'attributes':['id'],'raw':!![]})[_0x6cb0('0x2a')](function(_0x1b4faa){if(_[_0x6cb0('0x74')](_0x1b4faa)){_0x143042[_0x6cb0('0x76')](_0x6cb0('0x93'));_0xa02da2[_0x6cb0('0x76')](_0x6cb0('0x93'));}else{_0x143042[_0x6cb0('0x76')]('i.WhatsappAccountId\x20IN\x20?',_[_0x6cb0('0x36')](_0x1b4faa,'id'));_0xa02da2['where']('i.WhatsappAccountId\x20IN\x20?',_['map'](_0x1b4faa,'id'));}});})[_0x6cb0('0x2a')](function(){if(_0xb85d84[_0x6cb0('0x90')][_0x6cb0('0x91')]===_0x6cb0('0x92')&&!_0x187d04&&!_0xb85d84['query'][_0x6cb0('0x75')])return[];return db['sequelize'][_0x6cb0('0x3b')](_0x143042['toString'](),_0x108f5a);})[_0x6cb0('0x2a')](function(_0x248aaf){_0xb68de7[_0x6cb0('0x94')]=_0x248aaf['length'];if(_0xb68de7[_0x6cb0('0x94')]===0x0)return[];return db[_0x6cb0('0x95')]['query'](_0x3308f1[_0x6cb0('0x96')](),_0x108f5a)['then'](function(_0x2bf232){_0x25f805=_['keyBy'](_0x2bf232,'id');_0x108f5a=_['merge'](_0x108f5a,{'model':db[_0x6cb0('0x97')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0xb85d84[_0x6cb0('0x3b')][_0x6cb0('0x3f')]){_0xd8bf6c[_0x6cb0('0x40')][_0x6cb0('0x6e')](function(_0xb5d208){_0xa02da2[_0x6cb0('0x47')]('i.'+_0xb5d208);});}else{_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0x8d'),_0x6cb0('0x5f'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0x98'),_0x6cb0('0x99'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0x9a'),_0x6cb0('0x9b'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0x9c'),_0x6cb0('0x9d'));_0xa02da2['field'](_0x6cb0('0x9e'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0x9f'),_0x6cb0('0xa0'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0xa1'),_0x6cb0('0xa2'));_0xa02da2['field']('c.email','Contact.email');_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0xa3'),_0x6cb0('0xa4'));_0xa02da2[_0x6cb0('0x47')]('c.mobile','Contact.mobile');_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0xa5'),'Contact.fax');_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0xa6'),_0x6cb0('0xa7'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0xa8'),_0x6cb0('0xa9'));_0xa02da2[_0x6cb0('0x47')](_0x6cb0('0xaa'),_0x6cb0('0x30'));}if(_0xd8bf6c[_0x6cb0('0x23')])_0xa02da2[_0x6cb0('0x23')](_0xd8bf6c[_0x6cb0('0x23')]);if(_0xd8bf6c[_0x6cb0('0x21')])_0xa02da2['offset'](_0xd8bf6c[_0x6cb0('0x21')]);return db[_0x6cb0('0x95')]['query'](_0xa02da2[_0x6cb0('0x96')](),_0x108f5a);})['then'](function(_0x5840f0){if(_0x5840f0[_0x6cb0('0x41')]>0x0)_0x4a7886[_0x6cb0('0x76')](_0x6cb0('0xab'),_[_0x6cb0('0x36')](_0x5840f0,'id'));return db[_0x6cb0('0x95')]['query'](_0x4a7886[_0x6cb0('0x96')](),_0x108f5a)[_0x6cb0('0x2a')](function(_0x5188a2){var _0x3b7155=_[_0x6cb0('0xac')](_0x5188a2,_0x6cb0('0xad'));var _0x9e7064=[];_0x5840f0[_0x6cb0('0x6e')](function(_0x4e12ee){_0x9e7064['push'](updateWhatsappInteraction(_0x4e12ee,_0x25f805,_0x3b7155));});return BPromise[_0x6cb0('0xae')](_0x9e7064);});});})['then'](function(_0x32fb38){_0xb68de7[_0x6cb0('0xaf')]=_0x32fb38;return _0xb68de7;})[_0x6cb0('0x2a')](respondWithFilteredResult(_0x26f2e8,_0xd8bf6c))[_0x6cb0('0x34')](handleError(_0x26f2e8,null));};exports[_0x6cb0('0xb0')]=function(_0x21f67f,_0x54e016){var _0x51b0f6={'raw':![],'where':{'id':_0x21f67f['params']['id']}},_0x5ae121={};_0x5ae121[_0x6cb0('0x3a')]=_[_0x6cb0('0x3c')](db['WhatsappInteraction']['rawAttributes']);_0x5ae121['query']=_[_0x6cb0('0x3c')](_0x21f67f[_0x6cb0('0x3b')]);_0x5ae121[_0x6cb0('0x3d')]=_[_0x6cb0('0x3e')](_0x5ae121[_0x6cb0('0x3a')],_0x5ae121[_0x6cb0('0x3b')]);_0x51b0f6[_0x6cb0('0x40')]=_[_0x6cb0('0x3e')](_0x5ae121[_0x6cb0('0x3a')],qs['fields'](_0x21f67f[_0x6cb0('0x3b')][_0x6cb0('0x3f')]));_0x51b0f6['attributes']=_0x51b0f6[_0x6cb0('0x40')][_0x6cb0('0x41')]?_0x51b0f6[_0x6cb0('0x40')]:_0x5ae121[_0x6cb0('0x3a')];if(_0x21f67f[_0x6cb0('0x3b')][_0x6cb0('0xb1')]){_0x51b0f6['include']=[{'all':!![]}];}_0x51b0f6=_[_0x6cb0('0xb2')]({},_0x51b0f6,_0x21f67f['options']);return db[_0x6cb0('0x97')][_0x6cb0('0x5e')](_0x51b0f6)[_0x6cb0('0x2a')](handleEntityNotFound(_0x54e016,null))[_0x6cb0('0x2a')](respondWithResult(_0x54e016,null))[_0x6cb0('0x34')](handleError(_0x54e016,null));};exports['create']=function(_0x315c58,_0x150b28){return db[_0x6cb0('0x97')][_0x6cb0('0xb3')](_0x315c58[_0x6cb0('0xb4')],{})[_0x6cb0('0x2a')](respondWithResult(_0x150b28,0xc9))[_0x6cb0('0x34')](handleError(_0x150b28,null));};exports[_0x6cb0('0x28')]=function(_0x4c9342,_0x3cfcf7){if(_0x4c9342[_0x6cb0('0xb4')]['id']){delete _0x4c9342[_0x6cb0('0xb4')]['id'];}return db['WhatsappInteraction'][_0x6cb0('0x5e')]({'where':{'id':_0x4c9342[_0x6cb0('0xb5')]['id']}})[_0x6cb0('0x2a')](handleEntityNotFound(_0x3cfcf7,null))[_0x6cb0('0x2a')](saveUpdates(_0x4c9342[_0x6cb0('0xb4')],null))[_0x6cb0('0x2a')](respondWithResult(_0x3cfcf7,null))[_0x6cb0('0x34')](handleError(_0x3cfcf7,null));};exports['destroy']=function(_0x520313,_0x48c16e){return db['WhatsappInteraction'][_0x6cb0('0x5e')]({'where':{'id':_0x520313['params']['id']}})[_0x6cb0('0x2a')](handleEntityNotFound(_0x48c16e,null))[_0x6cb0('0x2a')](removeEntity(_0x48c16e,null))[_0x6cb0('0x34')](handleError(_0x48c16e,null));};exports['describe']=function(_0x3400d9,_0xbf9857){return db[_0x6cb0('0x97')][_0x6cb0('0xb6')]()[_0x6cb0('0x2a')](respondWithResult(_0xbf9857,null))[_0x6cb0('0x34')](handleError(_0xbf9857,null));};exports[_0x6cb0('0xb7')]=function(_0x37a4c1,_0x46152e,_0x1dd3f1){return db[_0x6cb0('0xb8')][_0x6cb0('0x5e')]({'where':{'id':_0x37a4c1[_0x6cb0('0xb5')]['id']}})[_0x6cb0('0x2a')](handleEntityNotFound(_0x46152e,null))[_0x6cb0('0x2a')](function(_0x3745b4){if(_0x3745b4){return _0x3745b4[_0x6cb0('0xb7')](_0x37a4c1[_0x6cb0('0xb4')]['ids'],_[_0x6cb0('0xb9')](_0x37a4c1['body'],[_0x6cb0('0xba'),'id'])||{});}})['then'](respondWithResult(_0x46152e,null))[_0x6cb0('0x34')](handleError(_0x46152e,null));};exports['getMessages']=function(_0x177c0e,_0x531699,_0x445743){var _0x3552e9={'raw':![],'where':{}};var _0x1a1c44={};var _0x2f4624={'count':0x0,'rows':[]};return db[_0x6cb0('0x97')][_0x6cb0('0xbb')]({'where':{'id':_0x177c0e[_0x6cb0('0xb5')]['id']}})['then'](handleEntityNotFound(_0x531699,null))[_0x6cb0('0x2a')](function(_0x510af5){if(_0x510af5){_0x1a1c44[_0x6cb0('0x3a')]=_[_0x6cb0('0x3c')](db[_0x6cb0('0xb8')][_0x6cb0('0xbc')]);_0x1a1c44[_0x6cb0('0x3b')]=_[_0x6cb0('0x3c')](_0x177c0e[_0x6cb0('0x3b')]);_0x1a1c44[_0x6cb0('0x3d')]=_['intersection'](_0x1a1c44['model'],_0x1a1c44[_0x6cb0('0x3b')]);_0x3552e9[_0x6cb0('0x40')]=_[_0x6cb0('0x3e')](_0x1a1c44[_0x6cb0('0x3a')],qs['fields'](_0x177c0e['query']['fields']));_0x3552e9[_0x6cb0('0x40')]=_0x3552e9[_0x6cb0('0x40')][_0x6cb0('0x41')]?_0x3552e9['attributes']:_0x1a1c44[_0x6cb0('0x3a')];if(!_0x177c0e[_0x6cb0('0x3b')][_0x6cb0('0x42')](_0x6cb0('0x43'))){_0x3552e9[_0x6cb0('0x23')]=qs['limit'](_0x177c0e[_0x6cb0('0x3b')][_0x6cb0('0x23')]);_0x3552e9[_0x6cb0('0x21')]=qs['offset'](_0x177c0e['query'][_0x6cb0('0x21')]);}_0x3552e9['order']=qs['sort'](_0x177c0e[_0x6cb0('0x3b')]['sort']);_0x3552e9[_0x6cb0('0x76')]=qs[_0x6cb0('0x3d')](_[_0x6cb0('0xbd')](_0x177c0e['query'],_0x1a1c44[_0x6cb0('0x3d')]));_0x3552e9[_0x6cb0('0x76')][_0x6cb0('0xad')]=_0x510af5['id'];if(_0x177c0e[_0x6cb0('0x3b')]['filter']){_0x3552e9[_0x6cb0('0x76')]=_['merge'](_0x3552e9['where'],{'$or':_['map'](_0x3552e9[_0x6cb0('0x40')],function(_0x3678b5){var _0x2e7c4f={};_0x2e7c4f[_0x3678b5]={'$like':'%'+_0x177c0e[_0x6cb0('0x3b')]['filter']+'%'};return _0x2e7c4f;})});}if(_0x177c0e[_0x6cb0('0x3b')][_0x6cb0('0x7a')]){var _0x184f87=_0x177c0e['query'][_0x6cb0('0x7a')][_0x6cb0('0x31')](',');var _0x1bc4fb={};_0x1bc4fb[_0x184f87[0x0]]={'$gte':moment(_0x184f87[0x1])[_0x6cb0('0xbe')](_0x6cb0('0xbf'))};_0x3552e9[_0x6cb0('0x76')]=_[_0x6cb0('0xb2')](_0x3552e9[_0x6cb0('0x76')],_0x1bc4fb);}_0x3552e9=_[_0x6cb0('0xb2')]({},_0x3552e9,_0x177c0e['options']);return db[_0x6cb0('0xb8')][_0x6cb0('0x94')]({'where':_0x3552e9[_0x6cb0('0x76')]})[_0x6cb0('0x2a')](function(_0x51fabc){_0x2f4624['count']=_0x51fabc;if(_0x177c0e[_0x6cb0('0x3b')]['includeAll']){_0x3552e9[_0x6cb0('0xc0')]=[{'all':!![]}];}return db[_0x6cb0('0xb8')][_0x6cb0('0xc1')](_0x3552e9);})[_0x6cb0('0x2a')](function(_0x44ec5c){_0x2f4624[_0x6cb0('0xaf')]=_0x44ec5c;return _0x2f4624;});}})[_0x6cb0('0x2a')](respondWithFilteredResult(_0x531699,_0x3552e9))[_0x6cb0('0x34')](handleError(_0x531699,null));};exports[_0x6cb0('0xc2')]=function(_0x1f3322,_0x4b3b3c,_0xa34544){return db[_0x6cb0('0x97')][_0x6cb0('0x5e')]({'where':{'id':_0x1f3322[_0x6cb0('0xb5')]['id']}})[_0x6cb0('0x2a')](handleEntityNotFound(_0x4b3b3c,null))['then'](function(_0x489f25){if(_0x489f25){return _0x489f25['setTags'](_0x1f3322[_0x6cb0('0xb4')][_0x6cb0('0xba')],_[_0x6cb0('0xb9')](_0x1f3322[_0x6cb0('0xb4')],['ids','id'])||{})['spread'](function(){return db['Tag'][_0x6cb0('0xc1')]({'attributes':['id',_0x6cb0('0x2c'),_0x6cb0('0x48')],'where':{'id':_0x1f3322[_0x6cb0('0xb4')][_0x6cb0('0xba')]}});})['then'](function(_0xd13582){socket[_0x6cb0('0xc3')](_0x6cb0('0xc4'),{'id':Number(_0x1f3322['params']['id']),'tags':_0xd13582||[]});return{'id':Number(_0x1f3322[_0x6cb0('0xb5')]['id']),'tags':_0xd13582||[]};});}})[_0x6cb0('0x2a')](respondWithResult(_0x4b3b3c,null))[_0x6cb0('0x34')](handleError(_0x4b3b3c,null));};exports['removeTags']=function(_0x559be2,_0x3f1b4d,_0x5a96f2){return db[_0x6cb0('0x97')][_0x6cb0('0x5e')]({'where':{'id':_0x559be2[_0x6cb0('0xb5')]['id']}})['then'](handleEntityNotFound(_0x3f1b4d,null))['then'](function(_0x23f1c9){if(_0x23f1c9){return _0x23f1c9[_0x6cb0('0xc5')](_0x559be2[_0x6cb0('0x3b')][_0x6cb0('0xba')]);}})[_0x6cb0('0x2a')](respondWithStatusCode(_0x3f1b4d,null))[_0x6cb0('0x34')](handleError(_0x3f1b4d,null));};exports['download']=function(_0x1cb579,_0x168d38){var _0x3b189d=moment()['unix']()[_0x6cb0('0x96')]();var _0x512887=path[_0x6cb0('0xc6')](config[_0x6cb0('0xc7')],_0x6cb0('0xc8'),_0x6cb0('0xc9'),_0x6cb0('0xca'));var _0x52df18=path['join'](config['root'],_0x6cb0('0xc8'),'files',_0x6cb0('0xcb'));var _0x4a9caf=path[_0x6cb0('0xc6')](_0x512887,_0x3b189d);var _0x252517=util[_0x6cb0('0xbe')]('transcript-%d-%s.zip',_0x1cb579[_0x6cb0('0xb5')]['id'],_0x3b189d);var _0x47bb69=path[_0x6cb0('0xc6')](_0x512887,_0x252517);var _0x46318f=[];_0x46318f[_0x6cb0('0x33')]({'model':db[_0x6cb0('0xcc')],'as':_0x6cb0('0xcc'),'attributes':['id',_0x6cb0('0x2f')],'raw':!![]});_0x46318f[_0x6cb0('0x33')]({'model':db[_0x6cb0('0xcd')],'as':_0x6cb0('0x62'),'attributes':['id','firstName',_0x6cb0('0xce')],'raw':!![]});if(_0x1cb579[_0x6cb0('0x3b')][_0x6cb0('0xcb')]){_0x46318f[_0x6cb0('0x33')]({'model':db[_0x6cb0('0xcf')],'as':'Attachment','raw':!![]});}var _0x5bed3e=[{'model':db[_0x6cb0('0xb8')],'as':_0x6cb0('0xd0'),'attributes':['id','body','createdAt',_0x6cb0('0xd1'),'secret',_0x6cb0('0x7e')],'include':_0x46318f}];_0x5bed3e[_0x6cb0('0x33')]({'model':db[_0x6cb0('0xd2')],'as':'Account','attributes':['id',_0x6cb0('0x2c')]});_0x5bed3e['push']({'model':db[_0x6cb0('0xcc')],'as':'Owner','attributes':['id',_0x6cb0('0x2f')]});return db['WhatsappInteraction']['find']({'where':{'id':_0x1cb579[_0x6cb0('0xb5')]['id']},'include':_0x5bed3e})[_0x6cb0('0x2a')](handleEntityNotFound(_0x168d38,null))[_0x6cb0('0x2a')](function(_0x3e49e5){if(_0x3e49e5){var _0x4f5e07=_0x3e49e5[_0x6cb0('0xd3')]({'plain':!![]});fs[_0x6cb0('0xd4')](_0x4a9caf);var _0x160da5={'channel':_0x6cb0('0xd5'),'account':_0x4f5e07[_0x6cb0('0xd6')][_0x6cb0('0x2c')],'agent':_0x4f5e07['Owner']?_0x4f5e07[_0x6cb0('0xd7')][_0x6cb0('0x2f')]:_0x6cb0('0xd8'),'createdAt':moment(_0x4f5e07['createdAt'])['format'](_0x6cb0('0xbf'))[_0x6cb0('0x96')](),'closedAt':_0x4f5e07[_0x6cb0('0xd9')]?moment(_0x4f5e07[_0x6cb0('0xda')])[_0x6cb0('0xbe')](_0x6cb0('0xbf'))[_0x6cb0('0x96')]():'','disposition':_0x4f5e07[_0x6cb0('0xdb')],'messages':_(_0x4f5e07[_0x6cb0('0xd0')])[_0x6cb0('0x83')]({'secret':![]})[_0x6cb0('0x36')](function(_0x38031d){if(_0x38031d['Attachment']){var _0x5d6858=path[_0x6cb0('0xc6')](_0x52df18,_0x38031d['Attachment'][_0x6cb0('0xdc')]);if(fs[_0x6cb0('0xdd')](_0x5d6858)){fs[_0x6cb0('0xde')](_0x5d6858)[_0x6cb0('0xdf')](fs['createWriteStream'](path[_0x6cb0('0xc6')](_0x4a9caf,_0x38031d[_0x6cb0('0xcf')][_0x6cb0('0xdc')])));}}return{'date':moment(_0x38031d[_0x6cb0('0x78')])[_0x6cb0('0xbe')](_0x6cb0('0xbf'))[_0x6cb0('0x96')](),'sender':_0x38031d[_0x6cb0('0xd1')]===_0x6cb0('0xe0')?_0x38031d[_0x6cb0('0xcc')]?_0x38031d[_0x6cb0('0xcc')]['fullname']:_0x6cb0('0xe1'):_0x38031d['Contact'][_0x6cb0('0xe2')]+(_0x38031d['Contact']['lastName']?'\x20'+_0x38031d[_0x6cb0('0x62')][_0x6cb0('0xce')]:''),'body':_0x38031d[_0x6cb0('0xcf')]?_0x38031d[_0x6cb0('0xcf')][_0x6cb0('0xdc')]:_0x38031d['body'],'direction':_0x38031d['direction']===_0x6cb0('0xe0')?'A':'C','secret':_0x38031d['secret'],'read':_0x38031d[_0x6cb0('0x7e')],'attachment':_0x38031d['Attachment']};})[_0x6cb0('0x65')]()};return ejs[_0x6cb0('0xe3')](path[_0x6cb0('0xc6')](config[_0x6cb0('0xc7')],'server','views',_0x6cb0('0xe4')),{'interaction':_0x160da5})[_0x6cb0('0x2a')](function(_0x278ea0){var _0x155d00=path['join'](_0x4a9caf,_0x6cb0('0xe5')+_0x4f5e07['id']+'-'+_0x3b189d+_0x6cb0('0xe6'));var _0x3976bc={'path':_0x155d00,'channel':_0x6cb0('0xd5'),'interactionId':_0x4f5e07['id']};return pdf['createPdfFromHTML'](_0x278ea0,_0x3976bc);})[_0x6cb0('0x2a')](function(){return new BPromise(function(_0x5f9210,_0x2d773c){zipdir(_0x4a9caf,{'saveTo':_0x47bb69},function(_0x3e3d1a,_0x319043){if(_0x3e3d1a)return _0x2d773c(_0x3e3d1a);return _0x5f9210(_0x319043);});})[_0x6cb0('0x2a')](function(){return new BPromise(function(_0x36e99e,_0x4f4795){rimraf(_0x4a9caf,function(_0x3a54de){if(_0x3a54de)_0x4f4795(_0x3a54de);return _0x36e99e();});});})[_0x6cb0('0x2a')](function(){return _0x168d38['download'](_0x47bb69,_0x252517,function(_0x5d8985){if(_0x5d8985){console[_0x6cb0('0xe7')]('err',_0x5d8985);}else{fs[_0x6cb0('0xe8')](_0x47bb69);}});});});}else{return _0x168d38['sendStatus'](0xc8);}})['catch'](handleError(_0x168d38,null));};