5f0b476d6561845758081d60c863670223cd16b3
[motion2.git] / server / api / whatsappMessage / whatsappMessage.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 _0xf818=['format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','WhatsappInteraction','WhatsappInteractionId','update','isNil','read1stAt','interaction','[WHATSAPPMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','ContactId','QueryTypes','SELECT','User','email','internal','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','whatsapp-interactions','get','[WHATSAPPMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','Sequelize','contact','fullname','WhatsappAccount','WhatsappAccountId','WhatsppMessage,\x20%s,\x20%s,\x20%s','received\x20delivery\x20report\x20from','inspect','twilio','MessageSid','messageId','MessageStatus','WhatsappAccount,\x20%s,\x20%s,\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./whatsappMessage.socket','register','client','http','request','info','WhatsappMessage,\x20%s,\x20%s','request\x20sent','debug','WhatsappMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','destroy','name','send','index','map','WhatsappMessage','rawAttributes','fieldName','key','model','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','options','includeAll','findAll','show','keys','include','find','create','body','params','describe','accept','whatsapp','readAt'];(function(_0x25e7da,_0x20e853){var _0x310d03=function(_0x575faa){while(--_0x575faa){_0x25e7da['push'](_0x25e7da['shift']());}};_0x310d03(++_0x20e853);}(_0xf818,0x1e7));var _0x8f81=function(_0x571576,_0x50e525){_0x571576=_0x571576-0x0;var _0x15cd1c=_0xf818[_0x571576];return _0x15cd1c;};'use strict';var emlformat=require(_0x8f81('0x0'));var rimraf=require(_0x8f81('0x1'));var zipdir=require(_0x8f81('0x2'));var jsonpatch=require(_0x8f81('0x3'));var rp=require('request-promise');var moment=require(_0x8f81('0x4'));var BPromise=require(_0x8f81('0x5'));var Mustache=require(_0x8f81('0x6'));var util=require(_0x8f81('0x7'));var path=require(_0x8f81('0x8'));var sox=require('sox');var csv=require(_0x8f81('0x9'));var ejs=require(_0x8f81('0xa'));var fs=require('fs');var fs_extra=require(_0x8f81('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x8f81('0xc'));var jsforce=require(_0x8f81('0xd'));var deskjs=require(_0x8f81('0xe'));var toCsv=require(_0x8f81('0x9'));var querystring=require(_0x8f81('0xf'));var Papa=require(_0x8f81('0x10'));var Redis=require(_0x8f81('0x11'));var authService=require(_0x8f81('0x12'));var qs=require(_0x8f81('0x13'));var as=require(_0x8f81('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8f81('0x15'))(_0x8f81('0x16'));var utils=require(_0x8f81('0x17'));var config=require(_0x8f81('0x18'));var licenseUtil=require(_0x8f81('0x19'));var db=require(_0x8f81('0x1a'))['db'];config['redis']=_[_0x8f81('0x1b')](config[_0x8f81('0x1c')],{'host':_0x8f81('0x1d'),'port':0x18eb});var socket=require(_0x8f81('0x1e'))(new Redis(config[_0x8f81('0x1c')]));require(_0x8f81('0x1f'))[_0x8f81('0x20')](socket);var jayson=require('jayson/promise');var client=jayson[_0x8f81('0x21')][_0x8f81('0x22')]({'port':0x232c});var client9002=jayson[_0x8f81('0x21')][_0x8f81('0x22')]({'port':0x232a});function respondWithRpcPromise(_0x244fc3,_0x366bcf,_0x95eb68,_0x5f835a){return new BPromise(function(_0x438c2b,_0x5f4013){var _0x349727=_0x5f835a||client;return _0x349727[_0x8f81('0x23')](_0x244fc3,_0x95eb68)['then'](function(_0xf513be){logger[_0x8f81('0x24')](_0x8f81('0x25'),_0x366bcf,_0x8f81('0x26'));logger[_0x8f81('0x27')](_0x8f81('0x28'),_0x366bcf,_0x8f81('0x26'),JSON[_0x8f81('0x29')](_0xf513be));if(_0xf513be[_0x8f81('0x2a')]){if(_0xf513be[_0x8f81('0x2a')]['code']===0x1f4){logger[_0x8f81('0x2a')](_0x8f81('0x25'),_0x366bcf,_0xf513be[_0x8f81('0x2a')]['message']);return _0x5f4013(_0xf513be[_0x8f81('0x2a')][_0x8f81('0x2b')]);}logger[_0x8f81('0x2a')](_0x8f81('0x25'),_0x366bcf,_0xf513be[_0x8f81('0x2a')]['message']);return _0x438c2b(_0xf513be[_0x8f81('0x2a')][_0x8f81('0x2b')]);}else{logger['info'](_0x8f81('0x25'),_0x366bcf,'request\x20sent');_0x438c2b(_0xf513be[_0x8f81('0x2c')]['message']);}})[_0x8f81('0x2d')](function(_0x4c7b46){logger['error'](_0x8f81('0x25'),_0x366bcf,_0x4c7b46);_0x5f4013(_0x4c7b46);});});}function respondWithStatusCode(_0xfb5100,_0x4dd29e){_0x4dd29e=_0x4dd29e||0xcc;return function(_0x3b3e9a){if(_0x3b3e9a){return _0xfb5100[_0x8f81('0x2e')](_0x4dd29e);}return _0xfb5100[_0x8f81('0x2f')](_0x4dd29e)[_0x8f81('0x30')]();};}function respondWithResult(_0x24c143,_0x541fcf){_0x541fcf=_0x541fcf||0xc8;return function(_0x25e6e1){if(_0x25e6e1){return _0x24c143[_0x8f81('0x2f')](_0x541fcf)[_0x8f81('0x31')](_0x25e6e1);}};}function respondWithFilteredResult(_0x1c98e8,_0x2c6db4){return function(_0x128949){if(_0x128949){var _0x1a726e=typeof _0x2c6db4[_0x8f81('0x32')]==='undefined'&&typeof _0x2c6db4[_0x8f81('0x33')]===_0x8f81('0x34');var _0x4dac2d=_0x128949[_0x8f81('0x35')];var _0x594ad4=_0x1a726e?0x0:_0x2c6db4['offset'];var _0x9ee475=_0x1a726e?_0x128949['count']:_0x2c6db4[_0x8f81('0x32')]+_0x2c6db4['limit'];var _0x2709ef;if(_0x9ee475>=_0x4dac2d){_0x9ee475=_0x4dac2d;_0x2709ef=0xc8;}else{_0x2709ef=0xce;}_0x1c98e8[_0x8f81('0x2f')](_0x2709ef);return _0x1c98e8[_0x8f81('0x36')](_0x8f81('0x37'),_0x594ad4+'-'+_0x9ee475+'/'+_0x4dac2d)[_0x8f81('0x31')](_0x128949);}return null;};}function patchUpdates(_0x564f47){return function(_0x160f45){try{jsonpatch[_0x8f81('0x38')](_0x160f45,_0x564f47,!![]);}catch(_0x43d1ef){return BPromise[_0x8f81('0x39')](_0x43d1ef);}return _0x160f45[_0x8f81('0x3a')]();};}function saveUpdates(_0x3af962,_0x587d38){return function(_0x5c0c66){if(_0x5c0c66){return _0x5c0c66['update'](_0x3af962)[_0x8f81('0x3b')](function(_0x569b7d){return _0x569b7d;});}return null;};}function removeEntity(_0x4cfb87,_0x3a6c97){return function(_0x3971b8){if(_0x3971b8){return _0x3971b8[_0x8f81('0x3c')]()[_0x8f81('0x3b')](function(){_0x4cfb87[_0x8f81('0x2f')](0xcc)[_0x8f81('0x30')]();});}};}function handleEntityNotFound(_0x1e1c4d,_0x1f9b1d){return function(_0x34a8a8){if(!_0x34a8a8){_0x1e1c4d[_0x8f81('0x2e')](0x194);}return _0x34a8a8;};}function handleError(_0x4117db,_0x58cfff){_0x58cfff=_0x58cfff||0x1f4;return function(_0x35a0b8){logger['error'](_0x35a0b8['stack']);if(_0x35a0b8[_0x8f81('0x3d')]){delete _0x35a0b8['name'];}_0x4117db[_0x8f81('0x2f')](_0x58cfff)[_0x8f81('0x3e')](_0x35a0b8);};}exports[_0x8f81('0x3f')]=function(_0xa465a,_0x69bf41){var _0x429571={},_0x15e636={},_0x41db47={'count':0x0,'rows':[]};var _0x4c12a7=_[_0x8f81('0x40')](db[_0x8f81('0x41')][_0x8f81('0x42')],function(_0x532634){return{'name':_0x532634[_0x8f81('0x43')],'type':_0x532634['type'][_0x8f81('0x44')]};});_0x15e636[_0x8f81('0x45')]=_['map'](_0x4c12a7,'name');_0x15e636[_0x8f81('0x46')]=_['keys'](_0xa465a[_0x8f81('0x46')]);_0x15e636[_0x8f81('0x47')]=_['intersection'](_0x15e636[_0x8f81('0x45')],_0x15e636[_0x8f81('0x46')]);_0x429571[_0x8f81('0x48')]=_[_0x8f81('0x49')](_0x15e636[_0x8f81('0x45')],qs[_0x8f81('0x4a')](_0xa465a[_0x8f81('0x46')][_0x8f81('0x4a')]));_0x429571['attributes']=_0x429571[_0x8f81('0x48')]['length']?_0x429571[_0x8f81('0x48')]:_0x15e636[_0x8f81('0x45')];if(!_0xa465a[_0x8f81('0x46')][_0x8f81('0x4b')](_0x8f81('0x4c'))){_0x429571[_0x8f81('0x33')]=qs[_0x8f81('0x33')](_0xa465a[_0x8f81('0x46')]['limit']);_0x429571[_0x8f81('0x32')]=qs[_0x8f81('0x32')](_0xa465a[_0x8f81('0x46')]['offset']);}_0x429571[_0x8f81('0x4d')]=qs[_0x8f81('0x4e')](_0xa465a[_0x8f81('0x46')][_0x8f81('0x4e')]);_0x429571[_0x8f81('0x4f')]=qs['filters'](_['pick'](_0xa465a['query'],_0x15e636[_0x8f81('0x47')]),_0x4c12a7);if(_0xa465a['query'][_0x8f81('0x50')]){_0x429571[_0x8f81('0x4f')]=_[_0x8f81('0x51')](_0x429571['where'],{'$or':_[_0x8f81('0x40')](_0x4c12a7,function(_0x4747fa){if(_0x4747fa[_0x8f81('0x52')]!=='VIRTUAL'){var _0x404ba1={};_0x404ba1[_0x4747fa[_0x8f81('0x3d')]]={'$like':'%'+_0xa465a['query'][_0x8f81('0x50')]+'%'};return _0x404ba1;}})});}_0x429571=_['merge']({},_0x429571,_0xa465a[_0x8f81('0x53')]);var _0x38184c={'where':_0x429571[_0x8f81('0x4f')]};return db['WhatsappMessage'][_0x8f81('0x35')](_0x38184c)[_0x8f81('0x3b')](function(_0x12219b){_0x41db47[_0x8f81('0x35')]=_0x12219b;if(_0xa465a[_0x8f81('0x46')][_0x8f81('0x54')]){_0x429571['include']=[{'all':!![]}];}return db['WhatsappMessage'][_0x8f81('0x55')](_0x429571);})[_0x8f81('0x3b')](function(_0x3b38cb){_0x41db47['rows']=_0x3b38cb;return _0x41db47;})[_0x8f81('0x3b')](respondWithFilteredResult(_0x69bf41,_0x429571))[_0x8f81('0x2d')](handleError(_0x69bf41,null));};exports[_0x8f81('0x56')]=function(_0x58a669,_0x317f8c){var _0x422744={'raw':!![],'where':{'id':_0x58a669['params']['id']}},_0xe3f1a0={};_0xe3f1a0[_0x8f81('0x45')]=_[_0x8f81('0x57')](db[_0x8f81('0x41')][_0x8f81('0x42')]);_0xe3f1a0[_0x8f81('0x46')]=_[_0x8f81('0x57')](_0x58a669['query']);_0xe3f1a0['filters']=_[_0x8f81('0x49')](_0xe3f1a0['model'],_0xe3f1a0[_0x8f81('0x46')]);_0x422744[_0x8f81('0x48')]=_[_0x8f81('0x49')](_0xe3f1a0[_0x8f81('0x45')],qs[_0x8f81('0x4a')](_0x58a669[_0x8f81('0x46')][_0x8f81('0x4a')]));_0x422744['attributes']=_0x422744[_0x8f81('0x48')]['length']?_0x422744[_0x8f81('0x48')]:_0xe3f1a0['model'];if(_0x58a669[_0x8f81('0x46')][_0x8f81('0x54')]){_0x422744[_0x8f81('0x58')]=[{'all':!![]}];}_0x422744=_[_0x8f81('0x51')]({},_0x422744,_0x58a669[_0x8f81('0x53')]);return db[_0x8f81('0x41')][_0x8f81('0x59')](_0x422744)[_0x8f81('0x3b')](handleEntityNotFound(_0x317f8c,null))[_0x8f81('0x3b')](respondWithResult(_0x317f8c,null))[_0x8f81('0x2d')](handleError(_0x317f8c,null));};exports[_0x8f81('0x5a')]=function(_0xfa1424,_0x4fec65){return db['WhatsappMessage'][_0x8f81('0x5a')](_0xfa1424['body'],{})[_0x8f81('0x3b')](respondWithResult(_0x4fec65,0xc9))[_0x8f81('0x2d')](handleError(_0x4fec65,null));};exports['update']=function(_0x55b564,_0x4f87cf){if(_0x55b564['body']['id']){delete _0x55b564[_0x8f81('0x5b')]['id'];}return db[_0x8f81('0x41')][_0x8f81('0x59')]({'where':{'id':_0x55b564['params']['id']}})[_0x8f81('0x3b')](handleEntityNotFound(_0x4f87cf,null))[_0x8f81('0x3b')](saveUpdates(_0x55b564[_0x8f81('0x5b')],null))[_0x8f81('0x3b')](respondWithResult(_0x4f87cf,null))[_0x8f81('0x2d')](handleError(_0x4f87cf,null));};exports[_0x8f81('0x3c')]=function(_0x1a6528,_0x23511a){return db[_0x8f81('0x41')][_0x8f81('0x59')]({'where':{'id':_0x1a6528[_0x8f81('0x5c')]['id']}})[_0x8f81('0x3b')](handleEntityNotFound(_0x23511a,null))[_0x8f81('0x3b')](removeEntity(_0x23511a,null))['catch'](handleError(_0x23511a,null));};exports[_0x8f81('0x5d')]=function(_0x5ea8b7,_0x139f6d){return db[_0x8f81('0x41')][_0x8f81('0x5d')]()[_0x8f81('0x3b')](respondWithResult(_0x139f6d,null))['catch'](handleError(_0x139f6d,null));};var interaction_log=require(_0x8f81('0x15'))('whatsapp-interactions');exports[_0x8f81('0x5e')]=function(_0x7f70bb,_0x240912,_0x201345){var _0x40747e={'agent':{},'channel':_0x8f81('0x5f')};if(_0x7f70bb[_0x8f81('0x5b')]['id']){delete _0x7f70bb[_0x8f81('0x5b')]['id'];}_0x7f70bb['body']['read']=!![];_0x7f70bb['body'][_0x8f81('0x60')]=moment()[_0x8f81('0x61')](_0x8f81('0x62'));_0x7f70bb[_0x8f81('0x5b')][_0x8f81('0x63')]=_0x7f70bb[_0x8f81('0x5b')]['UserId']||_0x7f70bb[_0x8f81('0x64')]['id'];_0x40747e[_0x8f81('0x65')]['id']=_0x7f70bb[_0x8f81('0x5b')][_0x8f81('0x63')];return db['WhatsappMessage'][_0x8f81('0x59')]({'where':{'id':_0x7f70bb[_0x8f81('0x5c')]['id'],'UserId':null}})[_0x8f81('0x3b')](handleEntityNotFound(_0x240912,null))[_0x8f81('0x3b')](saveUpdates(_0x7f70bb[_0x8f81('0x5b')],null))['then'](function(_0x344b92){if(_0x344b92){_0x40747e[_0x8f81('0x2b')]=_0x344b92['get']({'plain':!![]});return db[_0x8f81('0x66')]['find']({'where':{'id':_0x344b92[_0x8f81('0x67')]}});}return null;})[_0x8f81('0x3b')](handleEntityNotFound(_0x240912,null))[_0x8f81('0x3b')](function(_0x3b8a00){if(_0x3b8a00){return _0x3b8a00[_0x8f81('0x68')]({'UserId':_0x7f70bb['body'][_0x8f81('0x63')],'read1stAt':_[_0x8f81('0x69')](_0x3b8a00[_0x8f81('0x6a')])?moment()[_0x8f81('0x61')](_0x8f81('0x62')):undefined});}return null;})[_0x8f81('0x3b')](function(_0x1df3bc){if(_0x1df3bc){_0x40747e[_0x8f81('0x6b')]=_0x1df3bc['get']({'plain':!![]});interaction_log['info'](_0x8f81('0x6c'),_0x7f70bb[_0x8f81('0x64')]['id'],_0x7f70bb[_0x8f81('0x64')][_0x8f81('0x3d')],_0x7f70bb[_0x8f81('0x64')][_0x8f81('0x6d')],_0x40747e['interaction']['id'],_0x7f70bb[_0x8f81('0x5b')]?JSON[_0x8f81('0x29')](_0x7f70bb['body']):_0x8f81('0x6e'));return respondWithRpcPromise(_0x8f81('0x6f'),_0x8f81('0x70'),_0x40747e);}return null;})['then'](function(_0x2ca5ee){var _0xc99eb0='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x2ca5ee[_0x8f81('0x2b')][_0x8f81('0x71')];return db['sequelize']['query'](_0xc99eb0,{'type':db['Sequelize'][_0x8f81('0x72')][_0x8f81('0x73')],'raw':!![]})[_0x8f81('0x3b')](function(_0x148f9d){return _0x148f9d;});})['then'](function(_0x114acf){if(_0x114acf){_0x40747e['message']['contact']=_0x114acf[0x0];if(!_0x7f70bb['body'][_0x8f81('0x63')])return;return db[_0x8f81('0x74')]['find']({'where':{'id':_0x7f70bb[_0x8f81('0x5b')]['UserId'],'role':'agent'},'attributes':['id',_0x8f81('0x3d'),'fullname',_0x8f81('0x75'),_0x8f81('0x76')],'raw':!![]});}return null;})[_0x8f81('0x3b')](function(_0x2e38b7){if(!_0x2e38b7)return null;_0x40747e[_0x8f81('0x2b')]['agent']=_0x2e38b7;return _0x40747e;})[_0x8f81('0x3b')](function(_0x1d4eea){if(_0x1d4eea){if(_0x7f70bb[_0x8f81('0x5b')]['manual']){_0x40747e[_0x8f81('0x2b')][_0x8f81('0x77')]=util['format'](_0x8f81('0x78'),_0x7f70bb[_0x8f81('0x64')][_0x8f81('0x3d')]);_0x40747e['message'][_0x8f81('0x79')]=_0x40747e[_0x8f81('0x79')];_0x40747e[_0x8f81('0x2b')][_0x8f81('0x7a')]=_0x40747e[_0x8f81('0x79')];_0x40747e[_0x8f81('0x2b')][_0x8f81('0x7b')]='accept';return respondWithRpcPromise(_0x8f81('0x7c'),_0x8f81('0x7c'),{'event':_0x8f81('0x7d'),'message':_0x40747e['message']},client9002)[_0x8f81('0x3b')](function(){return _0x40747e;});}return _0x40747e;}return null;})[_0x8f81('0x3b')](respondWithResult(_0x240912,null))[_0x8f81('0x2d')](handleError(_0x240912,null));};var interaction_log=require(_0x8f81('0x15'))(_0x8f81('0x7e'));exports['reject']=function(_0x168f47,_0x59df90,_0x43a537){var _0x3258a2={'agent':{},'channel':'whatsapp'};if(_0x168f47[_0x8f81('0x5b')]['id']){delete _0x168f47['body']['id'];}_0x168f47[_0x8f81('0x5b')]['UserId']=_0x168f47['body'][_0x8f81('0x63')]||_0x168f47[_0x8f81('0x64')]['id'];_0x3258a2[_0x8f81('0x65')]['id']=_0x168f47[_0x8f81('0x5b')][_0x8f81('0x63')];return db[_0x8f81('0x41')]['find']({'where':{'id':_0x168f47[_0x8f81('0x5c')]['id'],'UserId':null}})[_0x8f81('0x3b')](handleEntityNotFound(_0x59df90,null))['then'](function(_0x452a85){if(_0x452a85){_0x3258a2[_0x8f81('0x2b')]=_0x452a85[_0x8f81('0x7f')]({'plain':!![]});return db[_0x8f81('0x66')][_0x8f81('0x59')]({'where':{'id':_0x452a85['WhatsappInteractionId']}});}return null;})[_0x8f81('0x3b')](handleEntityNotFound(_0x59df90,null))[_0x8f81('0x3b')](function(_0x14951e){if(_0x14951e){_0x3258a2[_0x8f81('0x6b')]=_0x14951e[_0x8f81('0x7f')]({'plain':!![]});interaction_log[_0x8f81('0x24')](_0x8f81('0x80'),_0x168f47[_0x8f81('0x64')]['id'],_0x168f47[_0x8f81('0x64')][_0x8f81('0x3d')],_0x168f47[_0x8f81('0x64')][_0x8f81('0x6d')],_0x3258a2[_0x8f81('0x6b')]['id'],_0x168f47[_0x8f81('0x5b')]?JSON[_0x8f81('0x29')](_0x168f47[_0x8f81('0x5b')]):'null');return respondWithRpcPromise(_0x8f81('0x81'),_0x8f81('0x82'),_0x3258a2);}return null;})[_0x8f81('0x3b')](function(_0x1bd5bf){var _0x183f81=_0x8f81('0x83')+_0x1bd5bf[_0x8f81('0x2b')][_0x8f81('0x71')];return db[_0x8f81('0x84')][_0x8f81('0x46')](_0x183f81,{'type':db[_0x8f81('0x85')][_0x8f81('0x72')][_0x8f81('0x73')],'raw':!![]})[_0x8f81('0x3b')](function(_0x1d52d3){return _0x1d52d3;});})[_0x8f81('0x3b')](function(_0x1cf8f5){if(_0x1cf8f5){_0x3258a2['message'][_0x8f81('0x86')]=_0x1cf8f5[0x0];if(!_0x168f47[_0x8f81('0x5b')][_0x8f81('0x63')])return;return db['User'][_0x8f81('0x59')]({'where':{'id':_0x168f47['body'][_0x8f81('0x63')],'role':_0x8f81('0x65')},'attributes':['id',_0x8f81('0x3d'),_0x8f81('0x87'),_0x8f81('0x75'),_0x8f81('0x76')],'raw':!![]});}return null;})[_0x8f81('0x3b')](function(_0x7720d7){if(!_0x7720d7)return null;_0x3258a2[_0x8f81('0x2b')][_0x8f81('0x65')]=_0x7720d7;return _0x3258a2;})[_0x8f81('0x3b')](function(_0x593ce6){if(_0x593ce6){_0x593ce6[_0x8f81('0x2b')][_0x8f81('0x77')]=util[_0x8f81('0x61')](_0x8f81('0x78'),_0x168f47[_0x8f81('0x64')]['name']);_0x593ce6['message'][_0x8f81('0x79')]=_0x3258a2[_0x8f81('0x79')];_0x593ce6[_0x8f81('0x2b')][_0x8f81('0x7a')]=_0x3258a2[_0x8f81('0x79')];_0x593ce6[_0x8f81('0x2b')][_0x8f81('0x7b')]=_0x8f81('0x39');respondWithRpcPromise(_0x8f81('0x7c'),_0x8f81('0x7c'),{'event':'rejectmessage','message':_0x593ce6['message']},client9002);return _0x3258a2;}return null;})[_0x8f81('0x3b')](respondWithResult(_0x59df90,null))[_0x8f81('0x2d')](handleError(_0x59df90,null));};exports[_0x8f81('0x2f')]=function(_0x1d652e,_0x11c5fd,_0x1f404d){if(_0x1d652e[_0x8f81('0x5b')]['id']){delete _0x1d652e[_0x8f81('0x5b')]['id'];}var _0x17cc7a;return db['WhatsappMessage'][_0x8f81('0x59')]({'where':{'id':_0x1d652e[_0x8f81('0x5c')]['id']}})['then'](handleEntityNotFound(_0x11c5fd,null))[_0x8f81('0x3b')](function(_0x3c2100){if(_0x3c2100){_0x17cc7a=_0x3c2100;return db[_0x8f81('0x88')][_0x8f81('0x59')]({'where':{'id':_0x3c2100[_0x8f81('0x89')]}});}})[_0x8f81('0x3b')](handleEntityNotFound(_0x11c5fd,null))[_0x8f81('0x3b')](function(_0x579b45){if(_0x579b45){logger['debug'](_0x8f81('0x8a'),_0x8f81('0x2f'),_0x8f81('0x8b'),_0x579b45['type'],util[_0x8f81('0x8c')](_0x1d652e[_0x8f81('0x5b')],{'showHidden':![],'depth':null}));switch(_0x579b45[_0x8f81('0x52')]){case _0x8f81('0x8d'):if(_0x1d652e['body'][_0x8f81('0x8e')]&&_0x1d652e['body'][_0x8f81('0x8e')]===_0x17cc7a[_0x8f81('0x8f')]&&_0x1d652e[_0x8f81('0x5b')][_0x8f81('0x90')]&&_0x1d652e[_0x8f81('0x5b')]['MessageStatus']==='read'){return _0x17cc7a['update']({'read':!![]});}else{logger['error'](_0x8f81('0x91'),_0x8f81('0x2f'),'twilio',util[_0x8f81('0x8c')](_0x1d652e[_0x8f81('0x5b')],{'showHidden':![],'depth':null}));}break;}return _0x17cc7a;}})[_0x8f81('0x3b')](respondWithResult(_0x11c5fd,null))[_0x8f81('0x2d')](handleError(_0x11c5fd,null));};