06b72050760bfc53bf3a9c6d6c0f6b47ba329c49
[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 _0xe9f2=['defaults','localhost','socket.io-emitter','./smsMessage.socket','register','jayson/promise','client','http','request','info','SmsMessage,\x20%s,\x20%s','debug','request\x20sent','stringify','error','code','message','catch','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','stack','send','index','rawAttributes','key','map','name','keys','query','model','attributes','fields','length','order','sort','filters','pick','where','merge','type','VIRTUAL','filter','options','then','include','SmsMessage','findAll','show','params','intersection','includeAll','find','create','body','describe','accept','sms','format','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','SmsInteraction','SmsInteractionId','isNil','read1stAt','get','[SMSMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','QueryTypes','contact','fullname','email','internal','manual','interface','SIP/%s','channel','event','interaction','[SMSMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','null','RejectMessage','rejectMessage','sequelize','Sequelize','SELECT','User','motionChannel','EventManager','rejectmessage','SmsAccount','SmsMessage,\x20%s,\x20%s,\x20%s','received\x20delivery\x20report\x20from','inspect','twilio','MessageSid','messageId','SmsAccount,\x20%s,\x20%s,\x20%s','MessageUUID','Status','plivio','infobip','results','groupName','DELIVERED','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis'];(function(_0x8d985e,_0x5ac6c9){var _0x85ef94=function(_0xe0de1d){while(--_0xe0de1d){_0x8d985e['push'](_0x8d985e['shift']());}};_0x85ef94(++_0x5ac6c9);}(_0xe9f2,0x10f));var _0x2e9f=function(_0x59cc6b,_0x518f90){_0x59cc6b=_0x59cc6b-0x0;var _0x140b4e=_0xe9f2[_0x59cc6b];return _0x140b4e;};'use strict';var emlformat=require(_0x2e9f('0x0'));var rimraf=require(_0x2e9f('0x1'));var zipdir=require(_0x2e9f('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2e9f('0x3'));var moment=require(_0x2e9f('0x4'));var BPromise=require(_0x2e9f('0x5'));var Mustache=require(_0x2e9f('0x6'));var util=require(_0x2e9f('0x7'));var path=require(_0x2e9f('0x8'));var sox=require(_0x2e9f('0x9'));var csv=require(_0x2e9f('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2e9f('0xb'));var squel=require('squel');var crypto=require(_0x2e9f('0xc'));var jsforce=require(_0x2e9f('0xd'));var deskjs=require(_0x2e9f('0xe'));var toCsv=require(_0x2e9f('0xa'));var querystring=require(_0x2e9f('0xf'));var Papa=require(_0x2e9f('0x10'));var Redis=require(_0x2e9f('0x11'));var authService=require(_0x2e9f('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x2e9f('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2e9f('0x14'))(_0x2e9f('0x15'));var utils=require(_0x2e9f('0x16'));var config=require(_0x2e9f('0x17'));var licenseUtil=require(_0x2e9f('0x18'));var db=require(_0x2e9f('0x19'))['db'];config[_0x2e9f('0x1a')]=_[_0x2e9f('0x1b')](config[_0x2e9f('0x1a')],{'host':_0x2e9f('0x1c'),'port':0x18eb});var socket=require(_0x2e9f('0x1d'))(new Redis(config[_0x2e9f('0x1a')]));require(_0x2e9f('0x1e'))[_0x2e9f('0x1f')](socket);var jayson=require(_0x2e9f('0x20'));var client=jayson[_0x2e9f('0x21')][_0x2e9f('0x22')]({'port':0x232c});var client9002=jayson[_0x2e9f('0x21')][_0x2e9f('0x22')]({'port':0x232a});function respondWithRpcPromise(_0x51dfbb,_0x1e5b31,_0x1aa159,_0x415b31){return new BPromise(function(_0x150aaa,_0x4421dc){var _0x3d48a7=_0x415b31||client;return _0x3d48a7[_0x2e9f('0x23')](_0x51dfbb,_0x1aa159)['then'](function(_0x48331a){logger[_0x2e9f('0x24')](_0x2e9f('0x25'),_0x1e5b31,'request\x20sent');logger[_0x2e9f('0x26')]('SmsMessage,\x20%s,\x20%s,\x20%s',_0x1e5b31,_0x2e9f('0x27'),JSON[_0x2e9f('0x28')](_0x48331a));if(_0x48331a[_0x2e9f('0x29')]){if(_0x48331a[_0x2e9f('0x29')][_0x2e9f('0x2a')]===0x1f4){logger['error']('SmsMessage,\x20%s,\x20%s',_0x1e5b31,_0x48331a['error'][_0x2e9f('0x2b')]);return _0x4421dc(_0x48331a[_0x2e9f('0x29')][_0x2e9f('0x2b')]);}logger['error'](_0x2e9f('0x25'),_0x1e5b31,_0x48331a['error'][_0x2e9f('0x2b')]);return _0x150aaa(_0x48331a[_0x2e9f('0x29')][_0x2e9f('0x2b')]);}else{logger[_0x2e9f('0x24')](_0x2e9f('0x25'),_0x1e5b31,_0x2e9f('0x27'));_0x150aaa(_0x48331a['result'][_0x2e9f('0x2b')]);}})[_0x2e9f('0x2c')](function(_0x384070){logger[_0x2e9f('0x29')](_0x2e9f('0x25'),_0x1e5b31,_0x384070);_0x4421dc(_0x384070);});});}function respondWithStatusCode(_0x1be656,_0x1c4bbc){_0x1c4bbc=_0x1c4bbc||0xcc;return function(_0x1e370d){if(_0x1e370d){return _0x1be656['sendStatus'](_0x1c4bbc);}return _0x1be656['status'](_0x1c4bbc)[_0x2e9f('0x2d')]();};}function respondWithResult(_0x1dbbf5,_0x3afc8f){_0x3afc8f=_0x3afc8f||0xc8;return function(_0x1f84dd){if(_0x1f84dd){return _0x1dbbf5[_0x2e9f('0x2e')](_0x3afc8f)[_0x2e9f('0x2f')](_0x1f84dd);}};}function respondWithFilteredResult(_0x10d8b9,_0x2ceae8){return function(_0x2bbd84){if(_0x2bbd84){var _0x813932=typeof _0x2ceae8[_0x2e9f('0x30')]===_0x2e9f('0x31')&&typeof _0x2ceae8[_0x2e9f('0x32')]==='undefined';var _0x138376=_0x2bbd84[_0x2e9f('0x33')];var _0x9a7c20=_0x813932?0x0:_0x2ceae8[_0x2e9f('0x30')];var _0x346f26=_0x813932?_0x2bbd84[_0x2e9f('0x33')]:_0x2ceae8[_0x2e9f('0x30')]+_0x2ceae8[_0x2e9f('0x32')];var _0x3cc13d;if(_0x346f26>=_0x138376){_0x346f26=_0x138376;_0x3cc13d=0xc8;}else{_0x3cc13d=0xce;}_0x10d8b9[_0x2e9f('0x2e')](_0x3cc13d);return _0x10d8b9[_0x2e9f('0x34')](_0x2e9f('0x35'),_0x9a7c20+'-'+_0x346f26+'/'+_0x138376)['json'](_0x2bbd84);}return null;};}function patchUpdates(_0x439ff3){return function(_0x2243ac){try{jsonpatch[_0x2e9f('0x36')](_0x2243ac,_0x439ff3,!![]);}catch(_0x8b23d8){return BPromise[_0x2e9f('0x37')](_0x8b23d8);}return _0x2243ac[_0x2e9f('0x38')]();};}function saveUpdates(_0x5a55f1,_0x4dd74c){return function(_0x4832b8){if(_0x4832b8){return _0x4832b8[_0x2e9f('0x39')](_0x5a55f1)['then'](function(_0x49c997){return _0x49c997;});}return null;};}function removeEntity(_0x688274,_0x167abd){return function(_0x19d81b){if(_0x19d81b){return _0x19d81b[_0x2e9f('0x3a')]()['then'](function(){_0x688274['status'](0xcc)[_0x2e9f('0x2d')]();});}};}function handleEntityNotFound(_0x566d3b,_0xb03fb1){return function(_0x4bf552){if(!_0x4bf552){_0x566d3b['sendStatus'](0x194);}return _0x4bf552;};}function handleError(_0x4aee40,_0xb3d6dd){_0xb3d6dd=_0xb3d6dd||0x1f4;return function(_0x51895c){logger['error'](_0x51895c[_0x2e9f('0x3b')]);if(_0x51895c['name']){delete _0x51895c['name'];}_0x4aee40['status'](_0xb3d6dd)[_0x2e9f('0x3c')](_0x51895c);};}exports[_0x2e9f('0x3d')]=function(_0x26c256,_0x287e08){var _0x3a2294={},_0x5e6076={},_0x49cd47={'count':0x0,'rows':[]};var _0x29639d=_['map'](db['SmsMessage'][_0x2e9f('0x3e')],function(_0x26930f){return{'name':_0x26930f['fieldName'],'type':_0x26930f['type'][_0x2e9f('0x3f')]};});_0x5e6076['model']=_[_0x2e9f('0x40')](_0x29639d,_0x2e9f('0x41'));_0x5e6076['query']=_[_0x2e9f('0x42')](_0x26c256[_0x2e9f('0x43')]);_0x5e6076['filters']=_['intersection'](_0x5e6076[_0x2e9f('0x44')],_0x5e6076[_0x2e9f('0x43')]);_0x3a2294[_0x2e9f('0x45')]=_['intersection'](_0x5e6076[_0x2e9f('0x44')],qs[_0x2e9f('0x46')](_0x26c256['query']['fields']));_0x3a2294['attributes']=_0x3a2294[_0x2e9f('0x45')][_0x2e9f('0x47')]?_0x3a2294[_0x2e9f('0x45')]:_0x5e6076[_0x2e9f('0x44')];if(!_0x26c256[_0x2e9f('0x43')]['hasOwnProperty']('nolimit')){_0x3a2294[_0x2e9f('0x32')]=qs[_0x2e9f('0x32')](_0x26c256[_0x2e9f('0x43')][_0x2e9f('0x32')]);_0x3a2294['offset']=qs[_0x2e9f('0x30')](_0x26c256[_0x2e9f('0x43')]['offset']);}_0x3a2294[_0x2e9f('0x48')]=qs['sort'](_0x26c256[_0x2e9f('0x43')][_0x2e9f('0x49')]);_0x3a2294['where']=qs[_0x2e9f('0x4a')](_[_0x2e9f('0x4b')](_0x26c256[_0x2e9f('0x43')],_0x5e6076[_0x2e9f('0x4a')]),_0x29639d);if(_0x26c256['query']['filter']){_0x3a2294[_0x2e9f('0x4c')]=_[_0x2e9f('0x4d')](_0x3a2294[_0x2e9f('0x4c')],{'$or':_['map'](_0x29639d,function(_0x31d4b2){if(_0x31d4b2[_0x2e9f('0x4e')]!==_0x2e9f('0x4f')){var _0x1ef1ab={};_0x1ef1ab[_0x31d4b2[_0x2e9f('0x41')]]={'$like':'%'+_0x26c256[_0x2e9f('0x43')][_0x2e9f('0x50')]+'%'};return _0x1ef1ab;}})});}_0x3a2294=_[_0x2e9f('0x4d')]({},_0x3a2294,_0x26c256[_0x2e9f('0x51')]);var _0x5dab9a={'where':_0x3a2294['where']};return db['SmsMessage'][_0x2e9f('0x33')](_0x5dab9a)[_0x2e9f('0x52')](function(_0x45c92a){_0x49cd47[_0x2e9f('0x33')]=_0x45c92a;if(_0x26c256['query']['includeAll']){_0x3a2294[_0x2e9f('0x53')]=[{'all':!![]}];}return db[_0x2e9f('0x54')][_0x2e9f('0x55')](_0x3a2294);})[_0x2e9f('0x52')](function(_0x17cd16){_0x49cd47['rows']=_0x17cd16;return _0x49cd47;})[_0x2e9f('0x52')](respondWithFilteredResult(_0x287e08,_0x3a2294))[_0x2e9f('0x2c')](handleError(_0x287e08,null));};exports[_0x2e9f('0x56')]=function(_0x32dbb3,_0x25a5f0){var _0xee96a2={'raw':!![],'where':{'id':_0x32dbb3[_0x2e9f('0x57')]['id']}},_0x3eda15={};_0x3eda15[_0x2e9f('0x44')]=_[_0x2e9f('0x42')](db[_0x2e9f('0x54')][_0x2e9f('0x3e')]);_0x3eda15[_0x2e9f('0x43')]=_[_0x2e9f('0x42')](_0x32dbb3['query']);_0x3eda15[_0x2e9f('0x4a')]=_[_0x2e9f('0x58')](_0x3eda15['model'],_0x3eda15['query']);_0xee96a2[_0x2e9f('0x45')]=_[_0x2e9f('0x58')](_0x3eda15['model'],qs['fields'](_0x32dbb3[_0x2e9f('0x43')][_0x2e9f('0x46')]));_0xee96a2[_0x2e9f('0x45')]=_0xee96a2[_0x2e9f('0x45')][_0x2e9f('0x47')]?_0xee96a2['attributes']:_0x3eda15[_0x2e9f('0x44')];if(_0x32dbb3[_0x2e9f('0x43')][_0x2e9f('0x59')]){_0xee96a2[_0x2e9f('0x53')]=[{'all':!![]}];}_0xee96a2=_[_0x2e9f('0x4d')]({},_0xee96a2,_0x32dbb3[_0x2e9f('0x51')]);return db[_0x2e9f('0x54')][_0x2e9f('0x5a')](_0xee96a2)[_0x2e9f('0x52')](handleEntityNotFound(_0x25a5f0,null))['then'](respondWithResult(_0x25a5f0,null))['catch'](handleError(_0x25a5f0,null));};exports['create']=function(_0x4bd628,_0x37daa9){return db[_0x2e9f('0x54')][_0x2e9f('0x5b')](_0x4bd628[_0x2e9f('0x5c')],{})[_0x2e9f('0x52')](respondWithResult(_0x37daa9,0xc9))[_0x2e9f('0x2c')](handleError(_0x37daa9,null));};exports[_0x2e9f('0x39')]=function(_0x49228c,_0x16ec93){if(_0x49228c[_0x2e9f('0x5c')]['id']){delete _0x49228c['body']['id'];}return db['SmsMessage'][_0x2e9f('0x5a')]({'where':{'id':_0x49228c[_0x2e9f('0x57')]['id']}})[_0x2e9f('0x52')](handleEntityNotFound(_0x16ec93,null))['then'](saveUpdates(_0x49228c[_0x2e9f('0x5c')],null))[_0x2e9f('0x52')](respondWithResult(_0x16ec93,null))[_0x2e9f('0x2c')](handleError(_0x16ec93,null));};exports[_0x2e9f('0x3a')]=function(_0x32211d,_0x159c01){return db['SmsMessage'][_0x2e9f('0x5a')]({'where':{'id':_0x32211d[_0x2e9f('0x57')]['id']}})[_0x2e9f('0x52')](handleEntityNotFound(_0x159c01,null))['then'](removeEntity(_0x159c01,null))['catch'](handleError(_0x159c01,null));};exports[_0x2e9f('0x5d')]=function(_0x36ebbd,_0x46c48f){return db[_0x2e9f('0x54')][_0x2e9f('0x5d')]()[_0x2e9f('0x52')](respondWithResult(_0x46c48f,null))[_0x2e9f('0x2c')](handleError(_0x46c48f,null));};var interaction_log=require(_0x2e9f('0x14'))('sms-interactions');exports[_0x2e9f('0x5e')]=function(_0x21b76e,_0x66a757,_0x4d1cb4){var _0x581622={'agent':{},'channel':_0x2e9f('0x5f')};if(_0x21b76e[_0x2e9f('0x5c')]['id']){delete _0x21b76e['body']['id'];}_0x21b76e['body']['read']=!![];_0x21b76e['body']['readAt']=moment()[_0x2e9f('0x60')](_0x2e9f('0x61'));_0x21b76e[_0x2e9f('0x5c')][_0x2e9f('0x62')]=_0x21b76e[_0x2e9f('0x5c')][_0x2e9f('0x62')]||_0x21b76e[_0x2e9f('0x63')]['id'];_0x581622[_0x2e9f('0x64')]['id']=_0x21b76e[_0x2e9f('0x5c')][_0x2e9f('0x62')];return db[_0x2e9f('0x54')]['find']({'where':{'id':_0x21b76e[_0x2e9f('0x57')]['id'],'UserId':null}})[_0x2e9f('0x52')](handleEntityNotFound(_0x66a757,null))[_0x2e9f('0x52')](saveUpdates(_0x21b76e[_0x2e9f('0x5c')],null))[_0x2e9f('0x52')](function(_0x4e99ea){if(_0x4e99ea){_0x581622[_0x2e9f('0x2b')]=_0x4e99ea['get']({'plain':!![]});return db[_0x2e9f('0x65')]['find']({'where':{'id':_0x4e99ea[_0x2e9f('0x66')]}});}return null;})['then'](handleEntityNotFound(_0x66a757,null))['then'](function(_0x10e37e){if(_0x10e37e){return _0x10e37e[_0x2e9f('0x39')]({'UserId':_0x21b76e[_0x2e9f('0x5c')]['UserId'],'read1stAt':_[_0x2e9f('0x67')](_0x10e37e[_0x2e9f('0x68')])?moment()[_0x2e9f('0x60')](_0x2e9f('0x61')):undefined});}return null;})[_0x2e9f('0x52')](function(_0xb11c94){if(_0xb11c94){_0x581622['interaction']=_0xb11c94[_0x2e9f('0x69')]({'plain':!![]});interaction_log[_0x2e9f('0x24')](_0x2e9f('0x6a'),_0x21b76e[_0x2e9f('0x63')]['id'],_0x21b76e['user'][_0x2e9f('0x41')],_0x21b76e[_0x2e9f('0x63')][_0x2e9f('0x6b')],_0x581622['interaction']['id'],_0x21b76e['body']?JSON[_0x2e9f('0x28')](_0x21b76e[_0x2e9f('0x5c')]):'null');return respondWithRpcPromise(_0x2e9f('0x6c'),_0x2e9f('0x6d'),_0x581622);}return null;})['then'](function(_0x1f39e9){var _0x186d16=_0x2e9f('0x6e')+_0x1f39e9[_0x2e9f('0x2b')][_0x2e9f('0x6f')];return db['sequelize']['query'](_0x186d16,{'type':db['Sequelize'][_0x2e9f('0x70')]['SELECT'],'raw':!![]})[_0x2e9f('0x52')](function(_0x18981){return _0x18981;});})[_0x2e9f('0x52')](function(_0x4ab059){if(_0x4ab059){_0x581622['message'][_0x2e9f('0x71')]=_0x4ab059[0x0];if(!_0x21b76e['body']['UserId'])return;return db['User']['find']({'where':{'id':_0x21b76e[_0x2e9f('0x5c')]['UserId'],'role':_0x2e9f('0x64')},'attributes':['id',_0x2e9f('0x41'),_0x2e9f('0x72'),_0x2e9f('0x73'),_0x2e9f('0x74')],'raw':!![]});}return null;})[_0x2e9f('0x52')](function(_0x4110d0){if(!_0x4110d0)return null;_0x581622[_0x2e9f('0x2b')][_0x2e9f('0x64')]=_0x4110d0;return _0x581622;})[_0x2e9f('0x52')](function(_0xdd95a6){if(_0xdd95a6){if(_0x21b76e[_0x2e9f('0x5c')][_0x2e9f('0x75')]){_0x581622[_0x2e9f('0x2b')][_0x2e9f('0x76')]=util['format'](_0x2e9f('0x77'),_0x21b76e['user'][_0x2e9f('0x41')]);_0x581622['message'][_0x2e9f('0x78')]=_0x581622['channel'];_0x581622[_0x2e9f('0x2b')]['motionChannel']=_0x581622[_0x2e9f('0x78')];_0x581622[_0x2e9f('0x2b')][_0x2e9f('0x79')]=_0x2e9f('0x5e');return respondWithRpcPromise('EventManager','EventManager',{'event':'acceptmessage','message':_0x581622['message']},client9002)[_0x2e9f('0x52')](function(){return _0x581622;});}return _0x581622;}return null;})['then'](respondWithResult(_0x66a757,null))[_0x2e9f('0x2c')](handleError(_0x66a757,null));};var interaction_log=require(_0x2e9f('0x14'))('sms-interactions');exports[_0x2e9f('0x37')]=function(_0x31b78e,_0x3e3f05,_0x134d9b){var _0x2fb416={'agent':{},'channel':'sms'};if(_0x31b78e['body']['id']){delete _0x31b78e[_0x2e9f('0x5c')]['id'];}_0x31b78e[_0x2e9f('0x5c')][_0x2e9f('0x62')]=_0x31b78e[_0x2e9f('0x5c')][_0x2e9f('0x62')]||_0x31b78e[_0x2e9f('0x63')]['id'];_0x2fb416[_0x2e9f('0x64')]['id']=_0x31b78e[_0x2e9f('0x5c')][_0x2e9f('0x62')];return db[_0x2e9f('0x54')][_0x2e9f('0x5a')]({'where':{'id':_0x31b78e[_0x2e9f('0x57')]['id'],'UserId':null}})[_0x2e9f('0x52')](handleEntityNotFound(_0x3e3f05,null))['then'](function(_0x21351d){if(_0x21351d){_0x2fb416[_0x2e9f('0x2b')]=_0x21351d['get']({'plain':!![]});return db[_0x2e9f('0x65')]['find']({'where':{'id':_0x21351d[_0x2e9f('0x66')]}});}return null;})[_0x2e9f('0x52')](handleEntityNotFound(_0x3e3f05,null))[_0x2e9f('0x52')](function(_0x5cbb09){if(_0x5cbb09){_0x2fb416[_0x2e9f('0x7a')]=_0x5cbb09['get']({'plain':!![]});interaction_log[_0x2e9f('0x24')](_0x2e9f('0x7b'),_0x31b78e[_0x2e9f('0x63')]['id'],_0x31b78e[_0x2e9f('0x63')][_0x2e9f('0x41')],_0x31b78e[_0x2e9f('0x63')]['role'],_0x2fb416['interaction']['id'],_0x31b78e['body']?JSON['stringify'](_0x31b78e['body']):_0x2e9f('0x7c'));return respondWithRpcPromise(_0x2e9f('0x7d'),_0x2e9f('0x7e'),_0x2fb416);}return null;})['then'](function(_0x1f38e9){var _0x59d0b3=_0x2e9f('0x6e')+_0x1f38e9['message']['ContactId'];return db[_0x2e9f('0x7f')][_0x2e9f('0x43')](_0x59d0b3,{'type':db[_0x2e9f('0x80')][_0x2e9f('0x70')][_0x2e9f('0x81')],'raw':!![]})[_0x2e9f('0x52')](function(_0x101a1d){return _0x101a1d;});})['then'](function(_0x2e56c3){if(_0x2e56c3){_0x2fb416[_0x2e9f('0x2b')]['contact']=_0x2e56c3[0x0];if(!_0x31b78e[_0x2e9f('0x5c')][_0x2e9f('0x62')])return;return db[_0x2e9f('0x82')][_0x2e9f('0x5a')]({'where':{'id':_0x31b78e[_0x2e9f('0x5c')][_0x2e9f('0x62')],'role':'agent'},'attributes':['id',_0x2e9f('0x41'),_0x2e9f('0x72'),_0x2e9f('0x73'),_0x2e9f('0x74')],'raw':!![]});}return null;})[_0x2e9f('0x52')](function(_0x39ff18){if(!_0x39ff18)return null;_0x2fb416['message'][_0x2e9f('0x64')]=_0x39ff18;return _0x2fb416;})[_0x2e9f('0x52')](function(_0x57929b){if(_0x57929b){_0x57929b[_0x2e9f('0x2b')]['interface']=util[_0x2e9f('0x60')](_0x2e9f('0x77'),_0x31b78e['user'][_0x2e9f('0x41')]);_0x57929b[_0x2e9f('0x2b')][_0x2e9f('0x78')]=_0x2fb416[_0x2e9f('0x78')];_0x57929b[_0x2e9f('0x2b')][_0x2e9f('0x83')]=_0x2fb416[_0x2e9f('0x78')];_0x57929b[_0x2e9f('0x2b')][_0x2e9f('0x79')]=_0x2e9f('0x37');respondWithRpcPromise(_0x2e9f('0x84'),_0x2e9f('0x84'),{'event':_0x2e9f('0x85'),'message':_0x57929b[_0x2e9f('0x2b')]},client9002);return _0x2fb416;}return null;})[_0x2e9f('0x52')](respondWithResult(_0x3e3f05,null))['catch'](handleError(_0x3e3f05,null));};exports[_0x2e9f('0x2e')]=function(_0xf6c55e,_0x406e82,_0x450165){if(_0xf6c55e[_0x2e9f('0x5c')]['id']){delete _0xf6c55e[_0x2e9f('0x5c')]['id'];}var _0x275f5f;return db[_0x2e9f('0x54')][_0x2e9f('0x5a')]({'where':{'id':_0xf6c55e[_0x2e9f('0x57')]['id']}})[_0x2e9f('0x52')](handleEntityNotFound(_0x406e82,null))[_0x2e9f('0x52')](function(_0x190935){if(_0x190935){_0x275f5f=_0x190935;return db[_0x2e9f('0x86')]['find']({'where':{'id':_0x190935['SmsAccountId']}});}})[_0x2e9f('0x52')](handleEntityNotFound(_0x406e82,null))[_0x2e9f('0x52')](function(_0xf54248){if(_0xf54248){logger[_0x2e9f('0x26')](_0x2e9f('0x87'),_0x2e9f('0x2e'),_0x2e9f('0x88'),_0xf54248[_0x2e9f('0x4e')],util[_0x2e9f('0x89')](_0xf6c55e[_0x2e9f('0x5c')],{'showHidden':![],'depth':null}));switch(_0xf54248['type']){case _0x2e9f('0x8a'):if(_0xf6c55e[_0x2e9f('0x5c')]['MessageSid']&&_0xf6c55e['body'][_0x2e9f('0x8b')]===_0x275f5f[_0x2e9f('0x8c')]){return _0x275f5f[_0x2e9f('0x39')]({'read':!![]});}else{logger[_0x2e9f('0x29')](_0x2e9f('0x8d'),'status',_0x2e9f('0x8a'),util[_0x2e9f('0x89')](_0xf6c55e['body'],{'showHidden':![],'depth':null}));}break;case'plivo':if(_0xf6c55e[_0x2e9f('0x5c')][_0x2e9f('0x8e')]&&_0xf6c55e[_0x2e9f('0x5c')][_0x2e9f('0x8e')]===_0x275f5f[_0x2e9f('0x8c')]&&_['indexOf'](['sent','delivered'],_0xf6c55e[_0x2e9f('0x5c')][_0x2e9f('0x8f')])>=0x0){return _0x275f5f[_0x2e9f('0x39')]({'read':!![]});}else{logger[_0x2e9f('0x29')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x2e9f('0x2e'),_0x2e9f('0x90'),util[_0x2e9f('0x89')](_0xf6c55e[_0x2e9f('0x5c')],{'showHidden':![],'depth':null}));}break;case _0x2e9f('0x91'):var _0x3bbfa9=_0xf6c55e[_0x2e9f('0x5c')][_0x2e9f('0x92')][0x0];if(_0x3bbfa9[_0x2e9f('0x2e')][_0x2e9f('0x93')]===_0x2e9f('0x94')){return _0x275f5f[_0x2e9f('0x39')]({'read':!![]});}else{logger[_0x2e9f('0x29')](_0x2e9f('0x8d'),_0x2e9f('0x2e'),'infobip',util['inspect'](_0xf6c55e[_0x2e9f('0x5c')],{'showHidden':![],'depth':null}));}break;}return _0x275f5f;}})[_0x2e9f('0x52')](respondWithResult(_0x406e82,null))['catch'](handleError(_0x406e82,null));};