2dfa1ca2d022a4c90248e2d5304500c820693ebf
[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 _0x3646=['MATCH\x20(me.body)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','CONCAT(c.firstName,\x20\x27\x20\x27,\x20c.lastName)\x20LIKE\x20?','group','i.id','Sequelize','QueryTypes','SELECT','clone','SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','order','contactName','t.id\x20IN\x20?','resolve','i.WhatsappAccountId\x20IS\x20NOT\x20NULL','user','agent','getWhatsappAccounts','isEmpty','i.WhatsappAccountId\x20IS\x20NULL','i.WhatsappAccountId\x20IN\x20?','role','sequelize','keyBy','fields','a.key','a.mandatoryDisposition','Account.mandatoryDisposition','i.*','c.firstName','Contact.firstName','Contact.lastName','c.email','Contact.phone','c.mobile','Contact.mobile','c.fax','Contact.fax','o.fullname','Owner.fullname','o.internal','Owner.internal','GROUP_CONCAT(DISTINCT\x20t.id)','toString','show','options','catch','create','update','params','destroy','describe','addMessage','WhatsappMessage','omit','ids','getMessages','findOne','nolimit','WhatsappInteractionId','$gte','format','YYYY-MM-DD\x20HH:mm:ss','includeAll','include','findAll','addTags','setTags','spread','emit','whatsappInteractionTags:save','removeTags','download','root','server','files','join','attachments','push','CmContact','firstName','lastName','Attachment','Messages','direction','WhatsappAccount','Account','Owner','N.A.','closed','closedAt','disposition','createReadStream','pipe','createWriteStream','basename','System','out','secret','renderFile','views','downloadInteraction.html','transcript-','.pdf','Whatsapp','createPdfFromHTML','log','err','unlinkSync','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../components/export/pdf','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','error','name','send','render','merge','body','contact','message','interaction','account','Users','map','fullname','TagIds','Tags','split','WhatsappInteraction','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','hasOwnProperty','sort','where','pick','select','field','color','tools_tags','from','user_has_whatsapp_interactions','left_join','users','u.id\x20=\x20ui.UserId','whatsapp_interactions','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','parseSearch','conditions','length','unreadMessages','value','having','`\x20>\x200','Contact','operator','$substring','MATCH\x20(c.firstName,\x20c.lastName,\x20c.phone,\x20c.mobile,\x20c.fax,\x20c.email)\x20AGAINST\x20(?\x20IN\x20BOOLEAN\x20MODE)','getFullTextValue','find','ContactId','text','start','Tag','forEach','union','User','UserId','buildExpression','keys','some','WhatsappAccountId','concat','createdAt','parse','i.createdAt\x20BETWEEN\x20?\x20AND\x20?','\x20IS\x20NULL','\x20=\x20?','read','`unreadMessages`\x20=\x200','tag','isArray','CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','filter','replace','isNumeric','i.id\x20LIKE\x20?','i.phone\x20LIKE\x20?'];(function(_0x5b644e,_0x2e5e07){var _0x49c6bf=function(_0x3032d9){while(--_0x3032d9){_0x5b644e['push'](_0x5b644e['shift']());}};_0x49c6bf(++_0x2e5e07);}(_0x3646,0x15f));var _0x6364=function(_0x5c5694,_0x2bfb73){_0x5c5694=_0x5c5694-0x0;var _0x5c64ee=_0x3646[_0x5c5694];return _0x5c64ee;};'use strict';var emlformat=require(_0x6364('0x0'));var rimraf=require(_0x6364('0x1'));var zipdir=require(_0x6364('0x2'));var jsonpatch=require(_0x6364('0x3'));var rp=require('request-promise');var moment=require(_0x6364('0x4'));var BPromise=require(_0x6364('0x5'));var Mustache=require(_0x6364('0x6'));var util=require(_0x6364('0x7'));var path=require(_0x6364('0x8'));var sox=require(_0x6364('0x9'));var csv=require(_0x6364('0xa'));var ejs=require(_0x6364('0xb'));var fs=require('fs');var fs_extra=require(_0x6364('0xc'));var _=require(_0x6364('0xd'));var squel=require(_0x6364('0xe'));var crypto=require('crypto');var jsforce=require(_0x6364('0xf'));var deskjs=require(_0x6364('0x10'));var toCsv=require(_0x6364('0xa'));var querystring=require(_0x6364('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x6364('0x12'));var as=require(_0x6364('0x13'));var pdf=require(_0x6364('0x14'));var hardwareService=require(_0x6364('0x15'));var logger=require(_0x6364('0x16'))(_0x6364('0x17'));var utils=require(_0x6364('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x6364('0x19'));var db=require(_0x6364('0x1a'))['db'];config[_0x6364('0x1b')]=_['defaults'](config[_0x6364('0x1b')],{'host':_0x6364('0x1c'),'port':0x18eb});var socket=require(_0x6364('0x1d'))(new Redis(config[_0x6364('0x1b')]));require('./whatsappInteraction.socket')[_0x6364('0x1e')](socket);function respondWithStatusCode(_0x5c4beb,_0x24bf33){_0x24bf33=_0x24bf33||0xcc;return function(_0x22c9ad){if(_0x22c9ad){return _0x5c4beb[_0x6364('0x1f')](_0x24bf33);}return _0x5c4beb['status'](_0x24bf33)[_0x6364('0x20')]();};}function respondWithResult(_0x7a9076,_0x2a017f){_0x2a017f=_0x2a017f||0xc8;return function(_0x363fd7){if(_0x363fd7){return _0x7a9076[_0x6364('0x21')](_0x2a017f)[_0x6364('0x22')](_0x363fd7);}};}function respondWithFilteredResult(_0x22e341,_0x4c9c0a){return function(_0xfb0fbb){if(_0xfb0fbb){var _0x52a942=typeof _0x4c9c0a[_0x6364('0x23')]===_0x6364('0x24')&&typeof _0x4c9c0a[_0x6364('0x25')]===_0x6364('0x24');var _0x16c7ce=_0xfb0fbb['count'];var _0x8013c7=_0x52a942?0x0:_0x4c9c0a[_0x6364('0x23')];var _0x5f42fb=_0x52a942?_0xfb0fbb[_0x6364('0x26')]:_0x4c9c0a['offset']+_0x4c9c0a[_0x6364('0x25')];var _0x34ece6;if(_0x5f42fb>=_0x16c7ce){_0x5f42fb=_0x16c7ce;_0x34ece6=0xc8;}else{_0x34ece6=0xce;}_0x22e341[_0x6364('0x21')](_0x34ece6);return _0x22e341[_0x6364('0x27')](_0x6364('0x28'),_0x8013c7+'-'+_0x5f42fb+'/'+_0x16c7ce)[_0x6364('0x22')](_0xfb0fbb);}return null;};}function patchUpdates(_0x30f1ed){return function(_0x5c52d5){try{jsonpatch[_0x6364('0x29')](_0x5c52d5,_0x30f1ed,!![]);}catch(_0x4c425f){return BPromise[_0x6364('0x2a')](_0x4c425f);}return _0x5c52d5[_0x6364('0x2b')]();};}function saveUpdates(_0x374c01,_0x4a1e6c){return function(_0x1baf99){if(_0x1baf99){return _0x1baf99['update'](_0x374c01)[_0x6364('0x2c')](function(_0x2115d8){return _0x2115d8;});}return null;};}function removeEntity(_0x4028d8,_0x5173f3){return function(_0x1d9530){if(_0x1d9530){return _0x1d9530['destroy']()[_0x6364('0x2c')](function(){_0x4028d8['status'](0xcc)[_0x6364('0x20')]();});}};}function handleEntityNotFound(_0x54fc0e,_0x47581a){return function(_0x1f5a9f){if(!_0x1f5a9f){_0x54fc0e[_0x6364('0x1f')](0x194);}return _0x1f5a9f;};}function handleError(_0x5075b8,_0xd879a7){_0xd879a7=_0xd879a7||0x1f4;return function(_0x1e40ff){logger[_0x6364('0x2d')](_0x1e40ff['stack']);if(_0x1e40ff[_0x6364('0x2e')]){delete _0x1e40ff[_0x6364('0x2e')];}_0x5075b8['status'](_0xd879a7)[_0x6364('0x2f')](_0x1e40ff);};}function getMustacheRender(_0x34b612,_0x2f9c58){return Mustache[_0x6364('0x30')](_0x34b612,_[_0x6364('0x31')](_0x2f9c58[_0x6364('0x32')],{'contact':_0x2f9c58[_0x6364('0x33')],'message':_0x2f9c58[_0x6364('0x34')],'agent':_0x2f9c58['agent'],'interaction':_0x2f9c58[_0x6364('0x35')],'account':_0x2f9c58[_0x6364('0x36')]}))||'';}function getInteractionUsers(_0x1cf784,_0x19f3b3){return new BPromise(function(_0x5655ef,_0x45c3f7){try{if(_0x19f3b3[_0x1cf784['id']]){_0x1cf784[_0x6364('0x37')]=_[_0x6364('0x38')](_0x19f3b3[_0x1cf784['id']],function(_0x3aef91){return{'id':_0x3aef91['id'],'fullname':_0x3aef91[_0x6364('0x39')]};});}}catch(_0xf77734){_0x45c3f7(_0xf77734);}_0x5655ef(_0x1cf784);});}function getInteractionTags(_0xa612ba,_0x5753bf){return new BPromise(function(_0x3064e5,_0x3673ef){try{if(_0xa612ba[_0x6364('0x3a')]){_0xa612ba[_0x6364('0x3b')]=[];_0xa612ba[_0x6364('0x3a')][_0x6364('0x3c')](',')['forEach'](function(_0x1c3605){_0xa612ba[_0x6364('0x3b')]['push'](_0x5753bf[_0x1c3605]);});}delete _0xa612ba[_0x6364('0x3a')];}catch(_0x54b09d){_0x3673ef(_0x54b09d);}_0x3064e5(_0xa612ba);});}function updateWhatsappInteraction(_0x6ad014,_0x4d8a23,_0x1e77ab){return new BPromise(function(_0x3047b9,_0x19292d){return getInteractionUsers(_0x6ad014,_0x1e77ab)[_0x6364('0x2c')](function(_0x5e45d7){return getInteractionTags(_0x5e45d7,_0x4d8a23);})['then'](function(_0x5046b2){_0x3047b9(_0x5046b2);})['catch'](function(_0x50c17b){_0x19292d(_0x50c17b);});});}exports['index']=function(_0x2dd785,_0x784b32){var _0x20f551={},_0x484f54={},_0x5cd36d={'count':0x0,'rows':[]};var _0x58dc80=_[_0x6364('0x38')](db[_0x6364('0x3d')][_0x6364('0x3e')],function(_0xfc6934){return{'name':_0xfc6934[_0x6364('0x3f')],'type':_0xfc6934[_0x6364('0x40')]['key']};});_0x484f54[_0x6364('0x41')]=_['map'](_0x58dc80,_0x6364('0x2e'));_0x484f54[_0x6364('0x42')]=_['keys'](_0x2dd785[_0x6364('0x42')]);_0x484f54[_0x6364('0x43')]=_[_0x6364('0x44')](_0x484f54[_0x6364('0x41')],_0x484f54['query']);_0x20f551[_0x6364('0x45')]=_[_0x6364('0x44')](_0x484f54[_0x6364('0x41')],qs['fields'](_0x2dd785['query']['fields']));_0x20f551['attributes']=_0x20f551[_0x6364('0x45')]['length']?_0x20f551[_0x6364('0x45')]:_0x484f54[_0x6364('0x41')];if(!_0x2dd785[_0x6364('0x42')][_0x6364('0x46')]('nolimit')){_0x20f551['limit']=qs[_0x6364('0x25')](_0x2dd785[_0x6364('0x42')][_0x6364('0x25')]);_0x20f551[_0x6364('0x23')]=qs['offset'](_0x2dd785[_0x6364('0x42')]['offset']);}_0x20f551['order']=qs['sort'](_0x2dd785[_0x6364('0x42')][_0x6364('0x47')]);_0x20f551[_0x6364('0x48')]=qs[_0x6364('0x43')](_[_0x6364('0x49')](_0x2dd785[_0x6364('0x42')],_0x484f54[_0x6364('0x43')]),_0x58dc80);var _0x1d6bed=[];var _0x161371=squel[_0x6364('0x4a')]()['field']('id')['field'](_0x6364('0x2e'))[_0x6364('0x4b')](_0x6364('0x4c'))['from'](_0x6364('0x4d'));var _0x3fd05b=squel['select']()[_0x6364('0x4b')]('u.id')[_0x6364('0x4b')]('u.fullname')['field']('ui.WhatsappInteractionId')[_0x6364('0x4e')](_0x6364('0x4f'),'ui')[_0x6364('0x50')](_0x6364('0x51'),'u',_0x6364('0x52'));var _0x5aa0d1=squel[_0x6364('0x4a')]()[_0x6364('0x4e')](_0x6364('0x53'),'i')[_0x6364('0x50')](_0x6364('0x54'),'c',_0x6364('0x55'))['left_join']('users','o',_0x6364('0x56'))[_0x6364('0x50')](_0x6364('0x57'),'a',_0x6364('0x58'))[_0x6364('0x50')](_0x6364('0x59'),'me','me.WhatsappInteractionId\x20=\x20i.id')[_0x6364('0x50')]('whatsapp_interaction_has_tags','it',_0x6364('0x5a'))['left_join'](_0x6364('0x4d'),'t',_0x6364('0x5b'));var _0x4e547d=squel[_0x6364('0x5c')]();var _0x439a4c=[];var _0x3a8ecc=squel[_0x6364('0x5c')]();var _0xa8e146;if(_0x2dd785[_0x6364('0x42')][_0x6364('0x5d')]){_0xa8e146=as[_0x6364('0x5e')](_0x2dd785[_0x6364('0x42')][_0x6364('0x5d')]);var _0x31c43d=_0xa8e146['sqlOperator'];for(var _0x3e0e2e=0x0;_0x3e0e2e<_0xa8e146[_0x6364('0x5f')][_0x6364('0x60')];_0x3e0e2e++){var _0x457c1b=_0xa8e146[_0x6364('0x5f')][_0x3e0e2e];var _0x2eee5a='i';var _0x979050=_['find'](_0x58dc80,[_0x6364('0x2e'),_0x457c1b[_0x6364('0x4b')]]);if(!_0x979050){switch(_0x457c1b[_0x6364('0x4b')]){case _0x6364('0x61'):if(_0x457c1b[_0x6364('0x62')]==0x1){_0x5aa0d1['having']('`'+_0x457c1b[_0x6364('0x4b')]+'`\x20=\x200');}else{_0x5aa0d1[_0x6364('0x63')]('`'+_0x457c1b['field']+_0x6364('0x64'));}break;case _0x6364('0x65'):if(_0x457c1b[_0x6364('0x66')]===_0x6364('0x67')){if(_0x457c1b['value']['split']('\x20')['length']>0x1){_0x4e547d[_0x31c43d](_0x6364('0x68'),qs[_0x6364('0x69')](_0x457c1b[_0x6364('0x62')]),null);}else{var _0x6d57fb='%'+_0x457c1b['value']+'%';_0x4e547d[_0x31c43d]('c.firstName\x20LIKE\x20?\x20OR\x20c.lastName\x20LIKE\x20?\x20OR\x20c.email\x20LIKE\x20?',_0x6d57fb,_0x6d57fb,_0x6d57fb);}}else{_0x979050=_[_0x6364('0x6a')](_0x58dc80,['name',_0x6364('0x6b')]);_0x457c1b[_0x6364('0x4b')]=_0x6364('0x6b');_0x122a29=as['buildExpression'](_0x2eee5a,_0x979050[_0x6364('0x40')],_0x457c1b);_0x4e547d[_0x31c43d](_0x122a29[_0x6364('0x6c')],_0x122a29['value'][_0x6364('0x6d')],_0x122a29[_0x6364('0x62')]['end']);}break;case _0x6364('0x6e'):var _0x40deec=_0x457c1b[_0x6364('0x62')][_0x6364('0x3c')](',')['map'](function(_0x58e3b7){return Number(_0x58e3b7);});_0x40deec[_0x6364('0x6f')](function(_0x4d34e4){_0x3a8ecc['or']('CONCAT(\x27,\x27,\x20`TagIds`,\x20\x27,\x27)\x20LIKE\x20?','%,'+_0x4d34e4+',%');});_0x439a4c=_[_0x6364('0x70')](_0x439a4c,_0x40deec);break;case _0x6364('0x71'):if(_0x457c1b[_0x6364('0x66')]===_0x6364('0x67')){_0x4e547d[_0x31c43d]('CONCAT_WS(\x27\x20\x27,\x20o.name,\x20o.fullname)\x20LIKE\x20?','%'+_0x457c1b['value']+'%',null);}else{_0x979050=_[_0x6364('0x6a')](_0x58dc80,[_0x6364('0x2e'),'UserId']);_0x457c1b[_0x6364('0x4b')]=_0x6364('0x72');_0x122a29=as['buildExpression'](_0x2eee5a,_0x979050[_0x6364('0x40')],_0x457c1b);_0x4e547d[_0x31c43d](_0x122a29[_0x6364('0x6c')],_0x122a29['value'][_0x6364('0x6d')],_0x122a29['value'][_0x6364('0x20')]);}break;case'body':_0x122a29=as[_0x6364('0x73')]('me',null,_0x457c1b);_0x4e547d[_0x31c43d](_0x122a29[_0x6364('0x6c')],_0x122a29[_0x6364('0x62')]['start'],_0x122a29[_0x6364('0x62')]['end']);break;}}else{var _0x122a29=as[_0x6364('0x73')](_0x2eee5a,_0x979050[_0x6364('0x40')],_0x457c1b);_0x4e547d[_0x31c43d](_0x122a29[_0x6364('0x6c')],_0x122a29[_0x6364('0x62')]['start'],_0x122a29[_0x6364('0x62')][_0x6364('0x20')]);}}}else{var _0x3c7d6b=_(_0x2dd785[_0x6364('0x42')])[_0x6364('0x74')]()[_0x6364('0x38')](function(_0x5d78ad){return _[_0x6364('0x75')](_0x58dc80,[_0x6364('0x2e'),_0x5d78ad])?_0x5d78ad:undefined;})['compact']()[_0x6364('0x62')]();if(!_['isEmpty'](_0x3c7d6b)){_0x3c7d6b[_0x6364('0x6f')](function(_0x25aaa3){if(_0x25aaa3===_0x6364('0x76')){_0x5aa0d1[_0x6364('0x48')]('i.WhatsappAccountId\x20IN\x20?',[][_0x6364('0x77')](_0x2dd785[_0x6364('0x42')][_0x25aaa3]));}else if(_0x25aaa3===_0x6364('0x78')){var _0x3ef11b=JSON[_0x6364('0x79')](_0x2dd785[_0x6364('0x42')][_0x25aaa3])['$gte'];var _0x3e318d=JSON[_0x6364('0x79')](_0x2dd785['query'][_0x25aaa3])['$lte'];_0x5aa0d1[_0x6364('0x48')](_0x6364('0x7a'),_0x3ef11b,_0x3e318d);}else{if(_0x2dd785[_0x6364('0x42')][_0x25aaa3]==='null'){_0x5aa0d1[_0x6364('0x48')]('i.'+_0x25aaa3+_0x6364('0x7b'));}else{_0x5aa0d1[_0x6364('0x48')]('i.'+_0x25aaa3+_0x6364('0x7c'),_0x2dd785[_0x6364('0x42')][_0x25aaa3]);}}});}if(_0x2dd785[_0x6364('0x42')][_0x6364('0x7d')]){if(_0x2dd785[_0x6364('0x42')][_0x6364('0x7d')]==0x1){_0x5aa0d1[_0x6364('0x63')](_0x6364('0x7e'));}else{_0x5aa0d1[_0x6364('0x63')]('`unreadMessages`\x20>\x200');}}if(_0x2dd785['query'][_0x6364('0x7f')]){_0x439a4c=_[_0x6364('0x80')](_0x2dd785[_0x6364('0x42')][_0x6364('0x7f')])?_0x2dd785[_0x6364('0x42')][_0x6364('0x7f')]:new Array(_0x2dd785['query'][_0x6364('0x7f')]);_0x439a4c[_0x6364('0x6f')](function(_0x31d6db){_0x3a8ecc['or'](_0x6364('0x81'),'%,'+_0x31d6db+',%');});}if(_0x2dd785[_0x6364('0x42')]['filter']){var _0xc7d538=_0x2dd785[_0x6364('0x42')][_0x6364('0x82')][_0x6364('0x83')]('\x5c','\x5c\x5c')['replace'](/'/g,'\x27\x27');if(qs[_0x6364('0x84')](_0xc7d538)){_0x4e547d['or'](_0x6364('0x85'),_0xc7d538+'%')['or'](_0x6364('0x86'),_0xc7d538+'%');}else{_0x4e547d['or'](_0x6364('0x87'),qs[_0x6364('0x69')](_0xc7d538))['or'](_0x6364('0x88'),_0xc7d538+'%');}}}_0x5aa0d1[_0x6364('0x48')](_0x4e547d);_0x5aa0d1[_0x6364('0x89')](_0x6364('0x8a'));var _0xa2fda9={'type':db[_0x6364('0x8b')][_0x6364('0x8c')][_0x6364('0x8d')],'raw':!![]};var _0x48ac81=_0x5aa0d1[_0x6364('0x8e')]();_0x48ac81[_0x6364('0x4b')](_0x6364('0x8a'));_0x48ac81[_0x6364('0x4b')](_0x6364('0x8f'),_0x6364('0x61'));if(_0x20f551[_0x6364('0x90')]){_0x20f551[_0x6364('0x90')][_0x6364('0x6f')](function(_0x2bf995){var _0x18fc08=_0x2bf995[0x0]===_0x6364('0x91')?_0x2bf995[0x0]:'i.'+_0x2bf995[0x0];_0x5aa0d1[_0x6364('0x90')](_0x18fc08,_0x2bf995[0x1]==='DESC'?![]:!![]);});}if(!_['isEmpty'](_0x439a4c)){_0x5aa0d1[_0x6364('0x63')](_0x3a8ecc);_0x48ac81[_0x6364('0x48')](_0x6364('0x92'),_0x439a4c);}BPromise[_0x6364('0x93')]()[_0x6364('0x2c')](function(){if(!_0xa8e146){if(_0x2dd785['query'][_0x6364('0x76')])return;_0x48ac81[_0x6364('0x48')](_0x6364('0x94'));_0x5aa0d1[_0x6364('0x48')](_0x6364('0x94'));return;}if(_0x2dd785[_0x6364('0x95')]['role']!==_0x6364('0x96'))return;return _0x2dd785[_0x6364('0x95')][_0x6364('0x97')]({'attributes':['id'],'raw':!![]})['then'](function(_0x451c2e){if(_[_0x6364('0x98')](_0x451c2e)){_0x48ac81[_0x6364('0x48')](_0x6364('0x99'));_0x5aa0d1[_0x6364('0x48')](_0x6364('0x99'));}else{_0x48ac81[_0x6364('0x48')](_0x6364('0x9a'),_[_0x6364('0x38')](_0x451c2e,'id'));_0x5aa0d1['where'](_0x6364('0x9a'),_[_0x6364('0x38')](_0x451c2e,'id'));}});})[_0x6364('0x2c')](function(){if(_0x2dd785['user'][_0x6364('0x9b')]==='agent'&&!_0xa8e146&&!_0x2dd785[_0x6364('0x42')]['WhatsappAccountId'])return[];return db[_0x6364('0x9c')]['query'](_0x48ac81['toString'](),_0xa2fda9);})[_0x6364('0x2c')](function(_0x2181fc){_0x5cd36d[_0x6364('0x26')]=_0x2181fc['length'];if(_0x5cd36d[_0x6364('0x26')]===0x0)return[];return db[_0x6364('0x9c')][_0x6364('0x42')](_0x161371['toString'](),_0xa2fda9)[_0x6364('0x2c')](function(_0x2e76d5){_0x1d6bed=_[_0x6364('0x9d')](_0x2e76d5,'id');_0xa2fda9=_[_0x6364('0x31')](_0xa2fda9,{'model':db[_0x6364('0x3d')],'mapToModel':!![],'raw':!![],'nest':!![]});if(_0x2dd785['query'][_0x6364('0x9e')]){_0x20f551[_0x6364('0x45')][_0x6364('0x6f')](function(_0xd45ad7){_0x5aa0d1['field']('i.'+_0xd45ad7);});}else{_0x5aa0d1['field']('SUM(me.read\x20=\x200\x20AND\x20me.direction\x20=\x20\x27in\x27)','unreadMessages');_0x5aa0d1[_0x6364('0x4b')](_0x6364('0x9f'),'Account.key');_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xa0'),_0x6364('0xa1'));_0x5aa0d1['field']('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',_0x6364('0x91'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xa2'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xa3'),_0x6364('0xa4'));_0x5aa0d1[_0x6364('0x4b')]('c.lastName',_0x6364('0xa5'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xa6'),'Contact.email');_0x5aa0d1[_0x6364('0x4b')]('c.phone',_0x6364('0xa7'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xa8'),_0x6364('0xa9'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xaa'),_0x6364('0xab'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xac'),_0x6364('0xad'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xae'),_0x6364('0xaf'));_0x5aa0d1[_0x6364('0x4b')](_0x6364('0xb0'),_0x6364('0x3a'));}if(_0x20f551['limit'])_0x5aa0d1['limit'](_0x20f551[_0x6364('0x25')]);if(_0x20f551[_0x6364('0x23')])_0x5aa0d1[_0x6364('0x23')](_0x20f551[_0x6364('0x23')]);return db[_0x6364('0x9c')][_0x6364('0x42')](_0x5aa0d1[_0x6364('0xb1')](),_0xa2fda9);})['then'](function(_0x207b29){if(_0x207b29[_0x6364('0x60')]>0x0)_0x3fd05b['where']('ui.WhatsappInteractionId\x20IN\x20?',_[_0x6364('0x38')](_0x207b29,'id'));return db[_0x6364('0x9c')][_0x6364('0x42')](_0x3fd05b[_0x6364('0xb1')](),_0xa2fda9)[_0x6364('0x2c')](function(_0xe7a2bd){var _0x13367f=_['groupBy'](_0xe7a2bd,'WhatsappInteractionId');var _0x46a868=[];_0x207b29['forEach'](function(_0xf1526d){_0x46a868['push'](updateWhatsappInteraction(_0xf1526d,_0x1d6bed,_0x13367f));});return BPromise['all'](_0x46a868);});});})[_0x6364('0x2c')](function(_0x10f20f){_0x5cd36d['rows']=_0x10f20f;return _0x5cd36d;})[_0x6364('0x2c')](respondWithFilteredResult(_0x784b32,_0x20f551))['catch'](handleError(_0x784b32,null));};exports[_0x6364('0xb2')]=function(_0x503d7e,_0x431985){var _0x2d8f68={'raw':![],'where':{'id':_0x503d7e['params']['id']}},_0x45a441={};_0x45a441[_0x6364('0x41')]=_[_0x6364('0x74')](db[_0x6364('0x3d')][_0x6364('0x3e')]);_0x45a441[_0x6364('0x42')]=_[_0x6364('0x74')](_0x503d7e[_0x6364('0x42')]);_0x45a441[_0x6364('0x43')]=_[_0x6364('0x44')](_0x45a441[_0x6364('0x41')],_0x45a441[_0x6364('0x42')]);_0x2d8f68['attributes']=_[_0x6364('0x44')](_0x45a441['model'],qs[_0x6364('0x9e')](_0x503d7e['query'][_0x6364('0x9e')]));_0x2d8f68[_0x6364('0x45')]=_0x2d8f68['attributes'][_0x6364('0x60')]?_0x2d8f68[_0x6364('0x45')]:_0x45a441[_0x6364('0x41')];if(_0x503d7e[_0x6364('0x42')]['includeAll']){_0x2d8f68['include']=[{'all':!![]}];}_0x2d8f68=_[_0x6364('0x31')]({},_0x2d8f68,_0x503d7e[_0x6364('0xb3')]);return db[_0x6364('0x3d')][_0x6364('0x6a')](_0x2d8f68)[_0x6364('0x2c')](handleEntityNotFound(_0x431985,null))[_0x6364('0x2c')](respondWithResult(_0x431985,null))[_0x6364('0xb4')](handleError(_0x431985,null));};exports['create']=function(_0x3cc9d4,_0x41f40d){return db[_0x6364('0x3d')][_0x6364('0xb5')](_0x3cc9d4[_0x6364('0x32')],{})[_0x6364('0x2c')](respondWithResult(_0x41f40d,0xc9))[_0x6364('0xb4')](handleError(_0x41f40d,null));};exports[_0x6364('0xb6')]=function(_0x31b37c,_0x413969){if(_0x31b37c[_0x6364('0x32')]['id']){delete _0x31b37c[_0x6364('0x32')]['id'];}return db[_0x6364('0x3d')][_0x6364('0x6a')]({'where':{'id':_0x31b37c[_0x6364('0xb7')]['id']}})[_0x6364('0x2c')](handleEntityNotFound(_0x413969,null))[_0x6364('0x2c')](saveUpdates(_0x31b37c[_0x6364('0x32')],null))[_0x6364('0x2c')](respondWithResult(_0x413969,null))['catch'](handleError(_0x413969,null));};exports[_0x6364('0xb8')]=function(_0x536e55,_0x1f7adb){return db[_0x6364('0x3d')][_0x6364('0x6a')]({'where':{'id':_0x536e55['params']['id']}})[_0x6364('0x2c')](handleEntityNotFound(_0x1f7adb,null))[_0x6364('0x2c')](removeEntity(_0x1f7adb,null))[_0x6364('0xb4')](handleError(_0x1f7adb,null));};exports['describe']=function(_0x2a06a4,_0x1eecef){return db[_0x6364('0x3d')][_0x6364('0xb9')]()[_0x6364('0x2c')](respondWithResult(_0x1eecef,null))['catch'](handleError(_0x1eecef,null));};exports[_0x6364('0xba')]=function(_0x37dca2,_0x440fb5,_0x5cf1b1){return db[_0x6364('0xbb')][_0x6364('0x6a')]({'where':{'id':_0x37dca2[_0x6364('0xb7')]['id']}})[_0x6364('0x2c')](handleEntityNotFound(_0x440fb5,null))[_0x6364('0x2c')](function(_0xb76c34){if(_0xb76c34){return _0xb76c34[_0x6364('0xba')](_0x37dca2[_0x6364('0x32')]['ids'],_[_0x6364('0xbc')](_0x37dca2[_0x6364('0x32')],[_0x6364('0xbd'),'id'])||{});}})[_0x6364('0x2c')](respondWithResult(_0x440fb5,null))['catch'](handleError(_0x440fb5,null));};exports[_0x6364('0xbe')]=function(_0x334874,_0x4f9210,_0x3f4dd5){var _0x1660e9={'raw':![],'where':{}};var _0x5241eb={};var _0x59b0b7={'count':0x0,'rows':[]};return db[_0x6364('0x3d')][_0x6364('0xbf')]({'where':{'id':_0x334874[_0x6364('0xb7')]['id']}})[_0x6364('0x2c')](handleEntityNotFound(_0x4f9210,null))[_0x6364('0x2c')](function(_0x1eb10d){if(_0x1eb10d){_0x5241eb[_0x6364('0x41')]=_[_0x6364('0x74')](db[_0x6364('0xbb')][_0x6364('0x3e')]);_0x5241eb['query']=_['keys'](_0x334874[_0x6364('0x42')]);_0x5241eb[_0x6364('0x43')]=_[_0x6364('0x44')](_0x5241eb[_0x6364('0x41')],_0x5241eb[_0x6364('0x42')]);_0x1660e9[_0x6364('0x45')]=_[_0x6364('0x44')](_0x5241eb[_0x6364('0x41')],qs['fields'](_0x334874['query'][_0x6364('0x9e')]));_0x1660e9[_0x6364('0x45')]=_0x1660e9['attributes'][_0x6364('0x60')]?_0x1660e9[_0x6364('0x45')]:_0x5241eb[_0x6364('0x41')];if(!_0x334874['query']['hasOwnProperty'](_0x6364('0xc0'))){_0x1660e9[_0x6364('0x25')]=qs[_0x6364('0x25')](_0x334874[_0x6364('0x42')][_0x6364('0x25')]);_0x1660e9[_0x6364('0x23')]=qs[_0x6364('0x23')](_0x334874[_0x6364('0x42')][_0x6364('0x23')]);}_0x1660e9[_0x6364('0x90')]=qs['sort'](_0x334874[_0x6364('0x42')]['sort']);_0x1660e9[_0x6364('0x48')]=qs[_0x6364('0x43')](_[_0x6364('0x49')](_0x334874[_0x6364('0x42')],_0x5241eb[_0x6364('0x43')]));_0x1660e9[_0x6364('0x48')][_0x6364('0xc1')]=_0x1eb10d['id'];if(_0x334874['query'][_0x6364('0x82')]){_0x1660e9[_0x6364('0x48')]=_['merge'](_0x1660e9[_0x6364('0x48')],{'$or':_['map'](_0x1660e9[_0x6364('0x45')],function(_0x51c47f){var _0x240cdd={};_0x240cdd[_0x51c47f]={'$like':'%'+_0x334874[_0x6364('0x42')][_0x6364('0x82')]+'%'};return _0x240cdd;})});}if(_0x334874[_0x6364('0x42')][_0x6364('0xc2')]){var _0x18f754=_0x334874[_0x6364('0x42')][_0x6364('0xc2')][_0x6364('0x3c')](',');var _0x359c73={};_0x359c73[_0x18f754[0x0]]={'$gte':moment(_0x18f754[0x1])[_0x6364('0xc3')](_0x6364('0xc4'))};_0x1660e9['where']=_['merge'](_0x1660e9['where'],_0x359c73);}_0x1660e9=_[_0x6364('0x31')]({},_0x1660e9,_0x334874[_0x6364('0xb3')]);return db[_0x6364('0xbb')]['count']({'where':_0x1660e9['where']})[_0x6364('0x2c')](function(_0xed0799){_0x59b0b7[_0x6364('0x26')]=_0xed0799;if(_0x334874[_0x6364('0x42')][_0x6364('0xc5')]){_0x1660e9[_0x6364('0xc6')]=[{'all':!![]}];}return db['WhatsappMessage'][_0x6364('0xc7')](_0x1660e9);})['then'](function(_0xc6bfa1){_0x59b0b7['rows']=_0xc6bfa1;return _0x59b0b7;});}})[_0x6364('0x2c')](respondWithFilteredResult(_0x4f9210,_0x1660e9))[_0x6364('0xb4')](handleError(_0x4f9210,null));};exports[_0x6364('0xc8')]=function(_0x2bbd07,_0x1a85a5,_0x18b984){return db[_0x6364('0x3d')][_0x6364('0x6a')]({'where':{'id':_0x2bbd07[_0x6364('0xb7')]['id']}})[_0x6364('0x2c')](handleEntityNotFound(_0x1a85a5,null))[_0x6364('0x2c')](function(_0x23a339){if(_0x23a339){return _0x23a339[_0x6364('0xc9')](_0x2bbd07[_0x6364('0x32')][_0x6364('0xbd')],_[_0x6364('0xbc')](_0x2bbd07[_0x6364('0x32')],['ids','id'])||{})[_0x6364('0xca')](function(){return db[_0x6364('0x6e')][_0x6364('0xc7')]({'attributes':['id',_0x6364('0x2e'),_0x6364('0x4c')],'where':{'id':_0x2bbd07[_0x6364('0x32')][_0x6364('0xbd')]}});})[_0x6364('0x2c')](function(_0x5e04a0){socket[_0x6364('0xcb')](_0x6364('0xcc'),{'id':Number(_0x2bbd07[_0x6364('0xb7')]['id']),'tags':_0x5e04a0||[]});return{'id':Number(_0x2bbd07[_0x6364('0xb7')]['id']),'tags':_0x5e04a0||[]};});}})[_0x6364('0x2c')](respondWithResult(_0x1a85a5,null))['catch'](handleError(_0x1a85a5,null));};exports[_0x6364('0xcd')]=function(_0x50633f,_0x2410a2,_0x5c2066){return db['WhatsappInteraction']['find']({'where':{'id':_0x50633f[_0x6364('0xb7')]['id']}})[_0x6364('0x2c')](handleEntityNotFound(_0x2410a2,null))[_0x6364('0x2c')](function(_0x3530a7){if(_0x3530a7){return _0x3530a7[_0x6364('0xcd')](_0x50633f[_0x6364('0x42')]['ids']);}})['then'](respondWithStatusCode(_0x2410a2,null))[_0x6364('0xb4')](handleError(_0x2410a2,null));};exports[_0x6364('0xce')]=function(_0x4ec8f5,_0x3cb683){var _0x1c2afe=moment()['unix']()[_0x6364('0xb1')]();var _0x16a22b=path['join'](config[_0x6364('0xcf')],_0x6364('0xd0'),_0x6364('0xd1'),'tmp');var _0x134098=path[_0x6364('0xd2')](config['root'],_0x6364('0xd0'),'files',_0x6364('0xd3'));var _0x20d2b7=path[_0x6364('0xd2')](_0x16a22b,_0x1c2afe);var _0xcc0ced=util[_0x6364('0xc3')]('transcript-%d-%s.zip',_0x4ec8f5[_0x6364('0xb7')]['id'],_0x1c2afe);var _0x395779=path['join'](_0x16a22b,_0xcc0ced);var _0x522cff=[];_0x522cff[_0x6364('0xd4')]({'model':db[_0x6364('0x71')],'as':_0x6364('0x71'),'attributes':['id',_0x6364('0x39')],'raw':!![]});_0x522cff['push']({'model':db[_0x6364('0xd5')],'as':'Contact','attributes':['id',_0x6364('0xd6'),_0x6364('0xd7')],'raw':!![]});if(_0x4ec8f5[_0x6364('0x42')][_0x6364('0xd3')]){_0x522cff['push']({'model':db[_0x6364('0xd8')],'as':_0x6364('0xd8'),'raw':!![]});}var _0x351b82=[{'model':db[_0x6364('0xbb')],'as':_0x6364('0xd9'),'attributes':['id',_0x6364('0x32'),_0x6364('0x78'),_0x6364('0xda'),'secret','read'],'include':_0x522cff}];_0x351b82[_0x6364('0xd4')]({'model':db[_0x6364('0xdb')],'as':_0x6364('0xdc'),'attributes':['id',_0x6364('0x2e')]});_0x351b82[_0x6364('0xd4')]({'model':db[_0x6364('0x71')],'as':_0x6364('0xdd'),'attributes':['id',_0x6364('0x39')]});return db['WhatsappInteraction']['find']({'where':{'id':_0x4ec8f5['params']['id']},'include':_0x351b82})['then'](handleEntityNotFound(_0x3cb683,null))[_0x6364('0x2c')](function(_0x4d62de){if(_0x4d62de){var _0x2b2e29=_0x4d62de['get']({'plain':!![]});fs['mkdirSync'](_0x20d2b7);var _0x559254={'channel':'Whatsapp','account':_0x2b2e29[_0x6364('0xdc')]['name'],'agent':_0x2b2e29[_0x6364('0xdd')]?_0x2b2e29[_0x6364('0xdd')][_0x6364('0x39')]:_0x6364('0xde'),'createdAt':moment(_0x2b2e29[_0x6364('0x78')])[_0x6364('0xc3')](_0x6364('0xc4'))[_0x6364('0xb1')](),'closedAt':_0x2b2e29[_0x6364('0xdf')]?moment(_0x2b2e29[_0x6364('0xe0')])[_0x6364('0xc3')](_0x6364('0xc4'))[_0x6364('0xb1')]():'','disposition':_0x2b2e29[_0x6364('0xe1')],'messages':_(_0x2b2e29[_0x6364('0xd9')])[_0x6364('0x82')]({'secret':![]})[_0x6364('0x38')](function(_0x4ce043){if(_0x4ce043[_0x6364('0xd8')]){var _0xf5a5c2=path[_0x6364('0xd2')](_0x134098,_0x4ce043['Attachment']['basename']);if(fs['existsSync'](_0xf5a5c2)){fs[_0x6364('0xe2')](_0xf5a5c2)[_0x6364('0xe3')](fs[_0x6364('0xe4')](path[_0x6364('0xd2')](_0x20d2b7,_0x4ce043['Attachment'][_0x6364('0xe5')])));}}return{'date':moment(_0x4ce043[_0x6364('0x78')])[_0x6364('0xc3')](_0x6364('0xc4'))[_0x6364('0xb1')](),'sender':_0x4ce043[_0x6364('0xda')]==='out'?_0x4ce043[_0x6364('0x71')]?_0x4ce043[_0x6364('0x71')][_0x6364('0x39')]:_0x6364('0xe6'):_0x4ce043['Contact'][_0x6364('0xd6')]+(_0x4ce043[_0x6364('0x65')][_0x6364('0xd7')]?'\x20'+_0x4ce043[_0x6364('0x65')][_0x6364('0xd7')]:''),'body':_0x4ce043[_0x6364('0xd8')]?_0x4ce043['Attachment']['basename']:_0x4ce043[_0x6364('0x32')],'direction':_0x4ce043['direction']===_0x6364('0xe7')?'A':'C','secret':_0x4ce043[_0x6364('0xe8')],'read':_0x4ce043[_0x6364('0x7d')],'attachment':_0x4ce043[_0x6364('0xd8')]};})[_0x6364('0x62')]()};return ejs[_0x6364('0xe9')](path['join'](config[_0x6364('0xcf')],_0x6364('0xd0'),_0x6364('0xea'),_0x6364('0xeb')),{'interaction':_0x559254})[_0x6364('0x2c')](function(_0x50db4e){var _0x5e4ac1=path[_0x6364('0xd2')](_0x20d2b7,_0x6364('0xec')+_0x2b2e29['id']+'-'+_0x1c2afe+_0x6364('0xed'));var _0x2669e2={'path':_0x5e4ac1,'channel':_0x6364('0xee'),'interactionId':_0x2b2e29['id']};return pdf[_0x6364('0xef')](_0x50db4e,_0x2669e2);})[_0x6364('0x2c')](function(){return new BPromise(function(_0x4ecbe1,_0x269c9c){zipdir(_0x20d2b7,{'saveTo':_0x395779},function(_0x4aa20a,_0x100c45){if(_0x4aa20a)return _0x269c9c(_0x4aa20a);return _0x4ecbe1(_0x100c45);});})['then'](function(){return new BPromise(function(_0x287960,_0x1a2ddf){rimraf(_0x20d2b7,function(_0x1a2a05){if(_0x1a2a05)_0x1a2ddf(_0x1a2a05);return _0x287960();});});})[_0x6364('0x2c')](function(){return _0x3cb683[_0x6364('0xce')](_0x395779,_0xcc0ced,function(_0x40e044){if(_0x40e044){console[_0x6364('0xf0')](_0x6364('0xf1'),_0x40e044);}else{fs[_0x6364('0xf2')](_0x395779);}});});});}else{return _0x3cb683['sendStatus'](0xc8);}})['catch'](handleError(_0x3cb683,null));};