Built motion from commit 43538d75.|2.5.35
[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 _0xeda8=['TransferReport','agentTransferTimeout','bluebird','moment','util','../../mysqldb','../../config/logger','api','jayson/promise','client','http','error','code','result','catch','status','json','stack','name','send','isNil','rows','find','voiceChannels','VoiceChannels','query','then','voiceChannelMixMonitor','VoiceChannelMixMonitor','voiceChannelStopMixMonitor','params','voiceQueues','VoiceQueues','updateVoiceQueue','UpdateVoiceQueue','body','VoiceQueuesPreview','merge','voiceQueuesChannels','voiceQueuesChannel','VoiceQueuesChannel','voiceQueuesChannelHangup','VoiceQueuesChannelHangup','VoiceQueuesChannelRedirect','outbound','outboundChannels','agents','Agents','interaction','user','hasOwnProperty','MemberReport','findAll','INTERACTION','length','format','YYYY-MM-DD\x20HH:mm:ss','updateAttributes','interface','SIP/%s','agent','internal','AgentCapacity','capacity','telephones','Telephones','trunks','Trunks','campaigns','chatQueues','ChatQueues','showChatQueues','mailQueues','MailQueues','mailAccounts','MailAccounts','openchannelQueues','OpenchannelQueues','smsQueues','SmsQueues','showSmsQueues','WhatsappQueues','showWhatsappQueues','faxQueues','showFaxQueues','FaxQueues','faxAccounts','chatQueuesWaitingInteractions','ChatQueuesWaitingInteractions','mailQueuesWaitingInteractions','MailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','OpenchannelQueuesWaitingInteractions','openchannelQueuesIdWaitingInteractions','type','map','uniq','value','filter','indexOf','queue_id','smsQueuesWaitingInteractions','whatsappQueuesWaitingInteractions','WhatsappQueuesWaitingInteractions','faxQueuesWaitingInteractions','FaxQueuesWaitingInteractions','capitalize','Website','Account','Queue','\x20Queue\x20not\x20found','Message','findOne','messageId','Interaction','\x20Message\x20not\x20found','update','queue','MessageId','QueueId','create','Start','queueTransferTimeout','*,*,*,*','agentNotify','channel','Channel\x20field\x20is\x20mandatory','chat','User'];(function(_0x28094e,_0x177dea){var _0x391994=function(_0x5a9b1a){while(--_0x5a9b1a){_0x28094e['push'](_0x28094e['shift']());}};_0x391994(++_0x177dea);}(_0xeda8,0x104));var _0x8eda=function(_0x9c83f2,_0x2167f2){_0x9c83f2=_0x9c83f2-0x0;var _0x4abc7d=_0xeda8[_0x9c83f2];return _0x4abc7d;};'use strict';var BPromise=require(_0x8eda('0x0'));var moment=require(_0x8eda('0x1'));var _=require('lodash');var util=require(_0x8eda('0x2'));var db=require(_0x8eda('0x3'))['db'];var logger=require(_0x8eda('0x4'))(_0x8eda('0x5'));var jayson=require(_0x8eda('0x6'));var amiClient=jayson[_0x8eda('0x7')][_0x8eda('0x8')]({'port':0x232a});var mailClient=jayson[_0x8eda('0x7')][_0x8eda('0x8')]({'port':0x232b});var routingClient=jayson[_0x8eda('0x7')][_0x8eda('0x8')]({'port':0x232c});function respondWithRpcPromise(_0x32abe8,_0x4e2ebb,_0x28b721){return new BPromise(function(_0x1b6a1d,_0x5aa93d){var _0x6b544f=_0x28b721?_0x28b721:amiClient;return _0x6b544f['request'](_0x32abe8,_0x4e2ebb)['then'](function(_0x488849){if(_0x488849['error']){if(_0x488849[_0x8eda('0x9')][_0x8eda('0xa')]===0x1f4){return _0x5aa93d(_0x488849[_0x8eda('0x9')]['message']);}return _0x1b6a1d(_0x488849[_0x8eda('0x9')]['message']);}else{_0x1b6a1d(_0x488849[_0x8eda('0xb')]);}})[_0x8eda('0xc')](function(_0x2fdec0){_0x5aa93d(_0x2fdec0);});});}function respondWithResult(_0x1ad3df,_0x337573){_0x337573=_0x337573||0xc8;return function(_0x3af00c){if(_0x3af00c){return _0x1ad3df[_0x8eda('0xd')](_0x337573)[_0x8eda('0xe')](_0x3af00c);}return _0x1ad3df['sendStatus'](0x194);};}function handleError(_0x500bd4,_0xe04d90){_0xe04d90=_0xe04d90||0x1f4;return function(_0x223dcf){logger['error'](_0x223dcf[_0x8eda('0xf')]);if(_0x223dcf[_0x8eda('0x10')]){delete _0x223dcf[_0x8eda('0x10')];}_0x500bd4['status'](_0xe04d90)[_0x8eda('0x11')](_0x223dcf);};}function findById(_0x5594ad){return function(_0xf7d764){if(!_['isNil'](_0x5594ad)&&!_[_0x8eda('0x12')](_0xf7d764)&&!_['isNil'](_0xf7d764[_0x8eda('0x13')])){return _[_0x8eda('0x14')](_0xf7d764['rows'],function(_0x5e44b7){return _0x5e44b7['id']==_0x5594ad;});}return null;};}exports[_0x8eda('0x15')]=function(_0x1b7e94,_0x1b089d){return respondWithRpcPromise(_0x8eda('0x16'),_0x1b7e94[_0x8eda('0x17')])[_0x8eda('0x18')](respondWithResult(_0x1b089d,null))[_0x8eda('0xc')](handleError(_0x1b089d,null));};exports[_0x8eda('0x19')]=function(_0x850cce,_0x232786){return respondWithRpcPromise(_0x8eda('0x1a'),_['merge'](_0x850cce[_0x8eda('0x17')],_0x850cce['params']))[_0x8eda('0x18')](respondWithResult(_0x232786,null))['catch'](handleError(_0x232786,null));};exports[_0x8eda('0x1b')]=function(_0x2dab25,_0x4f3e0a){return respondWithRpcPromise('VoiceChannelStopMixMonitor',_['merge'](_0x2dab25[_0x8eda('0x17')],_0x2dab25[_0x8eda('0x1c')]))['then'](respondWithResult(_0x4f3e0a,null))[_0x8eda('0xc')](handleError(_0x4f3e0a,null));};exports[_0x8eda('0x1d')]=function(_0x54aa7f,_0x25e955){return respondWithRpcPromise(_0x8eda('0x1e'),_0x54aa7f[_0x8eda('0x17')])[_0x8eda('0x18')](respondWithResult(_0x25e955,null))[_0x8eda('0xc')](handleError(_0x25e955,null));};exports['showVoiceQueues']=function(_0x41b5a9,_0x5a8bed){return respondWithRpcPromise(_0x8eda('0x1e'),_0x41b5a9[_0x8eda('0x17')])[_0x8eda('0x18')](findById(_0x41b5a9['params']['id']))[_0x8eda('0x18')](respondWithResult(_0x5a8bed,null))[_0x8eda('0xc')](handleError(_0x5a8bed,null));};exports[_0x8eda('0x1f')]=function(_0x4cdd2e,_0x1616ea){return respondWithRpcPromise(_0x8eda('0x20'),_['merge'](_0x4cdd2e[_0x8eda('0x21')],_0x4cdd2e[_0x8eda('0x1c')]))[_0x8eda('0x18')](respondWithResult(_0x1616ea,null))[_0x8eda('0xc')](handleError(_0x1616ea,null));};exports['voiceQueuesPreview']=function(_0x58dd55,_0x54513c){return respondWithRpcPromise(_0x8eda('0x22'),_[_0x8eda('0x23')](_0x58dd55[_0x8eda('0x17')],_0x58dd55['params']))['then'](respondWithResult(_0x54513c,null))['catch'](handleError(_0x54513c,null));};exports[_0x8eda('0x24')]=function(_0x48d52d,_0x31aaaf){return respondWithRpcPromise('VoiceQueuesChannels',_0x48d52d['query'])['then'](respondWithResult(_0x31aaaf,null))[_0x8eda('0xc')](handleError(_0x31aaaf,null));};exports[_0x8eda('0x25')]=function(_0x142f67,_0x2a3cdc){return respondWithRpcPromise(_0x8eda('0x26'),_[_0x8eda('0x23')](_0x142f67[_0x8eda('0x17')],_0x142f67[_0x8eda('0x1c')]))[_0x8eda('0x18')](respondWithResult(_0x2a3cdc,null))[_0x8eda('0xc')](handleError(_0x2a3cdc,null));};exports[_0x8eda('0x27')]=function(_0x3132fd,_0xc354d9){return respondWithRpcPromise(_0x8eda('0x28'),_['merge'](_0x3132fd[_0x8eda('0x17')],_0x3132fd[_0x8eda('0x1c')]))[_0x8eda('0x18')](respondWithResult(_0xc354d9,null))['catch'](handleError(_0xc354d9,null));};exports['voiceQueuesChannelRedirect']=function(_0x41c873,_0x36dc26){return respondWithRpcPromise(_0x8eda('0x29'),_[_0x8eda('0x23')](_0x41c873['query'],_0x41c873[_0x8eda('0x1c')]))[_0x8eda('0x18')](respondWithResult(_0x36dc26,null))[_0x8eda('0xc')](handleError(_0x36dc26,null));};exports[_0x8eda('0x2a')]=function(_0x567aa6,_0x29a706){return respondWithRpcPromise('Outbound',_0x567aa6[_0x8eda('0x17')])[_0x8eda('0x18')](respondWithResult(_0x29a706,null))[_0x8eda('0xc')](handleError(_0x29a706,null));};exports[_0x8eda('0x2b')]=function(_0x261e12,_0x32ce09){return respondWithRpcPromise('OutboundChannels',_0x261e12[_0x8eda('0x17')])[_0x8eda('0x18')](respondWithResult(_0x32ce09,null))[_0x8eda('0xc')](handleError(_0x32ce09,null));};exports[_0x8eda('0x2c')]=function(_0xa1e556,_0x5cf565){var _0x17ee80;return respondWithRpcPromise(_0x8eda('0x2d'),_0xa1e556[_0x8eda('0x17')])['then'](function(_0x408e00){_0x17ee80=_0x408e00;return respondWithRpcPromise('Agents',_0xa1e556[_0x8eda('0x17')],routingClient);})[_0x8eda('0x18')](function(_0x42d434){return _[_0x8eda('0x23')]({},_0x42d434,_0x17ee80);})[_0x8eda('0x18')](respondWithResult(_0x5cf565,null))['catch'](handleError(_0x5cf565,null));};exports['agentCapacity']=function(_0xbf14a1,_0xfcb278){if(_0xbf14a1[_0x8eda('0x21')]&&_0xbf14a1[_0x8eda('0x21')][_0x8eda('0x2e')]&&_0xbf14a1[_0x8eda('0x2f')]&&_0xbf14a1[_0x8eda('0x2f')][_0x8eda('0x10')]){for(var _0x184590 in _0xbf14a1[_0x8eda('0x21')][_0x8eda('0x2e')]){if(_0xbf14a1[_0x8eda('0x21')][_0x8eda('0x2e')][_0x8eda('0x30')](_0x184590)){db[_0x8eda('0x31')][_0x8eda('0x32')]({'where':{'channel':_0x184590,'membername':_0xbf14a1[_0x8eda('0x2f')][_0x8eda('0x10')],'type':_0x8eda('0x33'),'exitAt':null,'uniqueid':_0xbf14a1['body'][_0x8eda('0x2e')][_0x184590]&&_0xbf14a1[_0x8eda('0x21')]['interaction'][_0x184590][_0x8eda('0x34')]?{'$notIn':_0xbf14a1[_0x8eda('0x21')]['interaction'][_0x184590]}:{'$ne':null}}})[_0x8eda('0x18')](function(_0x1fff77){var _0x51f2a3=moment()[_0x8eda('0x35')](_0x8eda('0x36'));for(var _0x2a3546=0x0,_0x48ad47=_0x1fff77[_0x8eda('0x34')];_0x2a3546<_0x48ad47;_0x2a3546+=0x1){_0x1fff77[_0x2a3546][_0x8eda('0x37')]({'exitAt':_0x51f2a3});}});for(var _0x3996b7=0x0;_0x3996b7<_0xbf14a1[_0x8eda('0x21')][_0x8eda('0x2e')][_0x184590][_0x8eda('0x34')];_0x3996b7+=0x1){db[_0x8eda('0x31')]['findOrCreate']({'where':{'channel':_0x184590,'membername':_0xbf14a1[_0x8eda('0x2f')]['name'],'type':_0x8eda('0x33'),'uniqueid':_0xbf14a1['body'][_0x8eda('0x2e')][_0x184590][_0x3996b7],'exitAt':null},'defaults':{'channel':_0x184590,'membername':_0xbf14a1['user'][_0x8eda('0x10')],'interface':_['isNil'](_0xbf14a1[_0x8eda('0x2f')][_0x8eda('0x38')])?util[_0x8eda('0x35')](_0x8eda('0x39'),_0xbf14a1[_0x8eda('0x2f')][_0x8eda('0x10')]):_0xbf14a1[_0x8eda('0x2f')][_0x8eda('0x38')],'type':_0x8eda('0x33'),'enterAt':moment()[_0x8eda('0x35')](_0x8eda('0x36')),'role':_0x8eda('0x3a'),'internal':_0xbf14a1['user'][_0x8eda('0x3b')],'uniqueid':_0xbf14a1[_0x8eda('0x21')][_0x8eda('0x2e')][_0x184590][_0x3996b7]}});}}}}return respondWithRpcPromise(_0x8eda('0x3c'),{'id':_0xbf14a1[_0x8eda('0x1c')]['id'],'capacity':_0xbf14a1[_0x8eda('0x21')][_0x8eda('0x3d')]},routingClient)[_0x8eda('0x18')](respondWithResult(_0xfcb278,null))[_0x8eda('0xc')](handleError(_0xfcb278,null));};exports[_0x8eda('0x3e')]=function(_0x3e4242,_0x370ec2){return respondWithRpcPromise(_0x8eda('0x3f'),_0x3e4242[_0x8eda('0x17')])[_0x8eda('0x18')](respondWithResult(_0x370ec2,null))['catch'](handleError(_0x370ec2,null));};exports[_0x8eda('0x40')]=function(_0x142581,_0xabfddb){return respondWithRpcPromise(_0x8eda('0x41'),_0x142581[_0x8eda('0x17')])[_0x8eda('0x18')](respondWithResult(_0xabfddb,null))['catch'](handleError(_0xabfddb,null));};exports[_0x8eda('0x42')]=function(_0x1b4942,_0x68f9cd){return respondWithRpcPromise('Campaigns',_0x1b4942[_0x8eda('0x17')])['then'](respondWithResult(_0x68f9cd,null))[_0x8eda('0xc')](handleError(_0x68f9cd,null));};exports[_0x8eda('0x43')]=function(_0x12ccb4,_0x582e90){return respondWithRpcPromise(_0x8eda('0x44'),_0x12ccb4[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](respondWithResult(_0x582e90,null))['catch'](handleError(_0x582e90,null));};exports[_0x8eda('0x45')]=function(_0xd8a5ba,_0x3a3c5a){return respondWithRpcPromise(_0x8eda('0x44'),_0xd8a5ba[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](findById(_0xd8a5ba[_0x8eda('0x1c')]['id']))[_0x8eda('0x18')](respondWithResult(_0x3a3c5a,null))[_0x8eda('0xc')](handleError(_0x3a3c5a,null));};exports[_0x8eda('0x46')]=function(_0x482a40,_0x3a9ffb){return respondWithRpcPromise(_0x8eda('0x47'),_0x482a40['query'],routingClient)[_0x8eda('0x18')](respondWithResult(_0x3a9ffb,null))['catch'](handleError(_0x3a9ffb,null));};exports['showMailQueues']=function(_0x4a3e61,_0x4a26af){return respondWithRpcPromise('MailQueues',_0x4a3e61[_0x8eda('0x17')],routingClient)['then'](findById(_0x4a3e61[_0x8eda('0x1c')]['id']))[_0x8eda('0x18')](respondWithResult(_0x4a26af,null))[_0x8eda('0xc')](handleError(_0x4a26af,null));};exports[_0x8eda('0x48')]=function(_0x21bd2b,_0x302d82){return respondWithRpcPromise(_0x8eda('0x49'),_0x21bd2b['query'],mailClient)[_0x8eda('0x18')](respondWithResult(_0x302d82,null))['catch'](handleError(_0x302d82,null));};exports[_0x8eda('0x4a')]=function(_0x4ba827,_0xfb98bf){return respondWithRpcPromise('OpenchannelQueues',_0x4ba827[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](respondWithResult(_0xfb98bf,null))[_0x8eda('0xc')](handleError(_0xfb98bf,null));};exports['showOpenchannelQueues']=function(_0x589fbe,_0x55d642){return respondWithRpcPromise(_0x8eda('0x4b'),_0x589fbe[_0x8eda('0x17')],routingClient)['then'](findById(_0x589fbe[_0x8eda('0x1c')]['id']))['then'](respondWithResult(_0x55d642,null))['catch'](handleError(_0x55d642,null));};exports[_0x8eda('0x4c')]=function(_0x375bbe,_0x284065){return respondWithRpcPromise(_0x8eda('0x4d'),_0x375bbe['query'],routingClient)['then'](respondWithResult(_0x284065,null))[_0x8eda('0xc')](handleError(_0x284065,null));};exports[_0x8eda('0x4e')]=function(_0x111177,_0x2119ce){return respondWithRpcPromise('SmsQueues',_0x111177[_0x8eda('0x17')],routingClient)['then'](findById(_0x111177[_0x8eda('0x1c')]['id']))['then'](respondWithResult(_0x2119ce,null))[_0x8eda('0xc')](handleError(_0x2119ce,null));};exports['whatsappQueues']=function(_0x437d35,_0x232e37){return respondWithRpcPromise(_0x8eda('0x4f'),_0x437d35[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](respondWithResult(_0x232e37,null))[_0x8eda('0xc')](handleError(_0x232e37,null));};exports[_0x8eda('0x50')]=function(_0x1dfb4f,_0xe32385){return respondWithRpcPromise('WhatsappQueues',_0x1dfb4f['query'],routingClient)[_0x8eda('0x18')](findById(_0x1dfb4f['params']['id']))[_0x8eda('0x18')](respondWithResult(_0xe32385,null))[_0x8eda('0xc')](handleError(_0xe32385,null));};exports[_0x8eda('0x51')]=function(_0x2ca608,_0x1729a8){return respondWithRpcPromise('FaxQueues',_0x2ca608['query'],routingClient)[_0x8eda('0x18')](respondWithResult(_0x1729a8,null))[_0x8eda('0xc')](handleError(_0x1729a8,null));};exports[_0x8eda('0x52')]=function(_0xc6a2d8,_0x24953a){return respondWithRpcPromise(_0x8eda('0x53'),_0xc6a2d8[_0x8eda('0x17')],routingClient)['then'](findById(_0xc6a2d8[_0x8eda('0x1c')]['id']))[_0x8eda('0x18')](respondWithResult(_0x24953a,null))['catch'](handleError(_0x24953a,null));};exports[_0x8eda('0x54')]=function(_0x5467e9,_0x47f57c){return respondWithRpcPromise('FaxAccounts',_0x5467e9['query'])[_0x8eda('0x18')](respondWithResult(_0x47f57c,null))[_0x8eda('0xc')](handleError(_0x47f57c,null));};exports[_0x8eda('0x55')]=function(_0xb3bb07,_0xa3e405){return respondWithRpcPromise(_0x8eda('0x56'),_0xb3bb07['query'],routingClient)[_0x8eda('0x18')](respondWithResult(_0xa3e405,null))[_0x8eda('0xc')](handleError(_0xa3e405,null));};exports[_0x8eda('0x57')]=function(_0x3f5d3d,_0x4a1e6c){return respondWithRpcPromise(_0x8eda('0x58'),_0x3f5d3d[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](respondWithResult(_0x4a1e6c,null))[_0x8eda('0xc')](handleError(_0x4a1e6c,null));};exports[_0x8eda('0x59')]=function(_0x3167e1,_0x4ef854){return respondWithRpcPromise(_0x8eda('0x5a'),_0x3167e1[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](respondWithResult(_0x4ef854,null))[_0x8eda('0xc')](handleError(_0x4ef854,null));};exports[_0x8eda('0x5b')]=function(_0x34a5c8,_0x127d98){return respondWithRpcPromise(_0x8eda('0x5a'),_0x34a5c8[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](function(_0x2bdceb){if(_0x34a5c8[_0x8eda('0x17')][_0x8eda('0x5c')]!==undefined){var _0x3d823e=_(_0x2bdceb['rows'])['filter']([_0x34a5c8[_0x8eda('0x17')][_0x8eda('0x5c')],_0x34a5c8[_0x8eda('0x1c')]['id']])[_0x8eda('0x5d')]('queue_id')[_0x8eda('0x5e')]()[_0x8eda('0x5f')]();return _0x2bdceb['rows'][_0x8eda('0x60')](function(_0x5f0d26){return _0x3d823e[_0x8eda('0x61')](_0x5f0d26[_0x8eda('0x62')])>-0x1;});}else{return _0x2bdceb[_0x8eda('0x13')]['filter'](function(_0x1165fc){return _0x1165fc[_0x8eda('0x62')]===parseInt(_0x34a5c8[_0x8eda('0x1c')]['id']);});}})['then'](respondWithResult(_0x127d98,null))[_0x8eda('0xc')](handleError(_0x127d98,null));};exports[_0x8eda('0x63')]=function(_0x10fcab,_0x2f30af){return respondWithRpcPromise('SmsQueuesWaitingInteractions',_0x10fcab['query'],routingClient)[_0x8eda('0x18')](respondWithResult(_0x2f30af,null))[_0x8eda('0xc')](handleError(_0x2f30af,null));};exports[_0x8eda('0x64')]=function(_0xd93d5,_0x49781b){return respondWithRpcPromise(_0x8eda('0x65'),_0xd93d5[_0x8eda('0x17')],routingClient)[_0x8eda('0x18')](respondWithResult(_0x49781b,null))[_0x8eda('0xc')](handleError(_0x49781b,null));};exports[_0x8eda('0x66')]=function(_0x4fb714,_0x2cec88){return respondWithRpcPromise(_0x8eda('0x67'),_0x4fb714[_0x8eda('0x17')],routingClient)['then'](respondWithResult(_0x2cec88,null))['catch'](handleError(_0x2cec88,null));};exports['queueNotify']=function(_0xcf2ef3){return function(_0x327590,_0x362b22){var _0x4751d6,_0x3c9c51;var _0x325adc=_[_0x8eda('0x68')](_0xcf2ef3);var _0x3f700a=_0xcf2ef3==='chat'?_0x8eda('0x69'):_0x8eda('0x6a');return db[_0x325adc+_0x8eda('0x6b')]['findOne']({'raw':!![],'where':{'id':_0x327590[_0x8eda('0x1c')]['id']}})[_0x8eda('0x18')](function(_0x3095bd){if(_[_0x8eda('0x12')](_0x3095bd)){throw new Error(_0x325adc+_0x8eda('0x6c'));}_0x4751d6=_0x3095bd;return db[_0x325adc+_0x8eda('0x6d')][_0x8eda('0x6e')]({'where':{'id':_0x327590[_0x8eda('0x21')][_0x8eda('0x6f')]},'include':[{'model':db[_0x325adc+_0x8eda('0x70')],'as':_0x8eda('0x70')},{'model':db[_0x325adc+_0x3f700a],'as':'Account'}]});})[_0x8eda('0x18')](function(_0x46c155){if(_[_0x8eda('0x12')](_0x46c155)){throw new Error(_0x325adc+_0x8eda('0x71'));}_0x3c9c51=_0x46c155;return _0x46c155[_0x8eda('0x72')]({'read':0x0,'readAt':null,'UserId':null});})[_0x8eda('0x18')](function(){var _0x11cbb1={'uniqueid':_0xcf2ef3+'.'+_0x3c9c51['id']+'.'+_0x3c9c51[_0x8eda('0x70')]['id'],'FromUserId':_0x327590[_0x8eda('0x2f')]['id'],'type':_0x8eda('0x73')};_0x11cbb1[_0x325adc+_0x8eda('0x74')]=_0x3c9c51['id'];_0x11cbb1[_0x325adc+'InteractionId']=_0x3c9c51['Interaction']['id'];_0x11cbb1['From'+_0x325adc+_0x3f700a+'Id']=_0x3c9c51[_0x8eda('0x6a')]['id'];_0x11cbb1['To'+_0x325adc+_0x8eda('0x75')]=_0x4751d6['id'];return db[_0x325adc+'TransferReport'][_0x8eda('0x76')](_0x11cbb1);})[_0x8eda('0x18')](function(){return respondWithRpcPromise(_0x8eda('0x77'),{'channel':_0xcf2ef3,'interaction':_0x3c9c51['Interaction'],'message':_0x3c9c51,'account':_0x3c9c51[_0x8eda('0x6a')],'applications':[{'id':0x0,'priority':0x1,'app':'queue','appdata':_0x4751d6[_0x8eda('0x10')]+','+(_0x3c9c51['Account'][_0x8eda('0x78')]||0x12c),'interval':_0x8eda('0x79')}]},routingClient);})['then'](respondWithResult(_0x362b22,null))[_0x8eda('0xc')](handleError(_0x362b22,null));};};exports[_0x8eda('0x7a')]=function(_0x355d61,_0x2a1c43){var _0x128cbd,_0x1bac9f;if(_[_0x8eda('0x12')](_0x355d61[_0x8eda('0x21')][_0x8eda('0x7b')])){throw new Error(_0x8eda('0x7c'));}var _0x5566f2=_0x355d61['body']['channel'];var _0x5b64c8=_[_0x8eda('0x68')](_0x5566f2);var _0x768f3f=_0x5566f2===_0x8eda('0x7d')?'Website':_0x8eda('0x6a');return db[_0x8eda('0x7e')][_0x8eda('0x6e')]({'raw':!![],'where':{'id':_0x355d61[_0x8eda('0x1c')]['id'],'role':_0x8eda('0x3a')}})[_0x8eda('0x18')](function(_0x72184a){if(_[_0x8eda('0x12')](_0x72184a)){throw new Error('Agent\x20not\x20found');}_0x128cbd=_0x72184a;return db[_0x5b64c8+'Message'][_0x8eda('0x6e')]({'where':{'id':_0x355d61[_0x8eda('0x21')]['messageId']},'include':[{'model':db[_0x5b64c8+_0x8eda('0x70')],'as':_0x8eda('0x70')},{'model':db[_0x5b64c8+_0x768f3f],'as':_0x8eda('0x6a')}]});})['then'](function(_0x36926f){if(_[_0x8eda('0x12')](_0x36926f)){throw new Error(_0x5b64c8+_0x8eda('0x71'));}_0x1bac9f=_0x36926f;return _0x36926f[_0x8eda('0x72')]({'read':0x0,'readAt':null,'UserId':null});})[_0x8eda('0x18')](function(){var _0x3c0bc4={'uniqueid':_0x5566f2+'.'+_0x1bac9f['id']+'.'+_0x1bac9f[_0x8eda('0x70')]['id'],'FromUserId':_0x355d61['user']['id'],'type':_0x8eda('0x73'),'ToUserId':_0x128cbd['id']};_0x3c0bc4[_0x5b64c8+_0x8eda('0x74')]=_0x1bac9f['id'];_0x3c0bc4[_0x5b64c8+'InteractionId']=_0x1bac9f['Interaction']['id'];_0x3c0bc4['From'+_0x5b64c8+_0x768f3f+'Id']=_0x1bac9f[_0x8eda('0x6a')]['id'];return db[_0x5b64c8+_0x8eda('0x7f')][_0x8eda('0x76')](_0x3c0bc4);})[_0x8eda('0x18')](function(){return respondWithRpcPromise(_0x8eda('0x77'),{'channel':_0x5566f2,'interaction':_0x1bac9f[_0x8eda('0x70')],'message':_0x1bac9f,'account':_0x1bac9f[_0x8eda('0x6a')],'applications':[{'id':0x0,'priority':0x1,'app':_0x8eda('0x3a'),'appdata':_0x128cbd[_0x8eda('0x10')]+','+(_0x1bac9f[_0x8eda('0x6a')][_0x8eda('0x80')]||0x12c),'interval':_0x8eda('0x79')}]},routingClient);})[_0x8eda('0x18')](respondWithResult(_0x2a1c43,null))[_0x8eda('0xc')](handleError(_0x2a1c43,null));};