8bdfce11eaf686ae1e6336228eb837d281340692
[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 _0xfc64=['groupName','DELIVERED','infobip','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','client','http','request','info','request\x20sent','debug','SmsMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','SmsMessage,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','update','then','destroy','stack','name','index','SmsMessage','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','sort','where','merge','map','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','create','body','describe','sms-interactions','sms','read','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','get','SmsInteraction','SmsInteractionId','isNil','interaction','[SMSMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','sequelize','Sequelize','QueryTypes','SELECT','contact','User','fullname','email','internal','manual','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','reject','rejectMessage','ContactId','received\x20delivery\x20report\x20from','inspect','twilio','MessageSid','messageId','SmsAccount,\x20%s,\x20%s,\x20%s','plivo','MessageUUID','indexOf','sent','delivered','plivio'];(function(_0x17a3bf,_0x3fe868){var _0x1ff0e6=function(_0x22deb1){while(--_0x22deb1){_0x17a3bf['push'](_0x17a3bf['shift']());}};_0x1ff0e6(++_0x3fe868);}(_0xfc64,0x1b3));var _0x4fc6=function(_0x1ddedd,_0x485606){_0x1ddedd=_0x1ddedd-0x0;var _0xa3e1ac=_0xfc64[_0x1ddedd];return _0xa3e1ac;};'use strict';var emlformat=require(_0x4fc6('0x0'));var rimraf=require(_0x4fc6('0x1'));var zipdir=require(_0x4fc6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4fc6('0x3'));var moment=require(_0x4fc6('0x4'));var BPromise=require(_0x4fc6('0x5'));var Mustache=require(_0x4fc6('0x6'));var util=require(_0x4fc6('0x7'));var path=require('path');var sox=require(_0x4fc6('0x8'));var csv=require(_0x4fc6('0x9'));var ejs=require(_0x4fc6('0xa'));var fs=require('fs');var fs_extra=require(_0x4fc6('0xb'));var _=require(_0x4fc6('0xc'));var squel=require(_0x4fc6('0xd'));var crypto=require(_0x4fc6('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x4fc6('0xf'));var toCsv=require(_0x4fc6('0x9'));var querystring=require(_0x4fc6('0x10'));var Papa=require(_0x4fc6('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4fc6('0x12'));var as=require(_0x4fc6('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x4fc6('0x14'));var utils=require(_0x4fc6('0x15'));var config=require(_0x4fc6('0x16'));var licenseUtil=require(_0x4fc6('0x17'));var db=require(_0x4fc6('0x18'))['db'];config[_0x4fc6('0x19')]=_[_0x4fc6('0x1a')](config[_0x4fc6('0x19')],{'host':'localhost','port':0x18eb});var socket=require(_0x4fc6('0x1b'))(new Redis(config[_0x4fc6('0x19')]));require('./smsMessage.socket')[_0x4fc6('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232c});var client9002=jayson[_0x4fc6('0x1d')][_0x4fc6('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x4810e3,_0x55426f,_0x24a112,_0x53dfd6){return new BPromise(function(_0x40dc97,_0x27aec2){var _0x275f31=_0x53dfd6||client;return _0x275f31[_0x4fc6('0x1f')](_0x4810e3,_0x24a112)['then'](function(_0x3eef8e){logger[_0x4fc6('0x20')]('SmsMessage,\x20%s,\x20%s',_0x55426f,_0x4fc6('0x21'));logger[_0x4fc6('0x22')](_0x4fc6('0x23'),_0x55426f,_0x4fc6('0x21'),JSON[_0x4fc6('0x24')](_0x3eef8e));if(_0x3eef8e[_0x4fc6('0x25')]){if(_0x3eef8e[_0x4fc6('0x25')][_0x4fc6('0x26')]===0x1f4){logger[_0x4fc6('0x25')](_0x4fc6('0x27'),_0x55426f,_0x3eef8e[_0x4fc6('0x25')]['message']);return _0x27aec2(_0x3eef8e[_0x4fc6('0x25')][_0x4fc6('0x28')]);}logger[_0x4fc6('0x25')]('SmsMessage,\x20%s,\x20%s',_0x55426f,_0x3eef8e[_0x4fc6('0x25')][_0x4fc6('0x28')]);return _0x40dc97(_0x3eef8e[_0x4fc6('0x25')]['message']);}else{logger[_0x4fc6('0x20')]('SmsMessage,\x20%s,\x20%s',_0x55426f,_0x4fc6('0x21'));_0x40dc97(_0x3eef8e[_0x4fc6('0x29')][_0x4fc6('0x28')]);}})[_0x4fc6('0x2a')](function(_0x1a0596){logger[_0x4fc6('0x25')]('SmsMessage,\x20%s,\x20%s',_0x55426f,_0x1a0596);_0x27aec2(_0x1a0596);});});}function respondWithStatusCode(_0x16632c,_0x3f6e3e){_0x3f6e3e=_0x3f6e3e||0xcc;return function(_0x5c64b5){if(_0x5c64b5){return _0x16632c[_0x4fc6('0x2b')](_0x3f6e3e);}return _0x16632c[_0x4fc6('0x2c')](_0x3f6e3e)[_0x4fc6('0x2d')]();};}function respondWithResult(_0x40f240,_0x15e29b){_0x15e29b=_0x15e29b||0xc8;return function(_0x3b7e8d){if(_0x3b7e8d){return _0x40f240['status'](_0x15e29b)[_0x4fc6('0x2e')](_0x3b7e8d);}};}function respondWithFilteredResult(_0x48be65,_0x266d75){return function(_0x589bb1){if(_0x589bb1){var _0x1d0870=typeof _0x266d75[_0x4fc6('0x2f')]===_0x4fc6('0x30')&&typeof _0x266d75[_0x4fc6('0x31')]===_0x4fc6('0x30');var _0x37eac8=_0x589bb1[_0x4fc6('0x32')];var _0x467182=_0x1d0870?0x0:_0x266d75['offset'];var _0x218986=_0x1d0870?_0x589bb1[_0x4fc6('0x32')]:_0x266d75[_0x4fc6('0x2f')]+_0x266d75[_0x4fc6('0x31')];var _0x652420;if(_0x218986>=_0x37eac8){_0x218986=_0x37eac8;_0x652420=0xc8;}else{_0x652420=0xce;}_0x48be65['status'](_0x652420);return _0x48be65['set'](_0x4fc6('0x33'),_0x467182+'-'+_0x218986+'/'+_0x37eac8)[_0x4fc6('0x2e')](_0x589bb1);}return null;};}function patchUpdates(_0x2cebbf){return function(_0x2958d9){try{jsonpatch[_0x4fc6('0x34')](_0x2958d9,_0x2cebbf,!![]);}catch(_0x56dd81){return BPromise['reject'](_0x56dd81);}return _0x2958d9[_0x4fc6('0x35')]();};}function saveUpdates(_0x5d036f,_0x5c3add){return function(_0x1b45a8){if(_0x1b45a8){return _0x1b45a8[_0x4fc6('0x36')](_0x5d036f)[_0x4fc6('0x37')](function(_0xa076e7){return _0xa076e7;});}return null;};}function removeEntity(_0x3967dc,_0xe86b53){return function(_0x23b6f4){if(_0x23b6f4){return _0x23b6f4[_0x4fc6('0x38')]()[_0x4fc6('0x37')](function(){_0x3967dc[_0x4fc6('0x2c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a7794,_0x386000){return function(_0x7e9c0a){if(!_0x7e9c0a){_0x4a7794[_0x4fc6('0x2b')](0x194);}return _0x7e9c0a;};}function handleError(_0x4b3b9e,_0x833e5){_0x833e5=_0x833e5||0x1f4;return function(_0x16d88d){logger['error'](_0x16d88d[_0x4fc6('0x39')]);if(_0x16d88d[_0x4fc6('0x3a')]){delete _0x16d88d['name'];}_0x4b3b9e[_0x4fc6('0x2c')](_0x833e5)['send'](_0x16d88d);};}exports[_0x4fc6('0x3b')]=function(_0x3f8f2d,_0x3a47ce){var _0x3c0b64={},_0x6bf8b8={},_0x54c8c2={'count':0x0,'rows':[]};var _0x2cc5a7=_['map'](db[_0x4fc6('0x3c')][_0x4fc6('0x3d')],function(_0x2cf18b){return{'name':_0x2cf18b[_0x4fc6('0x3e')],'type':_0x2cf18b[_0x4fc6('0x3f')][_0x4fc6('0x40')]};});_0x6bf8b8[_0x4fc6('0x41')]=_['map'](_0x2cc5a7,'name');_0x6bf8b8[_0x4fc6('0x42')]=_[_0x4fc6('0x43')](_0x3f8f2d[_0x4fc6('0x42')]);_0x6bf8b8[_0x4fc6('0x44')]=_[_0x4fc6('0x45')](_0x6bf8b8[_0x4fc6('0x41')],_0x6bf8b8[_0x4fc6('0x42')]);_0x3c0b64['attributes']=_[_0x4fc6('0x45')](_0x6bf8b8[_0x4fc6('0x41')],qs[_0x4fc6('0x46')](_0x3f8f2d[_0x4fc6('0x42')]['fields']));_0x3c0b64['attributes']=_0x3c0b64[_0x4fc6('0x47')]['length']?_0x3c0b64[_0x4fc6('0x47')]:_0x6bf8b8[_0x4fc6('0x41')];if(!_0x3f8f2d[_0x4fc6('0x42')][_0x4fc6('0x48')](_0x4fc6('0x49'))){_0x3c0b64[_0x4fc6('0x31')]=qs['limit'](_0x3f8f2d['query'][_0x4fc6('0x31')]);_0x3c0b64[_0x4fc6('0x2f')]=qs[_0x4fc6('0x2f')](_0x3f8f2d[_0x4fc6('0x42')]['offset']);}_0x3c0b64['order']=qs[_0x4fc6('0x4a')](_0x3f8f2d[_0x4fc6('0x42')][_0x4fc6('0x4a')]);_0x3c0b64[_0x4fc6('0x4b')]=qs[_0x4fc6('0x44')](_['pick'](_0x3f8f2d['query'],_0x6bf8b8[_0x4fc6('0x44')]),_0x2cc5a7);if(_0x3f8f2d['query']['filter']){_0x3c0b64['where']=_[_0x4fc6('0x4c')](_0x3c0b64[_0x4fc6('0x4b')],{'$or':_[_0x4fc6('0x4d')](_0x2cc5a7,function(_0x534555){if(_0x534555[_0x4fc6('0x3f')]!==_0x4fc6('0x4e')){var _0x2cec50={};_0x2cec50[_0x534555[_0x4fc6('0x3a')]]={'$like':'%'+_0x3f8f2d[_0x4fc6('0x42')]['filter']+'%'};return _0x2cec50;}})});}_0x3c0b64=_[_0x4fc6('0x4c')]({},_0x3c0b64,_0x3f8f2d[_0x4fc6('0x4f')]);var _0x313cd5={'where':_0x3c0b64[_0x4fc6('0x4b')]};return db[_0x4fc6('0x3c')][_0x4fc6('0x32')](_0x313cd5)[_0x4fc6('0x37')](function(_0x4647b1){_0x54c8c2['count']=_0x4647b1;if(_0x3f8f2d[_0x4fc6('0x42')][_0x4fc6('0x50')]){_0x3c0b64[_0x4fc6('0x51')]=[{'all':!![]}];}return db[_0x4fc6('0x3c')][_0x4fc6('0x52')](_0x3c0b64);})['then'](function(_0x458784){_0x54c8c2[_0x4fc6('0x53')]=_0x458784;return _0x54c8c2;})['then'](respondWithFilteredResult(_0x3a47ce,_0x3c0b64))[_0x4fc6('0x2a')](handleError(_0x3a47ce,null));};exports[_0x4fc6('0x54')]=function(_0x768994,_0x588e61){var _0x1be3fa={'raw':!![],'where':{'id':_0x768994[_0x4fc6('0x55')]['id']}},_0x1d1776={};_0x1d1776[_0x4fc6('0x41')]=_[_0x4fc6('0x43')](db['SmsMessage']['rawAttributes']);_0x1d1776[_0x4fc6('0x42')]=_[_0x4fc6('0x43')](_0x768994[_0x4fc6('0x42')]);_0x1d1776['filters']=_[_0x4fc6('0x45')](_0x1d1776[_0x4fc6('0x41')],_0x1d1776[_0x4fc6('0x42')]);_0x1be3fa['attributes']=_['intersection'](_0x1d1776['model'],qs[_0x4fc6('0x46')](_0x768994[_0x4fc6('0x42')][_0x4fc6('0x46')]));_0x1be3fa[_0x4fc6('0x47')]=_0x1be3fa[_0x4fc6('0x47')]['length']?_0x1be3fa['attributes']:_0x1d1776[_0x4fc6('0x41')];if(_0x768994[_0x4fc6('0x42')][_0x4fc6('0x50')]){_0x1be3fa[_0x4fc6('0x51')]=[{'all':!![]}];}_0x1be3fa=_['merge']({},_0x1be3fa,_0x768994[_0x4fc6('0x4f')]);return db[_0x4fc6('0x3c')][_0x4fc6('0x56')](_0x1be3fa)[_0x4fc6('0x37')](handleEntityNotFound(_0x588e61,null))[_0x4fc6('0x37')](respondWithResult(_0x588e61,null))[_0x4fc6('0x2a')](handleError(_0x588e61,null));};exports[_0x4fc6('0x57')]=function(_0x10efcd,_0x462a74){return db[_0x4fc6('0x3c')][_0x4fc6('0x57')](_0x10efcd['body'],{})[_0x4fc6('0x37')](respondWithResult(_0x462a74,0xc9))[_0x4fc6('0x2a')](handleError(_0x462a74,null));};exports[_0x4fc6('0x36')]=function(_0x13f5e6,_0x40b9b0){if(_0x13f5e6[_0x4fc6('0x58')]['id']){delete _0x13f5e6[_0x4fc6('0x58')]['id'];}return db[_0x4fc6('0x3c')][_0x4fc6('0x56')]({'where':{'id':_0x13f5e6['params']['id']}})['then'](handleEntityNotFound(_0x40b9b0,null))[_0x4fc6('0x37')](saveUpdates(_0x13f5e6[_0x4fc6('0x58')],null))[_0x4fc6('0x37')](respondWithResult(_0x40b9b0,null))[_0x4fc6('0x2a')](handleError(_0x40b9b0,null));};exports['destroy']=function(_0x532f4f,_0x56feff){return db[_0x4fc6('0x3c')][_0x4fc6('0x56')]({'where':{'id':_0x532f4f[_0x4fc6('0x55')]['id']}})['then'](handleEntityNotFound(_0x56feff,null))[_0x4fc6('0x37')](removeEntity(_0x56feff,null))[_0x4fc6('0x2a')](handleError(_0x56feff,null));};exports['describe']=function(_0x5484ce,_0x380430){return db[_0x4fc6('0x3c')][_0x4fc6('0x59')]()['then'](respondWithResult(_0x380430,null))[_0x4fc6('0x2a')](handleError(_0x380430,null));};var interaction_log=require('../../config/logger')(_0x4fc6('0x5a'));exports['accept']=function(_0x42ebf1,_0x16ed4a,_0x483709){var _0x208038={'agent':{},'channel':_0x4fc6('0x5b')};if(_0x42ebf1[_0x4fc6('0x58')]['id']){delete _0x42ebf1[_0x4fc6('0x58')]['id'];}_0x42ebf1[_0x4fc6('0x58')][_0x4fc6('0x5c')]=!![];_0x42ebf1[_0x4fc6('0x58')]['readAt']=moment()[_0x4fc6('0x5d')](_0x4fc6('0x5e'));_0x42ebf1['body'][_0x4fc6('0x5f')]=_0x42ebf1[_0x4fc6('0x58')][_0x4fc6('0x5f')]||_0x42ebf1[_0x4fc6('0x60')]['id'];_0x208038[_0x4fc6('0x61')]['id']=_0x42ebf1['body']['UserId'];return db[_0x4fc6('0x3c')]['find']({'where':{'id':_0x42ebf1['params']['id'],'UserId':null}})[_0x4fc6('0x37')](handleEntityNotFound(_0x16ed4a,null))['then'](saveUpdates(_0x42ebf1[_0x4fc6('0x58')],null))['then'](function(_0xcbfd73){if(_0xcbfd73){_0x208038[_0x4fc6('0x28')]=_0xcbfd73[_0x4fc6('0x62')]({'plain':!![]});return db[_0x4fc6('0x63')]['find']({'where':{'id':_0xcbfd73[_0x4fc6('0x64')]}});}return null;})['then'](handleEntityNotFound(_0x16ed4a,null))[_0x4fc6('0x37')](function(_0x1dfdf0){if(_0x1dfdf0){return _0x1dfdf0[_0x4fc6('0x36')]({'UserId':_0x42ebf1[_0x4fc6('0x58')]['UserId'],'read1stAt':_[_0x4fc6('0x65')](_0x1dfdf0['read1stAt'])?moment()['format'](_0x4fc6('0x5e')):undefined});}return null;})[_0x4fc6('0x37')](function(_0x4058d7){if(_0x4058d7){_0x208038[_0x4fc6('0x66')]=_0x4058d7[_0x4fc6('0x62')]({'plain':!![]});interaction_log['info'](_0x4fc6('0x67'),_0x42ebf1[_0x4fc6('0x60')]['id'],_0x42ebf1['user'][_0x4fc6('0x3a')],_0x42ebf1[_0x4fc6('0x60')][_0x4fc6('0x68')],_0x208038[_0x4fc6('0x66')]['id'],_0x42ebf1[_0x4fc6('0x58')]?JSON[_0x4fc6('0x24')](_0x42ebf1[_0x4fc6('0x58')]):_0x4fc6('0x69'));return respondWithRpcPromise(_0x4fc6('0x6a'),_0x4fc6('0x6b'),_0x208038);}return null;})[_0x4fc6('0x37')](function(_0x5c70b5){var _0x1a07af=_0x4fc6('0x6c')+_0x5c70b5[_0x4fc6('0x28')]['ContactId'];return db[_0x4fc6('0x6d')][_0x4fc6('0x42')](_0x1a07af,{'type':db[_0x4fc6('0x6e')][_0x4fc6('0x6f')][_0x4fc6('0x70')],'raw':!![]})['then'](function(_0x301e6e){return _0x301e6e;});})[_0x4fc6('0x37')](function(_0x233386){if(_0x233386){_0x208038[_0x4fc6('0x28')][_0x4fc6('0x71')]=_0x233386[0x0];if(!_0x42ebf1['body'][_0x4fc6('0x5f')])return;return db[_0x4fc6('0x72')][_0x4fc6('0x56')]({'where':{'id':_0x42ebf1[_0x4fc6('0x58')][_0x4fc6('0x5f')],'role':_0x4fc6('0x61')},'attributes':['id',_0x4fc6('0x3a'),_0x4fc6('0x73'),_0x4fc6('0x74'),_0x4fc6('0x75')],'raw':!![]});}return null;})['then'](function(_0x44ed6f){if(!_0x44ed6f)return null;_0x208038[_0x4fc6('0x28')][_0x4fc6('0x61')]=_0x44ed6f;return _0x208038;})['then'](function(_0x3c7613){if(_0x3c7613){if(_0x42ebf1[_0x4fc6('0x58')][_0x4fc6('0x76')]){_0x208038['message'][_0x4fc6('0x77')]=util['format'](_0x4fc6('0x78'),_0x42ebf1[_0x4fc6('0x60')][_0x4fc6('0x3a')]);_0x208038[_0x4fc6('0x28')][_0x4fc6('0x79')]=_0x208038[_0x4fc6('0x79')];_0x208038[_0x4fc6('0x28')][_0x4fc6('0x7a')]=_0x208038[_0x4fc6('0x79')];_0x208038[_0x4fc6('0x28')][_0x4fc6('0x7b')]='accept';return respondWithRpcPromise(_0x4fc6('0x7c'),_0x4fc6('0x7c'),{'event':_0x4fc6('0x7d'),'message':_0x208038[_0x4fc6('0x28')]},client9002)['then'](function(){return _0x208038;});}return _0x208038;}return null;})[_0x4fc6('0x37')](respondWithResult(_0x16ed4a,null))['catch'](handleError(_0x16ed4a,null));};var interaction_log=require('../../config/logger')('sms-interactions');exports[_0x4fc6('0x7e')]=function(_0x294f0d,_0x10158e,_0x39d308){var _0x5cfce5={'agent':{},'channel':_0x4fc6('0x5b')};if(_0x294f0d[_0x4fc6('0x58')]['id']){delete _0x294f0d[_0x4fc6('0x58')]['id'];}_0x294f0d['body'][_0x4fc6('0x5f')]=_0x294f0d[_0x4fc6('0x58')]['UserId']||_0x294f0d['user']['id'];_0x5cfce5[_0x4fc6('0x61')]['id']=_0x294f0d[_0x4fc6('0x58')][_0x4fc6('0x5f')];return db[_0x4fc6('0x3c')][_0x4fc6('0x56')]({'where':{'id':_0x294f0d[_0x4fc6('0x55')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x10158e,null))['then'](function(_0x691c5e){if(_0x691c5e){_0x5cfce5[_0x4fc6('0x28')]=_0x691c5e['get']({'plain':!![]});return db[_0x4fc6('0x63')][_0x4fc6('0x56')]({'where':{'id':_0x691c5e['SmsInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x10158e,null))[_0x4fc6('0x37')](function(_0x59868c){if(_0x59868c){_0x5cfce5[_0x4fc6('0x66')]=_0x59868c[_0x4fc6('0x62')]({'plain':!![]});interaction_log['info']('[SMSMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x294f0d[_0x4fc6('0x60')]['id'],_0x294f0d[_0x4fc6('0x60')][_0x4fc6('0x3a')],_0x294f0d[_0x4fc6('0x60')][_0x4fc6('0x68')],_0x5cfce5['interaction']['id'],_0x294f0d['body']?JSON[_0x4fc6('0x24')](_0x294f0d['body']):_0x4fc6('0x69'));return respondWithRpcPromise('RejectMessage',_0x4fc6('0x7f'),_0x5cfce5);}return null;})[_0x4fc6('0x37')](function(_0x316043){var _0x2ecb26='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x316043['message'][_0x4fc6('0x80')];return db[_0x4fc6('0x6d')][_0x4fc6('0x42')](_0x2ecb26,{'type':db[_0x4fc6('0x6e')]['QueryTypes'][_0x4fc6('0x70')],'raw':!![]})[_0x4fc6('0x37')](function(_0x4077a9){return _0x4077a9;});})[_0x4fc6('0x37')](function(_0x1d5f08){if(_0x1d5f08){_0x5cfce5['message'][_0x4fc6('0x71')]=_0x1d5f08[0x0];if(!_0x294f0d[_0x4fc6('0x58')][_0x4fc6('0x5f')])return;return db[_0x4fc6('0x72')][_0x4fc6('0x56')]({'where':{'id':_0x294f0d[_0x4fc6('0x58')]['UserId'],'role':'agent'},'attributes':['id',_0x4fc6('0x3a'),_0x4fc6('0x73'),_0x4fc6('0x74'),'internal'],'raw':!![]});}return null;})[_0x4fc6('0x37')](function(_0x9d35c7){if(!_0x9d35c7)return null;_0x5cfce5[_0x4fc6('0x28')]['agent']=_0x9d35c7;return _0x5cfce5;})[_0x4fc6('0x37')](function(_0x3b9852){if(_0x3b9852){_0x3b9852[_0x4fc6('0x28')][_0x4fc6('0x77')]=util[_0x4fc6('0x5d')](_0x4fc6('0x78'),_0x294f0d['user'][_0x4fc6('0x3a')]);_0x3b9852[_0x4fc6('0x28')][_0x4fc6('0x79')]=_0x5cfce5['channel'];_0x3b9852[_0x4fc6('0x28')][_0x4fc6('0x7a')]=_0x5cfce5[_0x4fc6('0x79')];_0x3b9852[_0x4fc6('0x28')]['event']=_0x4fc6('0x7e');respondWithRpcPromise(_0x4fc6('0x7c'),'EventManager',{'event':'rejectmessage','message':_0x3b9852['message']},client9002);return _0x5cfce5;}return null;})['then'](respondWithResult(_0x10158e,null))[_0x4fc6('0x2a')](handleError(_0x10158e,null));};exports[_0x4fc6('0x2c')]=function(_0x4e2c6a,_0x15e533,_0x132da8){if(_0x4e2c6a[_0x4fc6('0x58')]['id']){delete _0x4e2c6a[_0x4fc6('0x58')]['id'];}var _0x3a8a9b;return db['SmsMessage']['find']({'where':{'id':_0x4e2c6a['params']['id']}})[_0x4fc6('0x37')](handleEntityNotFound(_0x15e533,null))['then'](function(_0xbbef33){if(_0xbbef33){_0x3a8a9b=_0xbbef33;return db['SmsAccount'][_0x4fc6('0x56')]({'where':{'id':_0xbbef33['SmsAccountId']}});}})[_0x4fc6('0x37')](handleEntityNotFound(_0x15e533,null))[_0x4fc6('0x37')](function(_0x592756){if(_0x592756){logger[_0x4fc6('0x22')](_0x4fc6('0x23'),'status',_0x4fc6('0x81'),_0x592756['type'],util[_0x4fc6('0x82')](_0x4e2c6a[_0x4fc6('0x58')],{'showHidden':![],'depth':null}));switch(_0x592756['type']){case _0x4fc6('0x83'):if(_0x4e2c6a[_0x4fc6('0x58')][_0x4fc6('0x84')]&&_0x4e2c6a[_0x4fc6('0x58')][_0x4fc6('0x84')]===_0x3a8a9b[_0x4fc6('0x85')]){return _0x3a8a9b[_0x4fc6('0x36')]({'read':!![]});}else{logger[_0x4fc6('0x25')](_0x4fc6('0x86'),'status',_0x4fc6('0x83'),util[_0x4fc6('0x82')](_0x4e2c6a[_0x4fc6('0x58')],{'showHidden':![],'depth':null}));}break;case _0x4fc6('0x87'):if(_0x4e2c6a['body']['MessageUUID']&&_0x4e2c6a[_0x4fc6('0x58')][_0x4fc6('0x88')]===_0x3a8a9b['messageId']&&_[_0x4fc6('0x89')]([_0x4fc6('0x8a'),_0x4fc6('0x8b')],_0x4e2c6a[_0x4fc6('0x58')]['Status'])>=0x0){return _0x3a8a9b[_0x4fc6('0x36')]({'read':!![]});}else{logger['error'](_0x4fc6('0x86'),'status',_0x4fc6('0x8c'),util[_0x4fc6('0x82')](_0x4e2c6a['body'],{'showHidden':![],'depth':null}));}break;case'infobip':var _0x1b26e5=_0x4e2c6a[_0x4fc6('0x58')]['results'][0x0];if(_0x1b26e5['status'][_0x4fc6('0x8d')]===_0x4fc6('0x8e')){return _0x3a8a9b['update']({'read':!![]});}else{logger[_0x4fc6('0x25')](_0x4fc6('0x86'),_0x4fc6('0x2c'),_0x4fc6('0x8f'),util[_0x4fc6('0x82')](_0x4e2c6a['body'],{'showHidden':![],'depth':null}));}break;}return _0x3a8a9b;}})[_0x4fc6('0x37')](respondWithResult(_0x15e533,null))['catch'](handleError(_0x15e533,null));};