Built motion from commit e6806ed6.|2.6.0
[motion2.git] / server / api / smsMessage / smsMessage.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 _0xa965=['filter','merge','options','includeAll','include','SmsMessage','findAll','rows','params','length','find','create','body','destroy','describe','sms-interactions','accept','sms','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','SmsInteraction','SmsInteractionId','read1stAt','format','get','user','role','interaction','AcceptMessage','acceptMessage','sequelize','Sequelize','QueryTypes','SELECT','contact','User','agent','fullname','email','internal','manual','interface','SIP/%s','channel','motionChannel','EventManager','reject','[SMSMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','ContactId','event','rejectmessage','SmsAccount','SmsAccountId','debug','received\x20delivery\x20report\x20from','inspect','twilio','MessageSid','messageId','SmsAccount,\x20%s,\x20%s,\x20%s','plivo','MessageUUID','indexOf','sent','delivered','Status','plivio','results','groupName','DELIVERED','infobip','fast-json-patch','request-promise','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsMessage.socket','register','jayson/promise','client','http','request','then','info','SmsMessage,\x20%s,\x20%s','request\x20sent','SmsMessage,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','save','update','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','fields','attributes','nolimit','order','where','pick'];(function(_0x2adbeb,_0x5581be){var _0x5e18a6=function(_0x84e42b){while(--_0x84e42b){_0x2adbeb['push'](_0x2adbeb['shift']());}};_0x5e18a6(++_0x5581be);}(_0xa965,0x172));var _0x5a96=function(_0x2aeffd,_0x5e0ce5){_0x2aeffd=_0x2aeffd-0x0;var _0x5ae8bb=_0xa965[_0x2aeffd];return _0x5ae8bb;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x5a96('0x0'));var rp=require(_0x5a96('0x1'));var moment=require(_0x5a96('0x2'));var BPromise=require(_0x5a96('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0x5a96('0x4'));var sox=require('sox');var csv=require(_0x5a96('0x5'));var ejs=require(_0x5a96('0x6'));var fs=require('fs');var fs_extra=require(_0x5a96('0x7'));var _=require(_0x5a96('0x8'));var squel=require('squel');var crypto=require(_0x5a96('0x9'));var jsforce=require(_0x5a96('0xa'));var deskjs=require(_0x5a96('0xb'));var toCsv=require(_0x5a96('0x5'));var querystring=require('querystring');var Papa=require(_0x5a96('0xc'));var Redis=require(_0x5a96('0xd'));var authService=require(_0x5a96('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x5a96('0xf'));var hardwareService=require(_0x5a96('0x10'));var logger=require(_0x5a96('0x11'))(_0x5a96('0x12'));var utils=require(_0x5a96('0x13'));var config=require(_0x5a96('0x14'));var licenseUtil=require(_0x5a96('0x15'));var db=require(_0x5a96('0x16'))['db'];config[_0x5a96('0x17')]=_[_0x5a96('0x18')](config[_0x5a96('0x17')],{'host':_0x5a96('0x19'),'port':0x18eb});var socket=require(_0x5a96('0x1a'))(new Redis(config[_0x5a96('0x17')]));require(_0x5a96('0x1b'))[_0x5a96('0x1c')](socket);var jayson=require(_0x5a96('0x1d'));var client=jayson[_0x5a96('0x1e')]['http']({'port':0x232c});var client9002=jayson[_0x5a96('0x1e')][_0x5a96('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x4ed18b,_0x1a2bd9,_0x29222d,_0x325239){return new BPromise(function(_0x75cb1a,_0x31e785){var _0x16d64b=_0x325239||client;return _0x16d64b[_0x5a96('0x20')](_0x4ed18b,_0x29222d)[_0x5a96('0x21')](function(_0x4a537e){logger[_0x5a96('0x22')](_0x5a96('0x23'),_0x1a2bd9,_0x5a96('0x24'));logger['debug'](_0x5a96('0x25'),_0x1a2bd9,_0x5a96('0x24'),JSON[_0x5a96('0x26')](_0x4a537e));if(_0x4a537e[_0x5a96('0x27')]){if(_0x4a537e['error']['code']===0x1f4){logger['error'](_0x5a96('0x23'),_0x1a2bd9,_0x4a537e[_0x5a96('0x27')][_0x5a96('0x28')]);return _0x31e785(_0x4a537e[_0x5a96('0x27')][_0x5a96('0x28')]);}logger[_0x5a96('0x27')]('SmsMessage,\x20%s,\x20%s',_0x1a2bd9,_0x4a537e[_0x5a96('0x27')][_0x5a96('0x28')]);return _0x75cb1a(_0x4a537e['error'][_0x5a96('0x28')]);}else{logger[_0x5a96('0x22')](_0x5a96('0x23'),_0x1a2bd9,_0x5a96('0x24'));_0x75cb1a(_0x4a537e[_0x5a96('0x29')]['message']);}})[_0x5a96('0x2a')](function(_0x477ca1){logger[_0x5a96('0x27')](_0x5a96('0x23'),_0x1a2bd9,_0x477ca1);_0x31e785(_0x477ca1);});});}function respondWithStatusCode(_0x22fbc6,_0x894979){_0x894979=_0x894979||0xcc;return function(_0x152e15){if(_0x152e15){return _0x22fbc6[_0x5a96('0x2b')](_0x894979);}return _0x22fbc6[_0x5a96('0x2c')](_0x894979)[_0x5a96('0x2d')]();};}function respondWithResult(_0x4534cb,_0x7ad3f){_0x7ad3f=_0x7ad3f||0xc8;return function(_0x28578f){if(_0x28578f){return _0x4534cb[_0x5a96('0x2c')](_0x7ad3f)['json'](_0x28578f);}};}function respondWithFilteredResult(_0x477c7b,_0x4e1114){return function(_0x312722){if(_0x312722){var _0x40b48e=typeof _0x4e1114[_0x5a96('0x2e')]===_0x5a96('0x2f')&&typeof _0x4e1114[_0x5a96('0x30')]===_0x5a96('0x2f');var _0x2ef9fa=_0x312722[_0x5a96('0x31')];var _0xff903a=_0x40b48e?0x0:_0x4e1114[_0x5a96('0x2e')];var _0x9a8215=_0x40b48e?_0x312722[_0x5a96('0x31')]:_0x4e1114['offset']+_0x4e1114[_0x5a96('0x30')];var _0x139ea9;if(_0x9a8215>=_0x2ef9fa){_0x9a8215=_0x2ef9fa;_0x139ea9=0xc8;}else{_0x139ea9=0xce;}_0x477c7b['status'](_0x139ea9);return _0x477c7b['set'](_0x5a96('0x32'),_0xff903a+'-'+_0x9a8215+'/'+_0x2ef9fa)[_0x5a96('0x33')](_0x312722);}return null;};}function patchUpdates(_0x183476){return function(_0xb6f8b3){try{jsonpatch['apply'](_0xb6f8b3,_0x183476,!![]);}catch(_0x4e4ea8){return BPromise['reject'](_0x4e4ea8);}return _0xb6f8b3[_0x5a96('0x34')]();};}function saveUpdates(_0x22f8ff,_0x57afa1){return function(_0x1dd180){if(_0x1dd180){return _0x1dd180[_0x5a96('0x35')](_0x22f8ff)['then'](function(_0x1159d5){return _0x1159d5;});}return null;};}function removeEntity(_0x362b08,_0x5be678){return function(_0x34c692){if(_0x34c692){return _0x34c692['destroy']()[_0x5a96('0x21')](function(){_0x362b08['status'](0xcc)[_0x5a96('0x2d')]();});}};}function handleEntityNotFound(_0x377fd0,_0x29d342){return function(_0x4d4445){if(!_0x4d4445){_0x377fd0[_0x5a96('0x2b')](0x194);}return _0x4d4445;};}function handleError(_0x3e83ea,_0x1f874f){_0x1f874f=_0x1f874f||0x1f4;return function(_0x4f11f2){logger[_0x5a96('0x27')](_0x4f11f2[_0x5a96('0x36')]);if(_0x4f11f2[_0x5a96('0x37')]){delete _0x4f11f2[_0x5a96('0x37')];}_0x3e83ea['status'](_0x1f874f)[_0x5a96('0x38')](_0x4f11f2);};}exports[_0x5a96('0x39')]=function(_0xee1faf,_0x2fd9eb){var _0x46c49e={},_0x1fa8e8={},_0x21aa42={'count':0x0,'rows':[]};var _0x5a2071=_['map'](db['SmsMessage'][_0x5a96('0x3a')],function(_0x248061){return{'name':_0x248061[_0x5a96('0x3b')],'type':_0x248061[_0x5a96('0x3c')][_0x5a96('0x3d')]};});_0x1fa8e8[_0x5a96('0x3e')]=_[_0x5a96('0x3f')](_0x5a2071,_0x5a96('0x37'));_0x1fa8e8['query']=_[_0x5a96('0x40')](_0xee1faf[_0x5a96('0x41')]);_0x1fa8e8[_0x5a96('0x42')]=_['intersection'](_0x1fa8e8[_0x5a96('0x3e')],_0x1fa8e8['query']);_0x46c49e['attributes']=_[_0x5a96('0x43')](_0x1fa8e8[_0x5a96('0x3e')],qs['fields'](_0xee1faf[_0x5a96('0x41')][_0x5a96('0x44')]));_0x46c49e[_0x5a96('0x45')]=_0x46c49e[_0x5a96('0x45')]['length']?_0x46c49e[_0x5a96('0x45')]:_0x1fa8e8['model'];if(!_0xee1faf['query']['hasOwnProperty'](_0x5a96('0x46'))){_0x46c49e[_0x5a96('0x30')]=qs[_0x5a96('0x30')](_0xee1faf[_0x5a96('0x41')]['limit']);_0x46c49e[_0x5a96('0x2e')]=qs[_0x5a96('0x2e')](_0xee1faf[_0x5a96('0x41')][_0x5a96('0x2e')]);}_0x46c49e[_0x5a96('0x47')]=qs['sort'](_0xee1faf[_0x5a96('0x41')]['sort']);_0x46c49e[_0x5a96('0x48')]=qs[_0x5a96('0x42')](_[_0x5a96('0x49')](_0xee1faf['query'],_0x1fa8e8['filters']),_0x5a2071);if(_0xee1faf[_0x5a96('0x41')][_0x5a96('0x4a')]){_0x46c49e[_0x5a96('0x48')]=_[_0x5a96('0x4b')](_0x46c49e[_0x5a96('0x48')],{'$or':_[_0x5a96('0x3f')](_0x5a2071,function(_0x176261){if(_0x176261[_0x5a96('0x3c')]!=='VIRTUAL'){var _0x2dd97c={};_0x2dd97c[_0x176261['name']]={'$like':'%'+_0xee1faf[_0x5a96('0x41')][_0x5a96('0x4a')]+'%'};return _0x2dd97c;}})});}_0x46c49e=_[_0x5a96('0x4b')]({},_0x46c49e,_0xee1faf[_0x5a96('0x4c')]);var _0x38e4bc={'where':_0x46c49e['where']};return db['SmsMessage']['count'](_0x38e4bc)[_0x5a96('0x21')](function(_0xc2d098){_0x21aa42['count']=_0xc2d098;if(_0xee1faf[_0x5a96('0x41')][_0x5a96('0x4d')]){_0x46c49e[_0x5a96('0x4e')]=[{'all':!![]}];}return db[_0x5a96('0x4f')][_0x5a96('0x50')](_0x46c49e);})[_0x5a96('0x21')](function(_0x88f822){_0x21aa42[_0x5a96('0x51')]=_0x88f822;return _0x21aa42;})[_0x5a96('0x21')](respondWithFilteredResult(_0x2fd9eb,_0x46c49e))['catch'](handleError(_0x2fd9eb,null));};exports['show']=function(_0x10fd59,_0x30abdc){var _0x1bc353={'raw':!![],'where':{'id':_0x10fd59[_0x5a96('0x52')]['id']}},_0x135909={};_0x135909[_0x5a96('0x3e')]=_[_0x5a96('0x40')](db['SmsMessage'][_0x5a96('0x3a')]);_0x135909[_0x5a96('0x41')]=_[_0x5a96('0x40')](_0x10fd59['query']);_0x135909[_0x5a96('0x42')]=_[_0x5a96('0x43')](_0x135909['model'],_0x135909[_0x5a96('0x41')]);_0x1bc353[_0x5a96('0x45')]=_[_0x5a96('0x43')](_0x135909[_0x5a96('0x3e')],qs['fields'](_0x10fd59[_0x5a96('0x41')][_0x5a96('0x44')]));_0x1bc353[_0x5a96('0x45')]=_0x1bc353[_0x5a96('0x45')][_0x5a96('0x53')]?_0x1bc353['attributes']:_0x135909[_0x5a96('0x3e')];if(_0x10fd59[_0x5a96('0x41')][_0x5a96('0x4d')]){_0x1bc353[_0x5a96('0x4e')]=[{'all':!![]}];}_0x1bc353=_[_0x5a96('0x4b')]({},_0x1bc353,_0x10fd59['options']);return db['SmsMessage'][_0x5a96('0x54')](_0x1bc353)['then'](handleEntityNotFound(_0x30abdc,null))[_0x5a96('0x21')](respondWithResult(_0x30abdc,null))[_0x5a96('0x2a')](handleError(_0x30abdc,null));};exports[_0x5a96('0x55')]=function(_0x2805b0,_0x1aebc1){return db[_0x5a96('0x4f')][_0x5a96('0x55')](_0x2805b0[_0x5a96('0x56')],{})[_0x5a96('0x21')](respondWithResult(_0x1aebc1,0xc9))['catch'](handleError(_0x1aebc1,null));};exports[_0x5a96('0x35')]=function(_0x2012b4,_0x1f18a9){if(_0x2012b4[_0x5a96('0x56')]['id']){delete _0x2012b4[_0x5a96('0x56')]['id'];}return db[_0x5a96('0x4f')][_0x5a96('0x54')]({'where':{'id':_0x2012b4['params']['id']}})['then'](handleEntityNotFound(_0x1f18a9,null))['then'](saveUpdates(_0x2012b4[_0x5a96('0x56')],null))['then'](respondWithResult(_0x1f18a9,null))[_0x5a96('0x2a')](handleError(_0x1f18a9,null));};exports[_0x5a96('0x57')]=function(_0x384034,_0x3629c7){return db[_0x5a96('0x4f')]['find']({'where':{'id':_0x384034[_0x5a96('0x52')]['id']}})['then'](handleEntityNotFound(_0x3629c7,null))[_0x5a96('0x21')](removeEntity(_0x3629c7,null))[_0x5a96('0x2a')](handleError(_0x3629c7,null));};exports[_0x5a96('0x58')]=function(_0x4203e0,_0x1c9d83){return db['SmsMessage']['describe']()[_0x5a96('0x21')](respondWithResult(_0x1c9d83,null))[_0x5a96('0x2a')](handleError(_0x1c9d83,null));};var interaction_log=require('../../config/logger')(_0x5a96('0x59'));exports[_0x5a96('0x5a')]=function(_0x165ca5,_0x3b347a,_0x3a0d6b){var _0x4c1cdc={'agent':{},'channel':_0x5a96('0x5b')};if(_0x165ca5[_0x5a96('0x56')]['id']){delete _0x165ca5[_0x5a96('0x56')]['id'];}_0x165ca5[_0x5a96('0x56')]['read']=!![];_0x165ca5[_0x5a96('0x56')][_0x5a96('0x5c')]=moment()['format'](_0x5a96('0x5d'));_0x165ca5[_0x5a96('0x56')]['UserId']=_0x165ca5['body']['UserId']||_0x165ca5['user']['id'];_0x4c1cdc['agent']['id']=_0x165ca5[_0x5a96('0x56')][_0x5a96('0x5e')];return db[_0x5a96('0x4f')][_0x5a96('0x54')]({'where':{'id':_0x165ca5[_0x5a96('0x52')]['id'],'UserId':null}})[_0x5a96('0x21')](handleEntityNotFound(_0x3b347a,null))[_0x5a96('0x21')](saveUpdates(_0x165ca5[_0x5a96('0x56')],null))[_0x5a96('0x21')](function(_0x167985){if(_0x167985){_0x4c1cdc[_0x5a96('0x28')]=_0x167985['get']({'plain':!![]});return db[_0x5a96('0x5f')][_0x5a96('0x54')]({'where':{'id':_0x167985[_0x5a96('0x60')]}});}return null;})[_0x5a96('0x21')](handleEntityNotFound(_0x3b347a,null))[_0x5a96('0x21')](function(_0x24c4fe){if(_0x24c4fe){return _0x24c4fe[_0x5a96('0x35')]({'UserId':_0x165ca5[_0x5a96('0x56')][_0x5a96('0x5e')],'read1stAt':_['isNil'](_0x24c4fe[_0x5a96('0x61')])?moment()[_0x5a96('0x62')](_0x5a96('0x5d')):undefined});}return null;})[_0x5a96('0x21')](function(_0x27740a){if(_0x27740a){_0x4c1cdc['interaction']=_0x27740a[_0x5a96('0x63')]({'plain':!![]});interaction_log[_0x5a96('0x22')]('[SMSMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x165ca5[_0x5a96('0x64')]['id'],_0x165ca5[_0x5a96('0x64')][_0x5a96('0x37')],_0x165ca5[_0x5a96('0x64')][_0x5a96('0x65')],_0x4c1cdc[_0x5a96('0x66')]['id'],_0x165ca5[_0x5a96('0x56')]?JSON['stringify'](_0x165ca5[_0x5a96('0x56')]):'null');return respondWithRpcPromise(_0x5a96('0x67'),_0x5a96('0x68'),_0x4c1cdc);}return null;})[_0x5a96('0x21')](function(_0x1182ae){var _0x2b67fc='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x1182ae[_0x5a96('0x28')]['ContactId'];return db[_0x5a96('0x69')]['query'](_0x2b67fc,{'type':db[_0x5a96('0x6a')][_0x5a96('0x6b')][_0x5a96('0x6c')],'raw':!![]})['then'](function(_0x3a41e4){return _0x3a41e4;});})[_0x5a96('0x21')](function(_0xaf5ce4){if(_0xaf5ce4){_0x4c1cdc['message'][_0x5a96('0x6d')]=_0xaf5ce4[0x0];if(!_0x165ca5[_0x5a96('0x56')][_0x5a96('0x5e')])return;return db[_0x5a96('0x6e')][_0x5a96('0x54')]({'where':{'id':_0x165ca5[_0x5a96('0x56')][_0x5a96('0x5e')],'role':_0x5a96('0x6f')},'attributes':['id',_0x5a96('0x37'),_0x5a96('0x70'),_0x5a96('0x71'),_0x5a96('0x72')],'raw':!![]});}return null;})[_0x5a96('0x21')](function(_0x1cf2d3){if(!_0x1cf2d3)return null;_0x4c1cdc[_0x5a96('0x28')][_0x5a96('0x6f')]=_0x1cf2d3;return _0x4c1cdc;})[_0x5a96('0x21')](function(_0x596dac){if(_0x596dac){if(_0x165ca5[_0x5a96('0x56')][_0x5a96('0x73')]){_0x4c1cdc[_0x5a96('0x28')][_0x5a96('0x74')]=util[_0x5a96('0x62')](_0x5a96('0x75'),_0x165ca5[_0x5a96('0x64')][_0x5a96('0x37')]);_0x4c1cdc[_0x5a96('0x28')][_0x5a96('0x76')]=_0x4c1cdc[_0x5a96('0x76')];_0x4c1cdc[_0x5a96('0x28')][_0x5a96('0x77')]=_0x4c1cdc['channel'];_0x4c1cdc[_0x5a96('0x28')]['event']=_0x5a96('0x5a');return respondWithRpcPromise(_0x5a96('0x78'),'EventManager',{'event':'acceptmessage','message':_0x4c1cdc['message']},client9002)[_0x5a96('0x21')](function(){return _0x4c1cdc;});}return _0x4c1cdc;}return null;})[_0x5a96('0x21')](respondWithResult(_0x3b347a,null))[_0x5a96('0x2a')](handleError(_0x3b347a,null));};var interaction_log=require('../../config/logger')(_0x5a96('0x59'));exports[_0x5a96('0x79')]=function(_0x1f6860,_0x217eab,_0x351cf3){var _0x4fcfde={'agent':{},'channel':'sms'};if(_0x1f6860[_0x5a96('0x56')]['id']){delete _0x1f6860['body']['id'];}_0x1f6860[_0x5a96('0x56')]['UserId']=_0x1f6860[_0x5a96('0x56')][_0x5a96('0x5e')]||_0x1f6860[_0x5a96('0x64')]['id'];_0x4fcfde[_0x5a96('0x6f')]['id']=_0x1f6860[_0x5a96('0x56')][_0x5a96('0x5e')];return db[_0x5a96('0x4f')][_0x5a96('0x54')]({'where':{'id':_0x1f6860['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x217eab,null))[_0x5a96('0x21')](function(_0x3310e6){if(_0x3310e6){_0x4fcfde['message']=_0x3310e6[_0x5a96('0x63')]({'plain':!![]});return db['SmsInteraction'][_0x5a96('0x54')]({'where':{'id':_0x3310e6[_0x5a96('0x60')]}});}return null;})[_0x5a96('0x21')](handleEntityNotFound(_0x217eab,null))[_0x5a96('0x21')](function(_0x2aa3a3){if(_0x2aa3a3){_0x4fcfde[_0x5a96('0x66')]=_0x2aa3a3[_0x5a96('0x63')]({'plain':!![]});interaction_log[_0x5a96('0x22')](_0x5a96('0x7a'),_0x1f6860[_0x5a96('0x64')]['id'],_0x1f6860[_0x5a96('0x64')][_0x5a96('0x37')],_0x1f6860[_0x5a96('0x64')][_0x5a96('0x65')],_0x4fcfde[_0x5a96('0x66')]['id'],_0x1f6860['body']?JSON[_0x5a96('0x26')](_0x1f6860[_0x5a96('0x56')]):'null');return respondWithRpcPromise(_0x5a96('0x7b'),_0x5a96('0x7c'),_0x4fcfde);}return null;})['then'](function(_0x5c6379){var _0x23cf89='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x5c6379['message'][_0x5a96('0x7d')];return db[_0x5a96('0x69')]['query'](_0x23cf89,{'type':db[_0x5a96('0x6a')][_0x5a96('0x6b')]['SELECT'],'raw':!![]})[_0x5a96('0x21')](function(_0x2f5eb0){return _0x2f5eb0;});})[_0x5a96('0x21')](function(_0x47414c){if(_0x47414c){_0x4fcfde[_0x5a96('0x28')][_0x5a96('0x6d')]=_0x47414c[0x0];if(!_0x1f6860['body'][_0x5a96('0x5e')])return;return db[_0x5a96('0x6e')][_0x5a96('0x54')]({'where':{'id':_0x1f6860['body'][_0x5a96('0x5e')],'role':_0x5a96('0x6f')},'attributes':['id',_0x5a96('0x37'),_0x5a96('0x70'),_0x5a96('0x71'),_0x5a96('0x72')],'raw':!![]});}return null;})[_0x5a96('0x21')](function(_0xf37a5f){if(!_0xf37a5f)return null;_0x4fcfde[_0x5a96('0x28')]['agent']=_0xf37a5f;return _0x4fcfde;})[_0x5a96('0x21')](function(_0x28e53f){if(_0x28e53f){_0x28e53f[_0x5a96('0x28')][_0x5a96('0x74')]=util[_0x5a96('0x62')](_0x5a96('0x75'),_0x1f6860[_0x5a96('0x64')][_0x5a96('0x37')]);_0x28e53f['message'][_0x5a96('0x76')]=_0x4fcfde[_0x5a96('0x76')];_0x28e53f[_0x5a96('0x28')][_0x5a96('0x77')]=_0x4fcfde[_0x5a96('0x76')];_0x28e53f[_0x5a96('0x28')][_0x5a96('0x7e')]='reject';respondWithRpcPromise(_0x5a96('0x78'),_0x5a96('0x78'),{'event':_0x5a96('0x7f'),'message':_0x28e53f[_0x5a96('0x28')]},client9002);return _0x4fcfde;}return null;})[_0x5a96('0x21')](respondWithResult(_0x217eab,null))[_0x5a96('0x2a')](handleError(_0x217eab,null));};exports[_0x5a96('0x2c')]=function(_0xc96c9e,_0x221de4,_0x590670){if(_0xc96c9e[_0x5a96('0x56')]['id']){delete _0xc96c9e[_0x5a96('0x56')]['id'];}var _0x105ec2;return db[_0x5a96('0x4f')][_0x5a96('0x54')]({'where':{'id':_0xc96c9e[_0x5a96('0x52')]['id']}})[_0x5a96('0x21')](handleEntityNotFound(_0x221de4,null))['then'](function(_0xfd0584){if(_0xfd0584){_0x105ec2=_0xfd0584;return db[_0x5a96('0x80')]['find']({'where':{'id':_0xfd0584[_0x5a96('0x81')]}});}})[_0x5a96('0x21')](handleEntityNotFound(_0x221de4,null))[_0x5a96('0x21')](function(_0xd01059){if(_0xd01059){logger[_0x5a96('0x82')](_0x5a96('0x25'),'status',_0x5a96('0x83'),_0xd01059[_0x5a96('0x3c')],util[_0x5a96('0x84')](_0xc96c9e[_0x5a96('0x56')],{'showHidden':![],'depth':null}));switch(_0xd01059[_0x5a96('0x3c')]){case _0x5a96('0x85'):if(_0xc96c9e['body'][_0x5a96('0x86')]&&_0xc96c9e[_0x5a96('0x56')][_0x5a96('0x86')]===_0x105ec2[_0x5a96('0x87')]){return _0x105ec2['update']({'read':!![]});}else{logger[_0x5a96('0x27')](_0x5a96('0x88'),_0x5a96('0x2c'),'twilio',util['inspect'](_0xc96c9e[_0x5a96('0x56')],{'showHidden':![],'depth':null}));}break;case _0x5a96('0x89'):if(_0xc96c9e['body'][_0x5a96('0x8a')]&&_0xc96c9e['body']['MessageUUID']===_0x105ec2[_0x5a96('0x87')]&&_[_0x5a96('0x8b')]([_0x5a96('0x8c'),_0x5a96('0x8d')],_0xc96c9e['body'][_0x5a96('0x8e')])>=0x0){return _0x105ec2[_0x5a96('0x35')]({'read':!![]});}else{logger[_0x5a96('0x27')](_0x5a96('0x88'),_0x5a96('0x2c'),_0x5a96('0x8f'),util['inspect'](_0xc96c9e[_0x5a96('0x56')],{'showHidden':![],'depth':null}));}break;case'infobip':var _0x3b0ee5=_0xc96c9e['body'][_0x5a96('0x90')][0x0];if(_0x3b0ee5['status'][_0x5a96('0x91')]===_0x5a96('0x92')){return _0x105ec2[_0x5a96('0x35')]({'read':!![]});}else{logger[_0x5a96('0x27')](_0x5a96('0x88'),_0x5a96('0x2c'),_0x5a96('0x93'),util[_0x5a96('0x84')](_0xc96c9e[_0x5a96('0x56')],{'showHidden':![],'depth':null}));}break;}return _0x105ec2;}})[_0x5a96('0x21')](respondWithResult(_0x221de4,null))[_0x5a96('0x2a')](handleError(_0x221de4,null));};