5a23ee58cef0f118583008406fa3a1449f2ffd55
[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 _0x40f5=['Outbound','OutboundChannels','agents','Agents','agentCapacity','body','user','interaction','hasOwnProperty','INTERACTION','length','format','YYYY-MM-DD\x20HH:mm:ss','updateAttributes','MemberReport','findOrCreate','interface','SIP/%s','agent','internal','AgentCapacity','capacity','telephones','Telephones','campaigns','Campaigns','chatQueues','ChatQueues','showChatQueues','mailQueues','mailAccounts','MailAccounts','openchannelQueues','OpenchannelQueues','showOpenchannelQueues','SmsQueues','showSmsQueues','whatsappQueues','WhatsappQueues','faxQueues','FaxQueues','showFaxQueues','faxAccounts','ChatQueuesWaitingInteractions','MailQueuesWaitingInteractions','OpenchannelQueuesWaitingInteractions','smsQueuesWaitingInteractions','SmsQueuesWaitingInteractions','WhatsappQueuesWaitingInteractions','faxQueuesWaitingInteractions','FaxQueuesWaitingInteractions','queueNotify','capitalize','chat','Website','Queue','findOne','\x20Queue\x20not\x20found','Message','messageId','Interaction','Account','\x20Message\x20not\x20found','update','queue','MessageId','InteractionId','QueueId','TransferReport','create','Start','queueTransferTimeout','*,*,*,*','agentNotify','channel','Channel\x20field\x20is\x20mandatory','User','From','moment','lodash','util','../../mysqldb','api','client','http','then','error','code','message','result','catch','status','json','sendStatus','stack','name','send','isNil','rows','find','voiceChannels','query','voiceChannelMixMonitor','merge','params','voiceChannelStopMixMonitor','voiceQueues','showVoiceQueues','VoiceQueues','voiceQueuesPreview','VoiceQueuesPreview','voiceQueuesChannels','VoiceQueuesChannels','voiceQueuesChannel','voiceQueuesChannelHangup','VoiceQueuesChannelHangup','VoiceQueuesChannelRedirect','outbound'];(function(_0x37e911,_0x430da5){var _0x1e35bd=function(_0x9deafa){while(--_0x9deafa){_0x37e911['push'](_0x37e911['shift']());}};_0x1e35bd(++_0x430da5);}(_0x40f5,0x13a));var _0x540f=function(_0x121350,_0x361f4d){_0x121350=_0x121350-0x0;var _0x2e21c7=_0x40f5[_0x121350];return _0x2e21c7;};'use strict';var BPromise=require('bluebird');var moment=require(_0x540f('0x0'));var _=require(_0x540f('0x1'));var util=require(_0x540f('0x2'));var db=require(_0x540f('0x3'))['db'];var logger=require('../../config/logger')(_0x540f('0x4'));var jayson=require('jayson/promise');var amiClient=jayson[_0x540f('0x5')]['http']({'port':0x232a});var mailClient=jayson['client']['http']({'port':0x232b});var routingClient=jayson[_0x540f('0x5')][_0x540f('0x6')]({'port':0x232c});function respondWithRpcPromise(_0x57d987,_0x44c51a,_0xa82ae2){return new BPromise(function(_0x1bcaf9,_0x54e907){var _0x23dc07=_0xa82ae2?_0xa82ae2:amiClient;return _0x23dc07['request'](_0x57d987,_0x44c51a)[_0x540f('0x7')](function(_0x4f06e0){if(_0x4f06e0[_0x540f('0x8')]){if(_0x4f06e0[_0x540f('0x8')][_0x540f('0x9')]===0x1f4){return _0x54e907(_0x4f06e0[_0x540f('0x8')][_0x540f('0xa')]);}return _0x1bcaf9(_0x4f06e0[_0x540f('0x8')][_0x540f('0xa')]);}else{_0x1bcaf9(_0x4f06e0[_0x540f('0xb')]);}})[_0x540f('0xc')](function(_0x1b8e1f){_0x54e907(_0x1b8e1f);});});}function respondWithResult(_0x4e4ee3,_0x4a6a6f){_0x4a6a6f=_0x4a6a6f||0xc8;return function(_0x38ad4c){if(_0x38ad4c){return _0x4e4ee3[_0x540f('0xd')](_0x4a6a6f)[_0x540f('0xe')](_0x38ad4c);}return _0x4e4ee3[_0x540f('0xf')](0x194);};}function handleError(_0x34d2c3,_0x1b0e8e){_0x1b0e8e=_0x1b0e8e||0x1f4;return function(_0x13e51a){logger['error'](_0x13e51a[_0x540f('0x10')]);if(_0x13e51a[_0x540f('0x11')]){delete _0x13e51a[_0x540f('0x11')];}_0x34d2c3[_0x540f('0xd')](_0x1b0e8e)[_0x540f('0x12')](_0x13e51a);};}function findById(_0x2bed7b){return function(_0x46a109){if(!_[_0x540f('0x13')](_0x2bed7b)&&!_[_0x540f('0x13')](_0x46a109)&&!_[_0x540f('0x13')](_0x46a109[_0x540f('0x14')])){return _[_0x540f('0x15')](_0x46a109[_0x540f('0x14')],function(_0x3d4780){return _0x3d4780['id']==_0x2bed7b;});}return null;};}exports[_0x540f('0x16')]=function(_0x587765,_0x4aac47){return respondWithRpcPromise('VoiceChannels',_0x587765[_0x540f('0x17')])['then'](respondWithResult(_0x4aac47,null))[_0x540f('0xc')](handleError(_0x4aac47,null));};exports[_0x540f('0x18')]=function(_0x1e3d7f,_0x4e4f2c){return respondWithRpcPromise('VoiceChannelMixMonitor',_[_0x540f('0x19')](_0x1e3d7f['query'],_0x1e3d7f[_0x540f('0x1a')]))[_0x540f('0x7')](respondWithResult(_0x4e4f2c,null))[_0x540f('0xc')](handleError(_0x4e4f2c,null));};exports[_0x540f('0x1b')]=function(_0x40ee22,_0x282a8d){return respondWithRpcPromise('VoiceChannelStopMixMonitor',_[_0x540f('0x19')](_0x40ee22[_0x540f('0x17')],_0x40ee22[_0x540f('0x1a')]))['then'](respondWithResult(_0x282a8d,null))[_0x540f('0xc')](handleError(_0x282a8d,null));};exports[_0x540f('0x1c')]=function(_0x336087,_0x3ec971){return respondWithRpcPromise('VoiceQueues',_0x336087[_0x540f('0x17')])[_0x540f('0x7')](respondWithResult(_0x3ec971,null))[_0x540f('0xc')](handleError(_0x3ec971,null));};exports[_0x540f('0x1d')]=function(_0xbcb942,_0x34d682){return respondWithRpcPromise(_0x540f('0x1e'),_0xbcb942[_0x540f('0x17')])[_0x540f('0x7')](findById(_0xbcb942['params']['id']))[_0x540f('0x7')](respondWithResult(_0x34d682,null))[_0x540f('0xc')](handleError(_0x34d682,null));};exports[_0x540f('0x1f')]=function(_0xa4babc,_0x4ac8a8){return respondWithRpcPromise(_0x540f('0x20'),_['merge'](_0xa4babc[_0x540f('0x17')],_0xa4babc['params']))[_0x540f('0x7')](respondWithResult(_0x4ac8a8,null))[_0x540f('0xc')](handleError(_0x4ac8a8,null));};exports[_0x540f('0x21')]=function(_0x1981c2,_0x558cf8){return respondWithRpcPromise(_0x540f('0x22'),_0x1981c2['query'])[_0x540f('0x7')](respondWithResult(_0x558cf8,null))['catch'](handleError(_0x558cf8,null));};exports[_0x540f('0x23')]=function(_0xb43145,_0x59dbfa){return respondWithRpcPromise('VoiceQueuesChannel',_[_0x540f('0x19')](_0xb43145[_0x540f('0x17')],_0xb43145[_0x540f('0x1a')]))['then'](respondWithResult(_0x59dbfa,null))[_0x540f('0xc')](handleError(_0x59dbfa,null));};exports[_0x540f('0x24')]=function(_0x54e609,_0x346d28){return respondWithRpcPromise(_0x540f('0x25'),_['merge'](_0x54e609['query'],_0x54e609[_0x540f('0x1a')]))[_0x540f('0x7')](respondWithResult(_0x346d28,null))['catch'](handleError(_0x346d28,null));};exports['voiceQueuesChannelRedirect']=function(_0x370aee,_0x4be827){return respondWithRpcPromise(_0x540f('0x26'),_[_0x540f('0x19')](_0x370aee[_0x540f('0x17')],_0x370aee[_0x540f('0x1a')]))[_0x540f('0x7')](respondWithResult(_0x4be827,null))['catch'](handleError(_0x4be827,null));};exports[_0x540f('0x27')]=function(_0x42fa1b,_0x1abf23){return respondWithRpcPromise(_0x540f('0x28'),_0x42fa1b[_0x540f('0x17')])[_0x540f('0x7')](respondWithResult(_0x1abf23,null))[_0x540f('0xc')](handleError(_0x1abf23,null));};exports['outboundChannels']=function(_0x525b33,_0x557778){return respondWithRpcPromise(_0x540f('0x29'),_0x525b33['query'])['then'](respondWithResult(_0x557778,null))['catch'](handleError(_0x557778,null));};exports[_0x540f('0x2a')]=function(_0x4f7cac,_0x5b7a2f){var _0x472336;return respondWithRpcPromise(_0x540f('0x2b'),_0x4f7cac[_0x540f('0x17')])[_0x540f('0x7')](function(_0x5375ef){_0x472336=_0x5375ef;return respondWithRpcPromise(_0x540f('0x2b'),_0x4f7cac[_0x540f('0x17')],routingClient);})[_0x540f('0x7')](function(_0x58398e){return _[_0x540f('0x19')]({},_0x58398e,_0x472336);})[_0x540f('0x7')](respondWithResult(_0x5b7a2f,null))[_0x540f('0xc')](handleError(_0x5b7a2f,null));};exports[_0x540f('0x2c')]=function(_0x145744,_0x1ddb5d){if(_0x145744[_0x540f('0x2d')]&&_0x145744[_0x540f('0x2d')]['interaction']&&_0x145744[_0x540f('0x2e')]&&_0x145744['user'][_0x540f('0x11')]){for(var _0x12f82d in _0x145744[_0x540f('0x2d')]['interaction']){if(_0x145744['body'][_0x540f('0x2f')][_0x540f('0x30')](_0x12f82d)){db['MemberReport']['findAll']({'where':{'channel':_0x12f82d,'membername':_0x145744[_0x540f('0x2e')][_0x540f('0x11')],'type':_0x540f('0x31'),'exitAt':null,'uniqueid':_0x145744[_0x540f('0x2d')]['interaction'][_0x12f82d]&&_0x145744[_0x540f('0x2d')][_0x540f('0x2f')][_0x12f82d][_0x540f('0x32')]?{'$notIn':_0x145744['body'][_0x540f('0x2f')][_0x12f82d]}:{'$ne':null}}})['then'](function(_0x4bafba){var _0x3e10db=moment()[_0x540f('0x33')](_0x540f('0x34'));for(var _0x458d5e=0x0,_0x2c98fc=_0x4bafba[_0x540f('0x32')];_0x458d5e<_0x2c98fc;_0x458d5e+=0x1){_0x4bafba[_0x458d5e][_0x540f('0x35')]({'exitAt':_0x3e10db});}});for(var _0x5bcda4=0x0;_0x5bcda4<_0x145744[_0x540f('0x2d')][_0x540f('0x2f')][_0x12f82d]['length'];_0x5bcda4+=0x1){db[_0x540f('0x36')][_0x540f('0x37')]({'where':{'channel':_0x12f82d,'membername':_0x145744[_0x540f('0x2e')][_0x540f('0x11')],'type':_0x540f('0x31'),'uniqueid':_0x145744[_0x540f('0x2d')][_0x540f('0x2f')][_0x12f82d][_0x5bcda4],'exitAt':null},'defaults':{'channel':_0x12f82d,'membername':_0x145744[_0x540f('0x2e')][_0x540f('0x11')],'interface':_['isNil'](_0x145744[_0x540f('0x2e')][_0x540f('0x38')])?util[_0x540f('0x33')](_0x540f('0x39'),_0x145744[_0x540f('0x2e')][_0x540f('0x11')]):_0x145744['user'][_0x540f('0x38')],'type':'INTERACTION','enterAt':moment()[_0x540f('0x33')](_0x540f('0x34')),'role':_0x540f('0x3a'),'internal':_0x145744[_0x540f('0x2e')][_0x540f('0x3b')],'uniqueid':_0x145744[_0x540f('0x2d')]['interaction'][_0x12f82d][_0x5bcda4]}});}}}}return respondWithRpcPromise(_0x540f('0x3c'),{'id':_0x145744[_0x540f('0x1a')]['id'],'capacity':_0x145744[_0x540f('0x2d')][_0x540f('0x3d')]},routingClient)[_0x540f('0x7')](respondWithResult(_0x1ddb5d,null))[_0x540f('0xc')](handleError(_0x1ddb5d,null));};exports[_0x540f('0x3e')]=function(_0x520d51,_0xa453f9){return respondWithRpcPromise(_0x540f('0x3f'),_0x520d51['query'])[_0x540f('0x7')](respondWithResult(_0xa453f9,null))[_0x540f('0xc')](handleError(_0xa453f9,null));};exports['trunks']=function(_0x443cbf,_0x3673ef){return respondWithRpcPromise('Trunks',_0x443cbf['query'])[_0x540f('0x7')](respondWithResult(_0x3673ef,null))['catch'](handleError(_0x3673ef,null));};exports[_0x540f('0x40')]=function(_0x52edc7,_0x2a3c76){return respondWithRpcPromise(_0x540f('0x41'),_0x52edc7[_0x540f('0x17')])[_0x540f('0x7')](respondWithResult(_0x2a3c76,null))['catch'](handleError(_0x2a3c76,null));};exports[_0x540f('0x42')]=function(_0x224c64,_0x4c622d){return respondWithRpcPromise(_0x540f('0x43'),_0x224c64[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x4c622d,null))['catch'](handleError(_0x4c622d,null));};exports[_0x540f('0x44')]=function(_0x2dd4e3,_0x1d5b0f){return respondWithRpcPromise(_0x540f('0x43'),_0x2dd4e3['query'],routingClient)[_0x540f('0x7')](findById(_0x2dd4e3['params']['id']))['then'](respondWithResult(_0x1d5b0f,null))['catch'](handleError(_0x1d5b0f,null));};exports[_0x540f('0x45')]=function(_0x12441a,_0x3a282c){return respondWithRpcPromise('MailQueues',_0x12441a[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x3a282c,null))[_0x540f('0xc')](handleError(_0x3a282c,null));};exports['showMailQueues']=function(_0x597b9d,_0x520f86){return respondWithRpcPromise('MailQueues',_0x597b9d['query'],routingClient)[_0x540f('0x7')](findById(_0x597b9d[_0x540f('0x1a')]['id']))[_0x540f('0x7')](respondWithResult(_0x520f86,null))['catch'](handleError(_0x520f86,null));};exports[_0x540f('0x46')]=function(_0x38602d,_0x14a6f8){return respondWithRpcPromise(_0x540f('0x47'),_0x38602d[_0x540f('0x17')],mailClient)[_0x540f('0x7')](respondWithResult(_0x14a6f8,null))[_0x540f('0xc')](handleError(_0x14a6f8,null));};exports[_0x540f('0x48')]=function(_0x3b0d79,_0x319a4e){return respondWithRpcPromise(_0x540f('0x49'),_0x3b0d79[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x319a4e,null))[_0x540f('0xc')](handleError(_0x319a4e,null));};exports[_0x540f('0x4a')]=function(_0x1e674f,_0x571fc8){return respondWithRpcPromise(_0x540f('0x49'),_0x1e674f[_0x540f('0x17')],routingClient)['then'](findById(_0x1e674f[_0x540f('0x1a')]['id']))[_0x540f('0x7')](respondWithResult(_0x571fc8,null))[_0x540f('0xc')](handleError(_0x571fc8,null));};exports['smsQueues']=function(_0x456a82,_0x17ee5e){return respondWithRpcPromise(_0x540f('0x4b'),_0x456a82[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x17ee5e,null))[_0x540f('0xc')](handleError(_0x17ee5e,null));};exports[_0x540f('0x4c')]=function(_0x570827,_0x3dbf64){return respondWithRpcPromise('SmsQueues',_0x570827[_0x540f('0x17')],routingClient)[_0x540f('0x7')](findById(_0x570827['params']['id']))[_0x540f('0x7')](respondWithResult(_0x3dbf64,null))[_0x540f('0xc')](handleError(_0x3dbf64,null));};exports[_0x540f('0x4d')]=function(_0x5047ec,_0x58c78e){return respondWithRpcPromise(_0x540f('0x4e'),_0x5047ec[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x58c78e,null))['catch'](handleError(_0x58c78e,null));};exports['showWhatsappQueues']=function(_0x4fc528,_0x35f519){return respondWithRpcPromise(_0x540f('0x4e'),_0x4fc528['query'],routingClient)['then'](findById(_0x4fc528[_0x540f('0x1a')]['id']))[_0x540f('0x7')](respondWithResult(_0x35f519,null))['catch'](handleError(_0x35f519,null));};exports[_0x540f('0x4f')]=function(_0x5a6c23,_0x267183){return respondWithRpcPromise(_0x540f('0x50'),_0x5a6c23[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x267183,null))['catch'](handleError(_0x267183,null));};exports[_0x540f('0x51')]=function(_0x3edc6b,_0x381b41){return respondWithRpcPromise('FaxQueues',_0x3edc6b[_0x540f('0x17')],routingClient)['then'](findById(_0x3edc6b[_0x540f('0x1a')]['id']))[_0x540f('0x7')](respondWithResult(_0x381b41,null))[_0x540f('0xc')](handleError(_0x381b41,null));};exports[_0x540f('0x52')]=function(_0x2f6408,_0x1e2b8b){return respondWithRpcPromise('FaxAccounts',_0x2f6408[_0x540f('0x17')])[_0x540f('0x7')](respondWithResult(_0x1e2b8b,null))[_0x540f('0xc')](handleError(_0x1e2b8b,null));};exports['chatQueuesWaitingInteractions']=function(_0x1a4a6a,_0x2ef78b){return respondWithRpcPromise(_0x540f('0x53'),_0x1a4a6a['query'],routingClient)['then'](respondWithResult(_0x2ef78b,null))[_0x540f('0xc')](handleError(_0x2ef78b,null));};exports['mailQueuesWaitingInteractions']=function(_0x5e3775,_0x8f41da){return respondWithRpcPromise(_0x540f('0x54'),_0x5e3775[_0x540f('0x17')],routingClient)['then'](respondWithResult(_0x8f41da,null))[_0x540f('0xc')](handleError(_0x8f41da,null));};exports['openchannelQueuesWaitingInteractions']=function(_0x847811,_0x5edf4e){return respondWithRpcPromise(_0x540f('0x55'),_0x847811[_0x540f('0x17')],routingClient)[_0x540f('0x7')](respondWithResult(_0x5edf4e,null))[_0x540f('0xc')](handleError(_0x5edf4e,null));};exports[_0x540f('0x56')]=function(_0x43ccae,_0x44409f){return respondWithRpcPromise(_0x540f('0x57'),_0x43ccae['query'],routingClient)[_0x540f('0x7')](respondWithResult(_0x44409f,null))[_0x540f('0xc')](handleError(_0x44409f,null));};exports['whatsappQueuesWaitingInteractions']=function(_0x56e749,_0x5843a2){return respondWithRpcPromise(_0x540f('0x58'),_0x56e749[_0x540f('0x17')],routingClient)['then'](respondWithResult(_0x5843a2,null))['catch'](handleError(_0x5843a2,null));};exports[_0x540f('0x59')]=function(_0x194f94,_0x52b66d){return respondWithRpcPromise(_0x540f('0x5a'),_0x194f94[_0x540f('0x17')],routingClient)['then'](respondWithResult(_0x52b66d,null))['catch'](handleError(_0x52b66d,null));};exports[_0x540f('0x5b')]=function(_0x2b7626){return function(_0x1323c6,_0x53d873){var _0x494b76,_0x932f83;var _0x174784=_[_0x540f('0x5c')](_0x2b7626);var _0x241ce5=_0x2b7626===_0x540f('0x5d')?_0x540f('0x5e'):'Account';return db[_0x174784+_0x540f('0x5f')][_0x540f('0x60')]({'raw':!![],'where':{'id':_0x1323c6[_0x540f('0x1a')]['id']}})['then'](function(_0x1793e3){if(_[_0x540f('0x13')](_0x1793e3)){throw new Error(_0x174784+_0x540f('0x61'));}_0x494b76=_0x1793e3;return db[_0x174784+_0x540f('0x62')][_0x540f('0x60')]({'where':{'id':_0x1323c6['body'][_0x540f('0x63')]},'include':[{'model':db[_0x174784+'Interaction'],'as':_0x540f('0x64')},{'model':db[_0x174784+_0x241ce5],'as':_0x540f('0x65')}]});})[_0x540f('0x7')](function(_0x131471){if(_['isNil'](_0x131471)){throw new Error(_0x174784+_0x540f('0x66'));}_0x932f83=_0x131471;return _0x131471[_0x540f('0x67')]({'read':0x0,'readAt':null,'UserId':null});})[_0x540f('0x7')](function(){var _0x19a4a2={'uniqueid':_0x2b7626+'.'+_0x932f83['id']+'.'+_0x932f83[_0x540f('0x64')]['id'],'FromUserId':_0x1323c6[_0x540f('0x2e')]['id'],'type':_0x540f('0x68')};_0x19a4a2[_0x174784+_0x540f('0x69')]=_0x932f83['id'];_0x19a4a2[_0x174784+_0x540f('0x6a')]=_0x932f83[_0x540f('0x64')]['id'];_0x19a4a2['From'+_0x174784+_0x241ce5+'Id']=_0x932f83['Account']['id'];_0x19a4a2['To'+_0x174784+_0x540f('0x6b')]=_0x494b76['id'];return db[_0x174784+_0x540f('0x6c')][_0x540f('0x6d')](_0x19a4a2);})[_0x540f('0x7')](function(){return respondWithRpcPromise(_0x540f('0x6e'),{'channel':_0x2b7626,'interaction':_0x932f83[_0x540f('0x64')],'message':_0x932f83,'account':_0x932f83[_0x540f('0x65')],'applications':[{'id':0x0,'priority':0x1,'app':_0x540f('0x68'),'appdata':_0x494b76[_0x540f('0x11')]+','+(_0x932f83['Account'][_0x540f('0x6f')]||0x12c),'interval':_0x540f('0x70')}]},routingClient);})[_0x540f('0x7')](respondWithResult(_0x53d873,null))[_0x540f('0xc')](handleError(_0x53d873,null));};};exports[_0x540f('0x71')]=function(_0x5b858f,_0x31eabb){var _0x22ccf2,_0x37cd1a;if(_[_0x540f('0x13')](_0x5b858f[_0x540f('0x2d')][_0x540f('0x72')])){throw new Error(_0x540f('0x73'));}var _0x59e793=_0x5b858f[_0x540f('0x2d')][_0x540f('0x72')];var _0x5ae06c=_['capitalize'](_0x59e793);var _0x2cf451=_0x59e793===_0x540f('0x5d')?_0x540f('0x5e'):'Account';return db[_0x540f('0x74')]['findOne']({'raw':!![],'where':{'id':_0x5b858f[_0x540f('0x1a')]['id'],'role':_0x540f('0x3a')}})[_0x540f('0x7')](function(_0x5610c6){if(_['isNil'](_0x5610c6)){throw new Error('Agent\x20not\x20found');}_0x22ccf2=_0x5610c6;return db[_0x5ae06c+_0x540f('0x62')]['findOne']({'where':{'id':_0x5b858f[_0x540f('0x2d')][_0x540f('0x63')]},'include':[{'model':db[_0x5ae06c+_0x540f('0x64')],'as':'Interaction'},{'model':db[_0x5ae06c+_0x2cf451],'as':_0x540f('0x65')}]});})[_0x540f('0x7')](function(_0x49706c){if(_[_0x540f('0x13')](_0x49706c)){throw new Error(_0x5ae06c+_0x540f('0x66'));}_0x37cd1a=_0x49706c;return _0x49706c[_0x540f('0x67')]({'read':0x0,'readAt':null,'UserId':null});})[_0x540f('0x7')](function(){var _0x516996={'uniqueid':_0x59e793+'.'+_0x37cd1a['id']+'.'+_0x37cd1a[_0x540f('0x64')]['id'],'FromUserId':_0x5b858f['user']['id'],'type':_0x540f('0x68'),'ToUserId':_0x22ccf2['id']};_0x516996[_0x5ae06c+_0x540f('0x69')]=_0x37cd1a['id'];_0x516996[_0x5ae06c+'InteractionId']=_0x37cd1a['Interaction']['id'];_0x516996[_0x540f('0x75')+_0x5ae06c+_0x2cf451+'Id']=_0x37cd1a[_0x540f('0x65')]['id'];return db[_0x5ae06c+_0x540f('0x6c')][_0x540f('0x6d')](_0x516996);})[_0x540f('0x7')](function(){return respondWithRpcPromise(_0x540f('0x6e'),{'channel':_0x59e793,'interaction':_0x37cd1a['Interaction'],'message':_0x37cd1a,'account':_0x37cd1a['Account'],'applications':[{'id':0x0,'priority':0x1,'app':_0x540f('0x3a'),'appdata':_0x22ccf2[_0x540f('0x11')]+','+(_0x37cd1a[_0x540f('0x65')]['agentTransferTimeout']||0x12c),'interval':_0x540f('0x70')}]},routingClient);})[_0x540f('0x7')](respondWithResult(_0x31eabb,null))[_0x540f('0xc')](handleError(_0x31eabb,null));};