Built motion from commit 47436d59.|2.6.7
[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 _0x2bce=['error','code','message','info','result','sendStatus','status','end','json','offset','undefined','limit','count','apply','save','destroy','stack','name','send','index','map','SmsMessage','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','rows','catch','keys','length','include','find','create','body','params','describe','sms-interactions','accept','sms','readAt','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','get','SmsInteractionId','update','read1stAt','interaction','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','Sequelize','SELECT','contact','User','agent','fullname','email','internal','manual','SIP/%s','channel','motionChannel','EventManager','acceptmessage','reject','SmsInteraction','role','RejectMessage','rejectMessage','QueryTypes','event','rejectmessage','SmsAccount','SmsAccountId','received\x20delivery\x20report\x20from','inspect','twilio','MessageSid','SmsAccount,\x20%s,\x20%s,\x20%s','MessageUUID','messageId','sent','delivered','plivio','infobip','results','groupName','DELIVERED','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsMessage.socket','jayson/promise','http','client','then','SmsMessage,\x20%s,\x20%s','request\x20sent','debug','stringify'];(function(_0x5898a7,_0x45a027){var _0x4a3a6e=function(_0x22d28e){while(--_0x22d28e){_0x5898a7['push'](_0x5898a7['shift']());}};_0x4a3a6e(++_0x45a027);}(_0x2bce,0x6d));var _0xe2bc=function(_0x14567a,_0x34a0dd){_0x14567a=_0x14567a-0x0;var _0x2ac4f2=_0x2bce[_0x14567a];return _0x2ac4f2;};'use strict';var emlformat=require(_0xe2bc('0x0'));var rimraf=require(_0xe2bc('0x1'));var zipdir=require(_0xe2bc('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe2bc('0x3'));var moment=require('moment');var BPromise=require(_0xe2bc('0x4'));var Mustache=require(_0xe2bc('0x5'));var util=require(_0xe2bc('0x6'));var path=require(_0xe2bc('0x7'));var sox=require(_0xe2bc('0x8'));var csv=require(_0xe2bc('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe2bc('0xa'));var _=require('lodash');var squel=require(_0xe2bc('0xb'));var crypto=require(_0xe2bc('0xc'));var jsforce=require(_0xe2bc('0xd'));var deskjs=require(_0xe2bc('0xe'));var toCsv=require('to-csv');var querystring=require(_0xe2bc('0xf'));var Papa=require('papaparse');var Redis=require(_0xe2bc('0x10'));var authService=require(_0xe2bc('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xe2bc('0x12'));var hardwareService=require(_0xe2bc('0x13'));var logger=require(_0xe2bc('0x14'))('api');var utils=require('../../config/utils');var config=require(_0xe2bc('0x15'));var licenseUtil=require(_0xe2bc('0x16'));var db=require(_0xe2bc('0x17'))['db'];config[_0xe2bc('0x18')]=_[_0xe2bc('0x19')](config[_0xe2bc('0x18')],{'host':_0xe2bc('0x1a'),'port':0x18eb});var socket=require(_0xe2bc('0x1b'))(new Redis(config[_0xe2bc('0x18')]));require(_0xe2bc('0x1c'))['register'](socket);var jayson=require(_0xe2bc('0x1d'));var client=jayson['client'][_0xe2bc('0x1e')]({'port':0x232c});var client9002=jayson[_0xe2bc('0x1f')][_0xe2bc('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x1b37b7,_0x46b0d5,_0x3c4c09,_0x38f7ff){return new BPromise(function(_0x59af2e,_0x39ab92){var _0x8400c=_0x38f7ff||client;return _0x8400c['request'](_0x1b37b7,_0x3c4c09)[_0xe2bc('0x20')](function(_0x152ae7){logger['info'](_0xe2bc('0x21'),_0x46b0d5,_0xe2bc('0x22'));logger[_0xe2bc('0x23')]('SmsMessage,\x20%s,\x20%s,\x20%s',_0x46b0d5,_0xe2bc('0x22'),JSON[_0xe2bc('0x24')](_0x152ae7));if(_0x152ae7[_0xe2bc('0x25')]){if(_0x152ae7[_0xe2bc('0x25')][_0xe2bc('0x26')]===0x1f4){logger[_0xe2bc('0x25')](_0xe2bc('0x21'),_0x46b0d5,_0x152ae7[_0xe2bc('0x25')][_0xe2bc('0x27')]);return _0x39ab92(_0x152ae7['error'][_0xe2bc('0x27')]);}logger['error'](_0xe2bc('0x21'),_0x46b0d5,_0x152ae7[_0xe2bc('0x25')][_0xe2bc('0x27')]);return _0x59af2e(_0x152ae7[_0xe2bc('0x25')][_0xe2bc('0x27')]);}else{logger[_0xe2bc('0x28')](_0xe2bc('0x21'),_0x46b0d5,'request\x20sent');_0x59af2e(_0x152ae7[_0xe2bc('0x29')][_0xe2bc('0x27')]);}})['catch'](function(_0x2a16f0){logger[_0xe2bc('0x25')](_0xe2bc('0x21'),_0x46b0d5,_0x2a16f0);_0x39ab92(_0x2a16f0);});});}function respondWithStatusCode(_0x2d2eb1,_0x21c12a){_0x21c12a=_0x21c12a||0xcc;return function(_0x175131){if(_0x175131){return _0x2d2eb1[_0xe2bc('0x2a')](_0x21c12a);}return _0x2d2eb1[_0xe2bc('0x2b')](_0x21c12a)[_0xe2bc('0x2c')]();};}function respondWithResult(_0x52bff2,_0x1b0e05){_0x1b0e05=_0x1b0e05||0xc8;return function(_0x16b366){if(_0x16b366){return _0x52bff2[_0xe2bc('0x2b')](_0x1b0e05)[_0xe2bc('0x2d')](_0x16b366);}};}function respondWithFilteredResult(_0x18098e,_0x415054){return function(_0x279076){if(_0x279076){var _0x10e98c=typeof _0x415054[_0xe2bc('0x2e')]===_0xe2bc('0x2f')&&typeof _0x415054[_0xe2bc('0x30')]===_0xe2bc('0x2f');var _0x1cbf87=_0x279076[_0xe2bc('0x31')];var _0x35ebbf=_0x10e98c?0x0:_0x415054[_0xe2bc('0x2e')];var _0x1cb9c4=_0x10e98c?_0x279076[_0xe2bc('0x31')]:_0x415054[_0xe2bc('0x2e')]+_0x415054[_0xe2bc('0x30')];var _0x4c89a4;if(_0x1cb9c4>=_0x1cbf87){_0x1cb9c4=_0x1cbf87;_0x4c89a4=0xc8;}else{_0x4c89a4=0xce;}_0x18098e[_0xe2bc('0x2b')](_0x4c89a4);return _0x18098e['set']('Content-Range',_0x35ebbf+'-'+_0x1cb9c4+'/'+_0x1cbf87)[_0xe2bc('0x2d')](_0x279076);}return null;};}function patchUpdates(_0x598b70){return function(_0x112c61){try{jsonpatch[_0xe2bc('0x32')](_0x112c61,_0x598b70,!![]);}catch(_0x452626){return BPromise['reject'](_0x452626);}return _0x112c61[_0xe2bc('0x33')]();};}function saveUpdates(_0x2ba426,_0x5ea381){return function(_0x144382){if(_0x144382){return _0x144382['update'](_0x2ba426)[_0xe2bc('0x20')](function(_0x2b1858){return _0x2b1858;});}return null;};}function removeEntity(_0x29ad13,_0x5263ab){return function(_0x234c1e){if(_0x234c1e){return _0x234c1e[_0xe2bc('0x34')]()[_0xe2bc('0x20')](function(){_0x29ad13[_0xe2bc('0x2b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x541eb6,_0x23a846){return function(_0x113447){if(!_0x113447){_0x541eb6[_0xe2bc('0x2a')](0x194);}return _0x113447;};}function handleError(_0x127831,_0x2a6382){_0x2a6382=_0x2a6382||0x1f4;return function(_0x367272){logger[_0xe2bc('0x25')](_0x367272[_0xe2bc('0x35')]);if(_0x367272[_0xe2bc('0x36')]){delete _0x367272['name'];}_0x127831['status'](_0x2a6382)[_0xe2bc('0x37')](_0x367272);};}exports[_0xe2bc('0x38')]=function(_0x3ce838,_0x4b2f62){var _0x4474b6={},_0x24caa1={},_0x27e32a={'count':0x0,'rows':[]};var _0x5952c7=_[_0xe2bc('0x39')](db[_0xe2bc('0x3a')][_0xe2bc('0x3b')],function(_0x1b3907){return{'name':_0x1b3907[_0xe2bc('0x3c')],'type':_0x1b3907[_0xe2bc('0x3d')][_0xe2bc('0x3e')]};});_0x24caa1[_0xe2bc('0x3f')]=_['map'](_0x5952c7,_0xe2bc('0x36'));_0x24caa1[_0xe2bc('0x40')]=_['keys'](_0x3ce838['query']);_0x24caa1[_0xe2bc('0x41')]=_[_0xe2bc('0x42')](_0x24caa1[_0xe2bc('0x3f')],_0x24caa1['query']);_0x4474b6['attributes']=_[_0xe2bc('0x42')](_0x24caa1[_0xe2bc('0x3f')],qs[_0xe2bc('0x43')](_0x3ce838[_0xe2bc('0x40')]['fields']));_0x4474b6['attributes']=_0x4474b6[_0xe2bc('0x44')]['length']?_0x4474b6[_0xe2bc('0x44')]:_0x24caa1['model'];if(!_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x45')](_0xe2bc('0x46'))){_0x4474b6[_0xe2bc('0x30')]=qs[_0xe2bc('0x30')](_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x30')]);_0x4474b6[_0xe2bc('0x2e')]=qs[_0xe2bc('0x2e')](_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x2e')]);}_0x4474b6[_0xe2bc('0x47')]=qs['sort'](_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x48')]);_0x4474b6[_0xe2bc('0x49')]=qs[_0xe2bc('0x41')](_[_0xe2bc('0x4a')](_0x3ce838[_0xe2bc('0x40')],_0x24caa1[_0xe2bc('0x41')]),_0x5952c7);if(_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x4b')]){_0x4474b6['where']=_['merge'](_0x4474b6[_0xe2bc('0x49')],{'$or':_['map'](_0x5952c7,function(_0x1482eb){if(_0x1482eb[_0xe2bc('0x3d')]!=='VIRTUAL'){var _0x4dce24={};_0x4dce24[_0x1482eb[_0xe2bc('0x36')]]={'$like':'%'+_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x4b')]+'%'};return _0x4dce24;}})});}_0x4474b6=_[_0xe2bc('0x4c')]({},_0x4474b6,_0x3ce838[_0xe2bc('0x4d')]);var _0x311dc6={'where':_0x4474b6['where']};return db[_0xe2bc('0x3a')]['count'](_0x311dc6)[_0xe2bc('0x20')](function(_0x3c8062){_0x27e32a['count']=_0x3c8062;if(_0x3ce838[_0xe2bc('0x40')][_0xe2bc('0x4e')]){_0x4474b6['include']=[{'all':!![]}];}return db[_0xe2bc('0x3a')]['findAll'](_0x4474b6);})[_0xe2bc('0x20')](function(_0x92160e){_0x27e32a[_0xe2bc('0x4f')]=_0x92160e;return _0x27e32a;})[_0xe2bc('0x20')](respondWithFilteredResult(_0x4b2f62,_0x4474b6))[_0xe2bc('0x50')](handleError(_0x4b2f62,null));};exports['show']=function(_0x3d1dba,_0xe1647a){var _0x1e8228={'raw':!![],'where':{'id':_0x3d1dba['params']['id']}},_0x2981fe={};_0x2981fe[_0xe2bc('0x3f')]=_['keys'](db[_0xe2bc('0x3a')][_0xe2bc('0x3b')]);_0x2981fe[_0xe2bc('0x40')]=_[_0xe2bc('0x51')](_0x3d1dba[_0xe2bc('0x40')]);_0x2981fe['filters']=_[_0xe2bc('0x42')](_0x2981fe['model'],_0x2981fe[_0xe2bc('0x40')]);_0x1e8228[_0xe2bc('0x44')]=_['intersection'](_0x2981fe[_0xe2bc('0x3f')],qs[_0xe2bc('0x43')](_0x3d1dba[_0xe2bc('0x40')][_0xe2bc('0x43')]));_0x1e8228[_0xe2bc('0x44')]=_0x1e8228[_0xe2bc('0x44')][_0xe2bc('0x52')]?_0x1e8228[_0xe2bc('0x44')]:_0x2981fe['model'];if(_0x3d1dba[_0xe2bc('0x40')][_0xe2bc('0x4e')]){_0x1e8228[_0xe2bc('0x53')]=[{'all':!![]}];}_0x1e8228=_['merge']({},_0x1e8228,_0x3d1dba['options']);return db[_0xe2bc('0x3a')][_0xe2bc('0x54')](_0x1e8228)['then'](handleEntityNotFound(_0xe1647a,null))[_0xe2bc('0x20')](respondWithResult(_0xe1647a,null))['catch'](handleError(_0xe1647a,null));};exports[_0xe2bc('0x55')]=function(_0x59008b,_0x46252f){return db[_0xe2bc('0x3a')]['create'](_0x59008b[_0xe2bc('0x56')],{})['then'](respondWithResult(_0x46252f,0xc9))[_0xe2bc('0x50')](handleError(_0x46252f,null));};exports['update']=function(_0x2b0dfe,_0x564cca){if(_0x2b0dfe[_0xe2bc('0x56')]['id']){delete _0x2b0dfe[_0xe2bc('0x56')]['id'];}return db[_0xe2bc('0x3a')][_0xe2bc('0x54')]({'where':{'id':_0x2b0dfe[_0xe2bc('0x57')]['id']}})[_0xe2bc('0x20')](handleEntityNotFound(_0x564cca,null))[_0xe2bc('0x20')](saveUpdates(_0x2b0dfe[_0xe2bc('0x56')],null))[_0xe2bc('0x20')](respondWithResult(_0x564cca,null))[_0xe2bc('0x50')](handleError(_0x564cca,null));};exports[_0xe2bc('0x34')]=function(_0x2b4161,_0x331218){return db[_0xe2bc('0x3a')][_0xe2bc('0x54')]({'where':{'id':_0x2b4161[_0xe2bc('0x57')]['id']}})[_0xe2bc('0x20')](handleEntityNotFound(_0x331218,null))[_0xe2bc('0x20')](removeEntity(_0x331218,null))[_0xe2bc('0x50')](handleError(_0x331218,null));};exports[_0xe2bc('0x58')]=function(_0x16dc29,_0x4619d0){return db[_0xe2bc('0x3a')][_0xe2bc('0x58')]()[_0xe2bc('0x20')](respondWithResult(_0x4619d0,null))[_0xe2bc('0x50')](handleError(_0x4619d0,null));};var interaction_log=require('../../config/logger')(_0xe2bc('0x59'));exports[_0xe2bc('0x5a')]=function(_0x490411,_0x4f19bd,_0x50f60e){var _0x1ac9e3={'agent':{},'channel':_0xe2bc('0x5b')};if(_0x490411[_0xe2bc('0x56')]['id']){delete _0x490411[_0xe2bc('0x56')]['id'];}_0x490411[_0xe2bc('0x56')]['read']=!![];_0x490411['body'][_0xe2bc('0x5c')]=moment()[_0xe2bc('0x5d')](_0xe2bc('0x5e'));_0x490411[_0xe2bc('0x56')][_0xe2bc('0x5f')]=_0x490411[_0xe2bc('0x56')][_0xe2bc('0x5f')]||_0x490411[_0xe2bc('0x60')]['id'];_0x1ac9e3['agent']['id']=_0x490411['body'][_0xe2bc('0x5f')];return db[_0xe2bc('0x3a')][_0xe2bc('0x54')]({'where':{'id':_0x490411[_0xe2bc('0x57')]['id'],'UserId':null}})[_0xe2bc('0x20')](handleEntityNotFound(_0x4f19bd,null))[_0xe2bc('0x20')](saveUpdates(_0x490411['body'],null))[_0xe2bc('0x20')](function(_0x2fe64a){if(_0x2fe64a){_0x1ac9e3['message']=_0x2fe64a[_0xe2bc('0x61')]({'plain':!![]});return db['SmsInteraction'][_0xe2bc('0x54')]({'where':{'id':_0x2fe64a[_0xe2bc('0x62')]}});}return null;})['then'](handleEntityNotFound(_0x4f19bd,null))[_0xe2bc('0x20')](function(_0x45fcee){if(_0x45fcee){return _0x45fcee[_0xe2bc('0x63')]({'UserId':_0x490411[_0xe2bc('0x56')][_0xe2bc('0x5f')],'read1stAt':_['isNil'](_0x45fcee[_0xe2bc('0x64')])?moment()[_0xe2bc('0x5d')](_0xe2bc('0x5e')):undefined});}return null;})[_0xe2bc('0x20')](function(_0x859268){if(_0x859268){_0x1ac9e3[_0xe2bc('0x65')]=_0x859268['get']({'plain':!![]});interaction_log[_0xe2bc('0x28')]('[SMSMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x490411[_0xe2bc('0x60')]['id'],_0x490411[_0xe2bc('0x60')]['name'],_0x490411[_0xe2bc('0x60')]['role'],_0x1ac9e3['interaction']['id'],_0x490411['body']?JSON['stringify'](_0x490411[_0xe2bc('0x56')]):_0xe2bc('0x66'));return respondWithRpcPromise(_0xe2bc('0x67'),_0xe2bc('0x68'),_0x1ac9e3);}return null;})[_0xe2bc('0x20')](function(_0x3ad151){var _0x489660=_0xe2bc('0x69')+_0x3ad151[_0xe2bc('0x27')][_0xe2bc('0x6a')];return db[_0xe2bc('0x6b')]['query'](_0x489660,{'type':db[_0xe2bc('0x6c')]['QueryTypes'][_0xe2bc('0x6d')],'raw':!![]})['then'](function(_0x4efc35){return _0x4efc35;});})[_0xe2bc('0x20')](function(_0x29dfd7){if(_0x29dfd7){_0x1ac9e3['message'][_0xe2bc('0x6e')]=_0x29dfd7[0x0];if(!_0x490411[_0xe2bc('0x56')][_0xe2bc('0x5f')])return;return db[_0xe2bc('0x6f')][_0xe2bc('0x54')]({'where':{'id':_0x490411[_0xe2bc('0x56')][_0xe2bc('0x5f')],'role':_0xe2bc('0x70')},'attributes':['id',_0xe2bc('0x36'),_0xe2bc('0x71'),_0xe2bc('0x72'),_0xe2bc('0x73')],'raw':!![]});}return null;})[_0xe2bc('0x20')](function(_0x303363){if(!_0x303363)return null;_0x1ac9e3[_0xe2bc('0x27')][_0xe2bc('0x70')]=_0x303363;return _0x1ac9e3;})[_0xe2bc('0x20')](function(_0x1d50e7){if(_0x1d50e7){if(_0x490411[_0xe2bc('0x56')][_0xe2bc('0x74')]){_0x1ac9e3[_0xe2bc('0x27')]['interface']=util[_0xe2bc('0x5d')](_0xe2bc('0x75'),_0x490411['user'][_0xe2bc('0x36')]);_0x1ac9e3[_0xe2bc('0x27')][_0xe2bc('0x76')]=_0x1ac9e3[_0xe2bc('0x76')];_0x1ac9e3['message'][_0xe2bc('0x77')]=_0x1ac9e3[_0xe2bc('0x76')];_0x1ac9e3[_0xe2bc('0x27')]['event']=_0xe2bc('0x5a');return respondWithRpcPromise(_0xe2bc('0x78'),_0xe2bc('0x78'),{'event':_0xe2bc('0x79'),'message':_0x1ac9e3['message']},client9002)['then'](function(){return _0x1ac9e3;});}return _0x1ac9e3;}return null;})[_0xe2bc('0x20')](respondWithResult(_0x4f19bd,null))[_0xe2bc('0x50')](handleError(_0x4f19bd,null));};var interaction_log=require(_0xe2bc('0x14'))(_0xe2bc('0x59'));exports[_0xe2bc('0x7a')]=function(_0x4f1560,_0x51a516,_0x39f1b5){var _0x3dffe0={'agent':{},'channel':_0xe2bc('0x5b')};if(_0x4f1560[_0xe2bc('0x56')]['id']){delete _0x4f1560[_0xe2bc('0x56')]['id'];}_0x4f1560['body']['UserId']=_0x4f1560[_0xe2bc('0x56')][_0xe2bc('0x5f')]||_0x4f1560[_0xe2bc('0x60')]['id'];_0x3dffe0[_0xe2bc('0x70')]['id']=_0x4f1560[_0xe2bc('0x56')][_0xe2bc('0x5f')];return db['SmsMessage'][_0xe2bc('0x54')]({'where':{'id':_0x4f1560['params']['id'],'UserId':null}})['then'](handleEntityNotFound(_0x51a516,null))['then'](function(_0x26b4d8){if(_0x26b4d8){_0x3dffe0['message']=_0x26b4d8[_0xe2bc('0x61')]({'plain':!![]});return db[_0xe2bc('0x7b')]['find']({'where':{'id':_0x26b4d8[_0xe2bc('0x62')]}});}return null;})['then'](handleEntityNotFound(_0x51a516,null))[_0xe2bc('0x20')](function(_0x3810c9){if(_0x3810c9){_0x3dffe0[_0xe2bc('0x65')]=_0x3810c9[_0xe2bc('0x61')]({'plain':!![]});interaction_log[_0xe2bc('0x28')]('[SMSMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x4f1560[_0xe2bc('0x60')]['id'],_0x4f1560[_0xe2bc('0x60')]['name'],_0x4f1560[_0xe2bc('0x60')][_0xe2bc('0x7c')],_0x3dffe0[_0xe2bc('0x65')]['id'],_0x4f1560[_0xe2bc('0x56')]?JSON[_0xe2bc('0x24')](_0x4f1560[_0xe2bc('0x56')]):'null');return respondWithRpcPromise(_0xe2bc('0x7d'),_0xe2bc('0x7e'),_0x3dffe0);}return null;})[_0xe2bc('0x20')](function(_0x5ead88){var _0x58b45a=_0xe2bc('0x69')+_0x5ead88[_0xe2bc('0x27')][_0xe2bc('0x6a')];return db[_0xe2bc('0x6b')][_0xe2bc('0x40')](_0x58b45a,{'type':db[_0xe2bc('0x6c')][_0xe2bc('0x7f')][_0xe2bc('0x6d')],'raw':!![]})[_0xe2bc('0x20')](function(_0x2970db){return _0x2970db;});})[_0xe2bc('0x20')](function(_0x1917a0){if(_0x1917a0){_0x3dffe0['message'][_0xe2bc('0x6e')]=_0x1917a0[0x0];if(!_0x4f1560[_0xe2bc('0x56')][_0xe2bc('0x5f')])return;return db[_0xe2bc('0x6f')][_0xe2bc('0x54')]({'where':{'id':_0x4f1560['body']['UserId'],'role':_0xe2bc('0x70')},'attributes':['id',_0xe2bc('0x36'),_0xe2bc('0x71'),'email',_0xe2bc('0x73')],'raw':!![]});}return null;})['then'](function(_0x2d43ad){if(!_0x2d43ad)return null;_0x3dffe0[_0xe2bc('0x27')][_0xe2bc('0x70')]=_0x2d43ad;return _0x3dffe0;})[_0xe2bc('0x20')](function(_0x2c0243){if(_0x2c0243){_0x2c0243[_0xe2bc('0x27')]['interface']=util[_0xe2bc('0x5d')](_0xe2bc('0x75'),_0x4f1560[_0xe2bc('0x60')][_0xe2bc('0x36')]);_0x2c0243[_0xe2bc('0x27')]['channel']=_0x3dffe0[_0xe2bc('0x76')];_0x2c0243[_0xe2bc('0x27')][_0xe2bc('0x77')]=_0x3dffe0['channel'];_0x2c0243[_0xe2bc('0x27')][_0xe2bc('0x80')]='reject';respondWithRpcPromise(_0xe2bc('0x78'),_0xe2bc('0x78'),{'event':_0xe2bc('0x81'),'message':_0x2c0243['message']},client9002);return _0x3dffe0;}return null;})[_0xe2bc('0x20')](respondWithResult(_0x51a516,null))[_0xe2bc('0x50')](handleError(_0x51a516,null));};exports[_0xe2bc('0x2b')]=function(_0x1b74b4,_0x273f14,_0x3356f6){if(_0x1b74b4[_0xe2bc('0x56')]['id']){delete _0x1b74b4['body']['id'];}var _0x4edd7f;return db[_0xe2bc('0x3a')][_0xe2bc('0x54')]({'where':{'id':_0x1b74b4[_0xe2bc('0x57')]['id']}})[_0xe2bc('0x20')](handleEntityNotFound(_0x273f14,null))['then'](function(_0x1e0100){if(_0x1e0100){_0x4edd7f=_0x1e0100;return db[_0xe2bc('0x82')]['find']({'where':{'id':_0x1e0100[_0xe2bc('0x83')]}});}})['then'](handleEntityNotFound(_0x273f14,null))[_0xe2bc('0x20')](function(_0x2ffa09){if(_0x2ffa09){logger[_0xe2bc('0x23')]('SmsMessage,\x20%s,\x20%s,\x20%s','status',_0xe2bc('0x84'),_0x2ffa09[_0xe2bc('0x3d')],util[_0xe2bc('0x85')](_0x1b74b4['body'],{'showHidden':![],'depth':null}));switch(_0x2ffa09[_0xe2bc('0x3d')]){case _0xe2bc('0x86'):if(_0x1b74b4['body']['MessageSid']&&_0x1b74b4['body'][_0xe2bc('0x87')]===_0x4edd7f['messageId']){return _0x4edd7f[_0xe2bc('0x63')]({'read':!![]});}else{logger[_0xe2bc('0x25')](_0xe2bc('0x88'),'status',_0xe2bc('0x86'),util[_0xe2bc('0x85')](_0x1b74b4[_0xe2bc('0x56')],{'showHidden':![],'depth':null}));}break;case'plivo':if(_0x1b74b4['body'][_0xe2bc('0x89')]&&_0x1b74b4['body'][_0xe2bc('0x89')]===_0x4edd7f[_0xe2bc('0x8a')]&&_['indexOf']([_0xe2bc('0x8b'),_0xe2bc('0x8c')],_0x1b74b4[_0xe2bc('0x56')]['Status'])>=0x0){return _0x4edd7f['update']({'read':!![]});}else{logger['error'](_0xe2bc('0x88'),_0xe2bc('0x2b'),_0xe2bc('0x8d'),util['inspect'](_0x1b74b4[_0xe2bc('0x56')],{'showHidden':![],'depth':null}));}break;case _0xe2bc('0x8e'):var _0x1fa092=_0x1b74b4[_0xe2bc('0x56')][_0xe2bc('0x8f')][0x0];if(_0x1fa092[_0xe2bc('0x2b')][_0xe2bc('0x90')]===_0xe2bc('0x91')){return _0x4edd7f[_0xe2bc('0x63')]({'read':!![]});}else{logger['error'](_0xe2bc('0x88'),_0xe2bc('0x2b'),_0xe2bc('0x8e'),util[_0xe2bc('0x85')](_0x1b74b4[_0xe2bc('0x56')],{'showHidden':![],'depth':null}));}break;}return _0x4edd7f;}})[_0xe2bc('0x20')](respondWithResult(_0x273f14,null))[_0xe2bc('0x50')](handleError(_0x273f14,null));};