3fdd6fe5927d350613408015a8c2fc854eb77acb
[motion2.git] / server / api / rpc / rpc.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 _0xe504=['agentCapacity','body','interaction','user','hasOwnProperty','MemberReport','INTERACTION','length','format','YYYY-MM-DD\x20HH:mm:ss','findOrCreate','interface','agent','AgentCapacity','capacity','telephones','Telephones','Trunks','Campaigns','chatQueues','ChatQueues','showChatQueues','mailQueues','MailQueues','showMailQueues','MailAccounts','OpenchannelQueues','showOpenchannelQueues','SmsQueues','showSmsQueues','whatsappQueues','WhatsappQueues','FaxQueues','showFaxQueues','faxAccounts','FaxAccounts','chatQueuesWaitingInteractions','ChatQueuesWaitingInteractions','mailQueuesWaitingInteractions','MailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','OpenchannelQueuesWaitingInteractions','openchannelQueuesIdWaitingInteractions','filter','type','queue_id','uniq','value','indexOf','smsQueuesWaitingInteractions','SmsQueuesWaitingInteractions','whatsappQueuesWaitingInteractions','FaxQueuesWaitingInteractions','queueNotify','capitalize','chat','Website','Account','Queue','findOne','\x20Queue\x20not\x20found','Message','messageId','Interaction','\x20Message\x20not\x20found','update','MessageId','InteractionId','From','TransferReport','create','queue','*,*,*,*','agentNotify','channel','Channel\x20field\x20is\x20mandatory','Agent\x20not\x20found','agentTransferTimeout','bluebird','moment','lodash','../../mysqldb','api','http','client','request','error','code','message','catch','json','sendStatus','stack','name','send','isNil','rows','find','voiceChannels','VoiceChannels','query','then','voiceChannelMixMonitor','merge','params','voiceChannelStopMixMonitor','VoiceChannelStopMixMonitor','showVoiceQueues','VoiceQueues','updateVoiceQueue','UpdateVoiceQueue','voiceQueuesPreview','VoiceQueuesPreview','voiceQueuesChannels','VoiceQueuesChannels','VoiceQueuesChannel','voiceQueuesChannelHangup','voiceQueuesChannelRedirect','outbound','Outbound','OutboundChannels','agents','Agents'];(function(_0xccf869,_0x2556a5){var _0x21a9db=function(_0xcc4835){while(--_0xcc4835){_0xccf869['push'](_0xccf869['shift']());}};_0x21a9db(++_0x2556a5);}(_0xe504,0x144));var _0x4e50=function(_0x502c7d,_0x2f1285){_0x502c7d=_0x502c7d-0x0;var _0x30b7ed=_0xe504[_0x502c7d];return _0x30b7ed;};'use strict';var BPromise=require(_0x4e50('0x0'));var moment=require(_0x4e50('0x1'));var _=require(_0x4e50('0x2'));var util=require('util');var db=require(_0x4e50('0x3'))['db'];var logger=require('../../config/logger')(_0x4e50('0x4'));var jayson=require('jayson/promise');var amiClient=jayson['client'][_0x4e50('0x5')]({'port':0x232a});var mailClient=jayson[_0x4e50('0x6')][_0x4e50('0x5')]({'port':0x232b});var routingClient=jayson[_0x4e50('0x6')][_0x4e50('0x5')]({'port':0x232c});function respondWithRpcPromise(_0x22d269,_0x4408ea,_0x37469b){return new BPromise(function(_0x478edd,_0x125589){var _0x44276f=_0x37469b?_0x37469b:amiClient;return _0x44276f[_0x4e50('0x7')](_0x22d269,_0x4408ea)['then'](function(_0x181f04){if(_0x181f04['error']){if(_0x181f04[_0x4e50('0x8')][_0x4e50('0x9')]===0x1f4){return _0x125589(_0x181f04[_0x4e50('0x8')][_0x4e50('0xa')]);}return _0x478edd(_0x181f04[_0x4e50('0x8')][_0x4e50('0xa')]);}else{_0x478edd(_0x181f04['result']);}})[_0x4e50('0xb')](function(_0x11a295){_0x125589(_0x11a295);});});}function respondWithResult(_0x343eaa,_0x503385){_0x503385=_0x503385||0xc8;return function(_0x587a24){if(_0x587a24){return _0x343eaa['status'](_0x503385)[_0x4e50('0xc')](_0x587a24);}return _0x343eaa[_0x4e50('0xd')](0x194);};}function handleError(_0x444d49,_0x708a42){_0x708a42=_0x708a42||0x1f4;return function(_0x285be7){logger[_0x4e50('0x8')](_0x285be7[_0x4e50('0xe')]);if(_0x285be7[_0x4e50('0xf')]){delete _0x285be7['name'];}_0x444d49['status'](_0x708a42)[_0x4e50('0x10')](_0x285be7);};}function findById(_0x59134a){return function(_0x534d3d){if(!_[_0x4e50('0x11')](_0x59134a)&&!_[_0x4e50('0x11')](_0x534d3d)&&!_[_0x4e50('0x11')](_0x534d3d[_0x4e50('0x12')])){return _[_0x4e50('0x13')](_0x534d3d[_0x4e50('0x12')],function(_0x2e5068){return _0x2e5068['id']==_0x59134a;});}return null;};}exports[_0x4e50('0x14')]=function(_0x5dce92,_0x3fbaf3){return respondWithRpcPromise(_0x4e50('0x15'),_0x5dce92[_0x4e50('0x16')])[_0x4e50('0x17')](respondWithResult(_0x3fbaf3,null))[_0x4e50('0xb')](handleError(_0x3fbaf3,null));};exports[_0x4e50('0x18')]=function(_0x598f10,_0x2599f0){return respondWithRpcPromise('VoiceChannelMixMonitor',_[_0x4e50('0x19')](_0x598f10[_0x4e50('0x16')],_0x598f10[_0x4e50('0x1a')]))[_0x4e50('0x17')](respondWithResult(_0x2599f0,null))['catch'](handleError(_0x2599f0,null));};exports[_0x4e50('0x1b')]=function(_0x11181f,_0x8ec1da){return respondWithRpcPromise(_0x4e50('0x1c'),_['merge'](_0x11181f[_0x4e50('0x16')],_0x11181f[_0x4e50('0x1a')]))[_0x4e50('0x17')](respondWithResult(_0x8ec1da,null))[_0x4e50('0xb')](handleError(_0x8ec1da,null));};exports['voiceQueues']=function(_0xd31a74,_0x9b0643){return respondWithRpcPromise('VoiceQueues',_0xd31a74[_0x4e50('0x16')])[_0x4e50('0x17')](respondWithResult(_0x9b0643,null))[_0x4e50('0xb')](handleError(_0x9b0643,null));};exports[_0x4e50('0x1d')]=function(_0x4bb698,_0x58797c){return respondWithRpcPromise(_0x4e50('0x1e'),_0x4bb698['query'])[_0x4e50('0x17')](findById(_0x4bb698[_0x4e50('0x1a')]['id']))['then'](respondWithResult(_0x58797c,null))[_0x4e50('0xb')](handleError(_0x58797c,null));};exports[_0x4e50('0x1f')]=function(_0x50a633,_0x19f3f8){return respondWithRpcPromise(_0x4e50('0x20'),_[_0x4e50('0x19')](_0x50a633['body'],_0x50a633[_0x4e50('0x1a')]))[_0x4e50('0x17')](respondWithResult(_0x19f3f8,null))['catch'](handleError(_0x19f3f8,null));};exports[_0x4e50('0x21')]=function(_0x158390,_0x12c29b){return respondWithRpcPromise(_0x4e50('0x22'),_[_0x4e50('0x19')](_0x158390[_0x4e50('0x16')],_0x158390[_0x4e50('0x1a')]))[_0x4e50('0x17')](respondWithResult(_0x12c29b,null))[_0x4e50('0xb')](handleError(_0x12c29b,null));};exports[_0x4e50('0x23')]=function(_0x10c13b,_0x18b100){return respondWithRpcPromise(_0x4e50('0x24'),_0x10c13b[_0x4e50('0x16')])[_0x4e50('0x17')](respondWithResult(_0x18b100,null))['catch'](handleError(_0x18b100,null));};exports['voiceQueuesChannel']=function(_0x348f72,_0x268e76){return respondWithRpcPromise(_0x4e50('0x25'),_[_0x4e50('0x19')](_0x348f72[_0x4e50('0x16')],_0x348f72[_0x4e50('0x1a')]))[_0x4e50('0x17')](respondWithResult(_0x268e76,null))[_0x4e50('0xb')](handleError(_0x268e76,null));};exports[_0x4e50('0x26')]=function(_0x3a9a7d,_0x335f98){return respondWithRpcPromise('VoiceQueuesChannelHangup',_[_0x4e50('0x19')](_0x3a9a7d[_0x4e50('0x16')],_0x3a9a7d[_0x4e50('0x1a')]))[_0x4e50('0x17')](respondWithResult(_0x335f98,null))[_0x4e50('0xb')](handleError(_0x335f98,null));};exports[_0x4e50('0x27')]=function(_0x120134,_0x2c0b32){return respondWithRpcPromise('VoiceQueuesChannelRedirect',_[_0x4e50('0x19')](_0x120134[_0x4e50('0x16')],_0x120134['params']))[_0x4e50('0x17')](respondWithResult(_0x2c0b32,null))[_0x4e50('0xb')](handleError(_0x2c0b32,null));};exports[_0x4e50('0x28')]=function(_0x3dccd5,_0x156ea4){return respondWithRpcPromise(_0x4e50('0x29'),_0x3dccd5[_0x4e50('0x16')])[_0x4e50('0x17')](respondWithResult(_0x156ea4,null))['catch'](handleError(_0x156ea4,null));};exports['outboundChannels']=function(_0x84b003,_0x3e44fa){return respondWithRpcPromise(_0x4e50('0x2a'),_0x84b003[_0x4e50('0x16')])['then'](respondWithResult(_0x3e44fa,null))['catch'](handleError(_0x3e44fa,null));};exports[_0x4e50('0x2b')]=function(_0x12dadf,_0x1fff2a){var _0x450f31;return respondWithRpcPromise(_0x4e50('0x2c'),_0x12dadf[_0x4e50('0x16')])[_0x4e50('0x17')](function(_0x21bcc1){_0x450f31=_0x21bcc1;return respondWithRpcPromise(_0x4e50('0x2c'),_0x12dadf[_0x4e50('0x16')],routingClient);})['then'](function(_0x584cb5){return _[_0x4e50('0x19')]({},_0x584cb5,_0x450f31);})[_0x4e50('0x17')](respondWithResult(_0x1fff2a,null))['catch'](handleError(_0x1fff2a,null));};exports[_0x4e50('0x2d')]=function(_0x23f49d,_0x5dafe1){if(_0x23f49d[_0x4e50('0x2e')]&&_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')]&&_0x23f49d[_0x4e50('0x30')]&&_0x23f49d['user'][_0x4e50('0xf')]){for(var _0x199578 in _0x23f49d[_0x4e50('0x2e')]['interaction']){if(_0x23f49d['body'][_0x4e50('0x2f')][_0x4e50('0x31')](_0x199578)){db[_0x4e50('0x32')]['findAll']({'where':{'channel':_0x199578,'membername':_0x23f49d[_0x4e50('0x30')]['name'],'type':_0x4e50('0x33'),'exitAt':null,'uniqueid':_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')][_0x199578]&&_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')][_0x199578][_0x4e50('0x34')]?{'$notIn':_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')][_0x199578]}:{'$ne':null}}})[_0x4e50('0x17')](function(_0x2713cb){var _0x55e436=moment()[_0x4e50('0x35')](_0x4e50('0x36'));for(var _0x44b62b=0x0,_0x2271ee=_0x2713cb[_0x4e50('0x34')];_0x44b62b<_0x2271ee;_0x44b62b+=0x1){_0x2713cb[_0x44b62b]['updateAttributes']({'exitAt':_0x55e436});}});for(var _0x402b97=0x0;_0x402b97<_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')][_0x199578][_0x4e50('0x34')];_0x402b97+=0x1){db['MemberReport'][_0x4e50('0x37')]({'where':{'channel':_0x199578,'membername':_0x23f49d[_0x4e50('0x30')][_0x4e50('0xf')],'type':_0x4e50('0x33'),'uniqueid':_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')][_0x199578][_0x402b97],'exitAt':null},'defaults':{'channel':_0x199578,'membername':_0x23f49d[_0x4e50('0x30')]['name'],'interface':_[_0x4e50('0x11')](_0x23f49d[_0x4e50('0x30')][_0x4e50('0x38')])?util[_0x4e50('0x35')]('SIP/%s',_0x23f49d[_0x4e50('0x30')][_0x4e50('0xf')]):_0x23f49d[_0x4e50('0x30')][_0x4e50('0x38')],'type':_0x4e50('0x33'),'enterAt':moment()['format'](_0x4e50('0x36')),'role':_0x4e50('0x39'),'internal':_0x23f49d[_0x4e50('0x30')]['internal'],'uniqueid':_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x2f')][_0x199578][_0x402b97]}});}}}}return respondWithRpcPromise(_0x4e50('0x3a'),{'id':_0x23f49d[_0x4e50('0x1a')]['id'],'capacity':_0x23f49d[_0x4e50('0x2e')][_0x4e50('0x3b')]},routingClient)[_0x4e50('0x17')](respondWithResult(_0x5dafe1,null))['catch'](handleError(_0x5dafe1,null));};exports[_0x4e50('0x3c')]=function(_0x1d7f2c,_0x407b2f){return respondWithRpcPromise(_0x4e50('0x3d'),_0x1d7f2c['query'])[_0x4e50('0x17')](respondWithResult(_0x407b2f,null))[_0x4e50('0xb')](handleError(_0x407b2f,null));};exports['trunks']=function(_0x4a0db4,_0x5af242){return respondWithRpcPromise(_0x4e50('0x3e'),_0x4a0db4[_0x4e50('0x16')])[_0x4e50('0x17')](respondWithResult(_0x5af242,null))[_0x4e50('0xb')](handleError(_0x5af242,null));};exports['campaigns']=function(_0x26680b,_0x3516d8){return respondWithRpcPromise(_0x4e50('0x3f'),_0x26680b[_0x4e50('0x16')])['then'](respondWithResult(_0x3516d8,null))['catch'](handleError(_0x3516d8,null));};exports[_0x4e50('0x40')]=function(_0x539d4e,_0x4eed7b){return respondWithRpcPromise(_0x4e50('0x41'),_0x539d4e['query'],routingClient)[_0x4e50('0x17')](respondWithResult(_0x4eed7b,null))['catch'](handleError(_0x4eed7b,null));};exports[_0x4e50('0x42')]=function(_0x39bd1d,_0x2db357){return respondWithRpcPromise(_0x4e50('0x41'),_0x39bd1d[_0x4e50('0x16')],routingClient)['then'](findById(_0x39bd1d[_0x4e50('0x1a')]['id']))[_0x4e50('0x17')](respondWithResult(_0x2db357,null))['catch'](handleError(_0x2db357,null));};exports[_0x4e50('0x43')]=function(_0x2f959e,_0x33d461){return respondWithRpcPromise(_0x4e50('0x44'),_0x2f959e[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0x33d461,null))[_0x4e50('0xb')](handleError(_0x33d461,null));};exports[_0x4e50('0x45')]=function(_0x4cedb5,_0x263d3b){return respondWithRpcPromise(_0x4e50('0x44'),_0x4cedb5['query'],routingClient)[_0x4e50('0x17')](findById(_0x4cedb5['params']['id']))[_0x4e50('0x17')](respondWithResult(_0x263d3b,null))[_0x4e50('0xb')](handleError(_0x263d3b,null));};exports['mailAccounts']=function(_0x44cab4,_0x40f14b){return respondWithRpcPromise(_0x4e50('0x46'),_0x44cab4[_0x4e50('0x16')],mailClient)[_0x4e50('0x17')](respondWithResult(_0x40f14b,null))[_0x4e50('0xb')](handleError(_0x40f14b,null));};exports['openchannelQueues']=function(_0x4a5f36,_0x5d6f5d){return respondWithRpcPromise(_0x4e50('0x47'),_0x4a5f36[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0x5d6f5d,null))['catch'](handleError(_0x5d6f5d,null));};exports[_0x4e50('0x48')]=function(_0x5c7c40,_0x576a1e){return respondWithRpcPromise(_0x4e50('0x47'),_0x5c7c40[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](findById(_0x5c7c40[_0x4e50('0x1a')]['id']))[_0x4e50('0x17')](respondWithResult(_0x576a1e,null))[_0x4e50('0xb')](handleError(_0x576a1e,null));};exports['smsQueues']=function(_0x53df0d,_0x428b26){return respondWithRpcPromise(_0x4e50('0x49'),_0x53df0d[_0x4e50('0x16')],routingClient)['then'](respondWithResult(_0x428b26,null))[_0x4e50('0xb')](handleError(_0x428b26,null));};exports[_0x4e50('0x4a')]=function(_0x9339c4,_0xadfe30){return respondWithRpcPromise('SmsQueues',_0x9339c4[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](findById(_0x9339c4[_0x4e50('0x1a')]['id']))[_0x4e50('0x17')](respondWithResult(_0xadfe30,null))['catch'](handleError(_0xadfe30,null));};exports[_0x4e50('0x4b')]=function(_0x4364a5,_0x680105){return respondWithRpcPromise(_0x4e50('0x4c'),_0x4364a5[_0x4e50('0x16')],routingClient)['then'](respondWithResult(_0x680105,null))[_0x4e50('0xb')](handleError(_0x680105,null));};exports['showWhatsappQueues']=function(_0xe00530,_0x2b4fbc){return respondWithRpcPromise(_0x4e50('0x4c'),_0xe00530[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](findById(_0xe00530[_0x4e50('0x1a')]['id']))[_0x4e50('0x17')](respondWithResult(_0x2b4fbc,null))[_0x4e50('0xb')](handleError(_0x2b4fbc,null));};exports['faxQueues']=function(_0x5aa52d,_0x1181e3){return respondWithRpcPromise(_0x4e50('0x4d'),_0x5aa52d[_0x4e50('0x16')],routingClient)['then'](respondWithResult(_0x1181e3,null))[_0x4e50('0xb')](handleError(_0x1181e3,null));};exports[_0x4e50('0x4e')]=function(_0x1868df,_0x17f9c3){return respondWithRpcPromise(_0x4e50('0x4d'),_0x1868df[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](findById(_0x1868df[_0x4e50('0x1a')]['id']))[_0x4e50('0x17')](respondWithResult(_0x17f9c3,null))[_0x4e50('0xb')](handleError(_0x17f9c3,null));};exports[_0x4e50('0x4f')]=function(_0x49ba1a,_0x5a074f){return respondWithRpcPromise(_0x4e50('0x50'),_0x49ba1a[_0x4e50('0x16')])[_0x4e50('0x17')](respondWithResult(_0x5a074f,null))[_0x4e50('0xb')](handleError(_0x5a074f,null));};exports[_0x4e50('0x51')]=function(_0x507bef,_0x35c1fa){return respondWithRpcPromise(_0x4e50('0x52'),_0x507bef[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0x35c1fa,null))[_0x4e50('0xb')](handleError(_0x35c1fa,null));};exports[_0x4e50('0x53')]=function(_0x4c7f77,_0x41ea2d){return respondWithRpcPromise(_0x4e50('0x54'),_0x4c7f77[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0x41ea2d,null))[_0x4e50('0xb')](handleError(_0x41ea2d,null));};exports[_0x4e50('0x55')]=function(_0x7bf1e1,_0x12db50){return respondWithRpcPromise(_0x4e50('0x56'),_0x7bf1e1[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0x12db50,null))[_0x4e50('0xb')](handleError(_0x12db50,null));};exports[_0x4e50('0x57')]=function(_0x23a32c,_0x29f099){return respondWithRpcPromise(_0x4e50('0x56'),_0x23a32c['query'],routingClient)[_0x4e50('0x17')](function(_0x1a7d10){if(_0x23a32c[_0x4e50('0x16')]['type']!==undefined){var _0xec5492=_(_0x1a7d10['rows'])[_0x4e50('0x58')]([_0x23a32c[_0x4e50('0x16')][_0x4e50('0x59')],_0x23a32c[_0x4e50('0x1a')]['id']])['map'](_0x4e50('0x5a'))[_0x4e50('0x5b')]()[_0x4e50('0x5c')]();return _0x1a7d10['rows'][_0x4e50('0x58')](function(_0x5a86e8){return _0xec5492[_0x4e50('0x5d')](_0x5a86e8[_0x4e50('0x5a')])>-0x1;});}else{return _0x1a7d10[_0x4e50('0x12')][_0x4e50('0x58')](function(_0x27796e){return _0x27796e[_0x4e50('0x5a')]===parseInt(_0x23a32c[_0x4e50('0x1a')]['id']);});}})[_0x4e50('0x17')](respondWithResult(_0x29f099,null))['catch'](handleError(_0x29f099,null));};exports[_0x4e50('0x5e')]=function(_0x585b8b,_0x552280){return respondWithRpcPromise(_0x4e50('0x5f'),_0x585b8b[_0x4e50('0x16')],routingClient)['then'](respondWithResult(_0x552280,null))[_0x4e50('0xb')](handleError(_0x552280,null));};exports[_0x4e50('0x60')]=function(_0x8ab98f,_0x5463fa){return respondWithRpcPromise('WhatsappQueuesWaitingInteractions',_0x8ab98f[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0x5463fa,null))[_0x4e50('0xb')](handleError(_0x5463fa,null));};exports['faxQueuesWaitingInteractions']=function(_0x4bd65f,_0xfbfedf){return respondWithRpcPromise(_0x4e50('0x61'),_0x4bd65f[_0x4e50('0x16')],routingClient)[_0x4e50('0x17')](respondWithResult(_0xfbfedf,null))[_0x4e50('0xb')](handleError(_0xfbfedf,null));};exports[_0x4e50('0x62')]=function(_0xe2ec1f){return function(_0x3fcca6,_0x343a60){var _0x544468,_0x3cc5b7;var _0x120796=_[_0x4e50('0x63')](_0xe2ec1f);var _0x4189db=_0xe2ec1f===_0x4e50('0x64')?_0x4e50('0x65'):_0x4e50('0x66');return db[_0x120796+_0x4e50('0x67')][_0x4e50('0x68')]({'raw':!![],'where':{'id':_0x3fcca6[_0x4e50('0x1a')]['id']}})[_0x4e50('0x17')](function(_0x2cee54){if(_['isNil'](_0x2cee54)){throw new Error(_0x120796+_0x4e50('0x69'));}_0x544468=_0x2cee54;return db[_0x120796+_0x4e50('0x6a')][_0x4e50('0x68')]({'where':{'id':_0x3fcca6['body'][_0x4e50('0x6b')]},'include':[{'model':db[_0x120796+_0x4e50('0x6c')],'as':_0x4e50('0x6c')},{'model':db[_0x120796+_0x4189db],'as':_0x4e50('0x66')}]});})['then'](function(_0xbf9f11){if(_['isNil'](_0xbf9f11)){throw new Error(_0x120796+_0x4e50('0x6d'));}_0x3cc5b7=_0xbf9f11;return _0xbf9f11[_0x4e50('0x6e')]({'read':0x0,'readAt':null,'UserId':null});})[_0x4e50('0x17')](function(){var _0x18b5c1={'uniqueid':_0xe2ec1f+'.'+_0x3cc5b7['id']+'.'+_0x3cc5b7[_0x4e50('0x6c')]['id'],'FromUserId':_0x3fcca6[_0x4e50('0x30')]['id'],'type':'queue'};_0x18b5c1[_0x120796+_0x4e50('0x6f')]=_0x3cc5b7['id'];_0x18b5c1[_0x120796+_0x4e50('0x70')]=_0x3cc5b7['Interaction']['id'];_0x18b5c1[_0x4e50('0x71')+_0x120796+_0x4189db+'Id']=_0x3cc5b7[_0x4e50('0x66')]['id'];_0x18b5c1['To'+_0x120796+'QueueId']=_0x544468['id'];return db[_0x120796+_0x4e50('0x72')][_0x4e50('0x73')](_0x18b5c1);})['then'](function(){return respondWithRpcPromise('Start',{'channel':_0xe2ec1f,'interaction':_0x3cc5b7[_0x4e50('0x6c')],'message':_0x3cc5b7,'account':_0x3cc5b7[_0x4e50('0x66')],'applications':[{'id':0x0,'priority':0x1,'app':_0x4e50('0x74'),'appdata':_0x544468[_0x4e50('0xf')]+','+(_0x3cc5b7['Account']['queueTransferTimeout']||0x12c),'interval':_0x4e50('0x75')}]},routingClient);})[_0x4e50('0x17')](respondWithResult(_0x343a60,null))[_0x4e50('0xb')](handleError(_0x343a60,null));};};exports[_0x4e50('0x76')]=function(_0x543205,_0x2e3f42){var _0x163d75,_0x4e1cc6;if(_['isNil'](_0x543205['body'][_0x4e50('0x77')])){throw new Error(_0x4e50('0x78'));}var _0x52037f=_0x543205[_0x4e50('0x2e')][_0x4e50('0x77')];var _0x1523b8=_[_0x4e50('0x63')](_0x52037f);var _0x448b53=_0x52037f===_0x4e50('0x64')?_0x4e50('0x65'):_0x4e50('0x66');return db['User'][_0x4e50('0x68')]({'raw':!![],'where':{'id':_0x543205['params']['id'],'role':'agent'}})['then'](function(_0x239aa3){if(_[_0x4e50('0x11')](_0x239aa3)){throw new Error(_0x4e50('0x79'));}_0x163d75=_0x239aa3;return db[_0x1523b8+'Message'][_0x4e50('0x68')]({'where':{'id':_0x543205['body'][_0x4e50('0x6b')]},'include':[{'model':db[_0x1523b8+_0x4e50('0x6c')],'as':_0x4e50('0x6c')},{'model':db[_0x1523b8+_0x448b53],'as':_0x4e50('0x66')}]});})[_0x4e50('0x17')](function(_0x5c08c9){if(_[_0x4e50('0x11')](_0x5c08c9)){throw new Error(_0x1523b8+_0x4e50('0x6d'));}_0x4e1cc6=_0x5c08c9;return _0x5c08c9['update']({'read':0x0,'readAt':null,'UserId':null});})[_0x4e50('0x17')](function(){var _0xeb0f79={'uniqueid':_0x52037f+'.'+_0x4e1cc6['id']+'.'+_0x4e1cc6['Interaction']['id'],'FromUserId':_0x543205['user']['id'],'type':'queue','ToUserId':_0x163d75['id']};_0xeb0f79[_0x1523b8+_0x4e50('0x6f')]=_0x4e1cc6['id'];_0xeb0f79[_0x1523b8+_0x4e50('0x70')]=_0x4e1cc6[_0x4e50('0x6c')]['id'];_0xeb0f79[_0x4e50('0x71')+_0x1523b8+_0x448b53+'Id']=_0x4e1cc6[_0x4e50('0x66')]['id'];return db[_0x1523b8+'TransferReport'][_0x4e50('0x73')](_0xeb0f79);})['then'](function(){return respondWithRpcPromise('Start',{'channel':_0x52037f,'interaction':_0x4e1cc6[_0x4e50('0x6c')],'message':_0x4e1cc6,'account':_0x4e1cc6['Account'],'applications':[{'id':0x0,'priority':0x1,'app':_0x4e50('0x39'),'appdata':_0x163d75[_0x4e50('0xf')]+','+(_0x4e1cc6[_0x4e50('0x66')][_0x4e50('0x7a')]||0x12c),'interval':_0x4e50('0x75')}]},routingClient);})[_0x4e50('0x17')](respondWithResult(_0x2e3f42,null))[_0x4e50('0xb')](handleError(_0x2e3f42,null));};