544b9d0e3a182b61105a4fbecacdaa5594475629
[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 _0xb134=['User','agent','Agent\x20not\x20found','From','*,*,*,*','bluebird','lodash','util','api','http','client','request','then','error','code','message','result','status','json','stack','name','isNil','rows','find','VoiceChannels','query','catch','voiceChannelMixMonitor','VoiceChannelMixMonitor','merge','params','voiceChannelStopMixMonitor','voiceQueues','VoiceQueues','showVoiceQueues','VoiceQueuesPreview','voiceQueuesChannels','voiceQueuesChannel','VoiceQueuesChannel','voiceQueuesChannelHangup','VoiceQueuesChannelHangup','VoiceQueuesChannelRedirect','outbound','Outbound','outboundChannels','OutboundChannels','agents','Agents','agentCapacity','body','interaction','user','hasOwnProperty','findAll','INTERACTION','length','format','YYYY-MM-DD\x20HH:mm:ss','updateAttributes','MemberReport','findOrCreate','interface','internal','AgentCapacity','capacity','Telephones','trunks','Trunks','Campaigns','chatQueues','ChatQueues','showChatQueues','mailQueues','MailQueues','showMailQueues','mailAccounts','openchannelQueues','OpenchannelQueues','showOpenchannelQueues','smsQueues','SmsQueues','faxQueues','FaxQueues','showFaxQueues','FaxAccounts','chatQueuesWaitingInteractions','ChatQueuesWaitingInteractions','mailQueuesWaitingInteractions','MailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','smsQueuesWaitingInteractions','SmsQueuesWaitingInteractions','faxQueuesWaitingInteractions','FaxQueuesWaitingInteractions','queueNotify','capitalize','chat','Account','Queue','findOne','\x20Queue\x20not\x20found','Message','messageId','\x20Message\x20not\x20found','update','Interaction','queue','MessageId','InteractionId','QueueId','TransferReport','create','Start','queueTransferTimeout','Channel\x20field\x20is\x20mandatory'];(function(_0x199572,_0x33e667){var _0x13cfa3=function(_0x53c075){while(--_0x53c075){_0x199572['push'](_0x199572['shift']());}};_0x13cfa3(++_0x33e667);}(_0xb134,0x15e));var _0x4b13=function(_0x22e9fe,_0x3d019f){_0x22e9fe=_0x22e9fe-0x0;var _0x47cd19=_0xb134[_0x22e9fe];return _0x47cd19;};'use strict';var BPromise=require(_0x4b13('0x0'));var moment=require('moment');var _=require(_0x4b13('0x1'));var util=require(_0x4b13('0x2'));var db=require('../../mysqldb')['db'];var logger=require('../../config/logger')(_0x4b13('0x3'));var jayson=require('jayson/promise');var amiClient=jayson['client'][_0x4b13('0x4')]({'port':0x232a});var mailClient=jayson[_0x4b13('0x5')][_0x4b13('0x4')]({'port':0x232b});var routingClient=jayson[_0x4b13('0x5')][_0x4b13('0x4')]({'port':0x232c});function respondWithRpcPromise(_0x55a9aa,_0x1c57eb,_0xd1cd94){return new BPromise(function(_0x2c5571,_0x59687e){var _0x5d9151=_0xd1cd94?_0xd1cd94:amiClient;return _0x5d9151[_0x4b13('0x6')](_0x55a9aa,_0x1c57eb)[_0x4b13('0x7')](function(_0x52fb6d){if(_0x52fb6d[_0x4b13('0x8')]){if(_0x52fb6d[_0x4b13('0x8')][_0x4b13('0x9')]===0x1f4){return _0x59687e(_0x52fb6d['error'][_0x4b13('0xa')]);}return _0x2c5571(_0x52fb6d[_0x4b13('0x8')]['message']);}else{_0x2c5571(_0x52fb6d[_0x4b13('0xb')]);}})['catch'](function(_0x54a66c){_0x59687e(_0x54a66c);});});}function respondWithResult(_0x8a10e0,_0x34e58b){_0x34e58b=_0x34e58b||0xc8;return function(_0x3ca488){if(_0x3ca488){return _0x8a10e0[_0x4b13('0xc')](_0x34e58b)[_0x4b13('0xd')](_0x3ca488);}return _0x8a10e0['sendStatus'](0x194);};}function handleError(_0x1e9a78,_0x29dea0){_0x29dea0=_0x29dea0||0x1f4;return function(_0xdcbed6){logger[_0x4b13('0x8')](_0xdcbed6[_0x4b13('0xe')]);if(_0xdcbed6[_0x4b13('0xf')]){delete _0xdcbed6[_0x4b13('0xf')];}_0x1e9a78['status'](_0x29dea0)['send'](_0xdcbed6);};}function findById(_0x289e14){return function(_0x1034da){if(!_['isNil'](_0x289e14)&&!_[_0x4b13('0x10')](_0x1034da)&&!_[_0x4b13('0x10')](_0x1034da[_0x4b13('0x11')])){return _[_0x4b13('0x12')](_0x1034da[_0x4b13('0x11')],function(_0x4faef0){return _0x4faef0['id']==_0x289e14;});}return null;};}exports['voiceChannels']=function(_0x31d3e8,_0x17dde8){return respondWithRpcPromise(_0x4b13('0x13'),_0x31d3e8[_0x4b13('0x14')])[_0x4b13('0x7')](respondWithResult(_0x17dde8,null))[_0x4b13('0x15')](handleError(_0x17dde8,null));};exports[_0x4b13('0x16')]=function(_0x1ae213,_0x31512c){return respondWithRpcPromise(_0x4b13('0x17'),_[_0x4b13('0x18')](_0x1ae213['query'],_0x1ae213[_0x4b13('0x19')]))[_0x4b13('0x7')](respondWithResult(_0x31512c,null))[_0x4b13('0x15')](handleError(_0x31512c,null));};exports[_0x4b13('0x1a')]=function(_0x2c39ba,_0x2a9c2c){return respondWithRpcPromise('VoiceChannelStopMixMonitor',_['merge'](_0x2c39ba['query'],_0x2c39ba[_0x4b13('0x19')]))['then'](respondWithResult(_0x2a9c2c,null))[_0x4b13('0x15')](handleError(_0x2a9c2c,null));};exports[_0x4b13('0x1b')]=function(_0x2db3f3,_0xb9b8a3){return respondWithRpcPromise(_0x4b13('0x1c'),_0x2db3f3['query'])[_0x4b13('0x7')](respondWithResult(_0xb9b8a3,null))['catch'](handleError(_0xb9b8a3,null));};exports[_0x4b13('0x1d')]=function(_0x52d5ef,_0x496451){return respondWithRpcPromise('VoiceQueues',_0x52d5ef['query'])[_0x4b13('0x7')](findById(_0x52d5ef[_0x4b13('0x19')]['id']))[_0x4b13('0x7')](respondWithResult(_0x496451,null))[_0x4b13('0x15')](handleError(_0x496451,null));};exports['voiceQueuesPreview']=function(_0x40a83b,_0x4ea2de){return respondWithRpcPromise(_0x4b13('0x1e'),_[_0x4b13('0x18')](_0x40a83b[_0x4b13('0x14')],_0x40a83b['params']))[_0x4b13('0x7')](respondWithResult(_0x4ea2de,null))['catch'](handleError(_0x4ea2de,null));};exports[_0x4b13('0x1f')]=function(_0x4a6cdc,_0x5150c4){return respondWithRpcPromise('VoiceQueuesChannels',_0x4a6cdc['query'])[_0x4b13('0x7')](respondWithResult(_0x5150c4,null))['catch'](handleError(_0x5150c4,null));};exports[_0x4b13('0x20')]=function(_0x34f959,_0x5787c7){return respondWithRpcPromise(_0x4b13('0x21'),_[_0x4b13('0x18')](_0x34f959['query'],_0x34f959[_0x4b13('0x19')]))[_0x4b13('0x7')](respondWithResult(_0x5787c7,null))[_0x4b13('0x15')](handleError(_0x5787c7,null));};exports[_0x4b13('0x22')]=function(_0x2c085c,_0xd2e485){return respondWithRpcPromise(_0x4b13('0x23'),_[_0x4b13('0x18')](_0x2c085c[_0x4b13('0x14')],_0x2c085c[_0x4b13('0x19')]))[_0x4b13('0x7')](respondWithResult(_0xd2e485,null))['catch'](handleError(_0xd2e485,null));};exports['voiceQueuesChannelRedirect']=function(_0x2300a0,_0x61a099){return respondWithRpcPromise(_0x4b13('0x24'),_[_0x4b13('0x18')](_0x2300a0[_0x4b13('0x14')],_0x2300a0[_0x4b13('0x19')]))[_0x4b13('0x7')](respondWithResult(_0x61a099,null))['catch'](handleError(_0x61a099,null));};exports[_0x4b13('0x25')]=function(_0xfaefb1,_0x274a13){return respondWithRpcPromise(_0x4b13('0x26'),_0xfaefb1['query'])['then'](respondWithResult(_0x274a13,null))[_0x4b13('0x15')](handleError(_0x274a13,null));};exports[_0x4b13('0x27')]=function(_0x58fa86,_0x26b6b0){return respondWithRpcPromise(_0x4b13('0x28'),_0x58fa86[_0x4b13('0x14')])['then'](respondWithResult(_0x26b6b0,null))[_0x4b13('0x15')](handleError(_0x26b6b0,null));};exports[_0x4b13('0x29')]=function(_0x3b74bf,_0x1cdecd){var _0x34b530;return respondWithRpcPromise(_0x4b13('0x2a'),_0x3b74bf[_0x4b13('0x14')])[_0x4b13('0x7')](function(_0x43367f){_0x34b530=_0x43367f;return respondWithRpcPromise(_0x4b13('0x2a'),_0x3b74bf[_0x4b13('0x14')],routingClient);})[_0x4b13('0x7')](function(_0x5be008){return _[_0x4b13('0x18')]({},_0x5be008,_0x34b530);})[_0x4b13('0x7')](respondWithResult(_0x1cdecd,null))[_0x4b13('0x15')](handleError(_0x1cdecd,null));};exports[_0x4b13('0x2b')]=function(_0xe60cb9,_0x4cc750){if(_0xe60cb9[_0x4b13('0x2c')]&&_0xe60cb9[_0x4b13('0x2c')][_0x4b13('0x2d')]&&_0xe60cb9[_0x4b13('0x2e')]&&_0xe60cb9[_0x4b13('0x2e')][_0x4b13('0xf')]){for(var _0x117add in _0xe60cb9['body']['interaction']){if(_0xe60cb9['body'][_0x4b13('0x2d')][_0x4b13('0x2f')](_0x117add)){db['MemberReport'][_0x4b13('0x30')]({'where':{'channel':_0x117add,'membername':_0xe60cb9[_0x4b13('0x2e')]['name'],'type':_0x4b13('0x31'),'exitAt':null,'uniqueid':_0xe60cb9[_0x4b13('0x2c')][_0x4b13('0x2d')][_0x117add]&&_0xe60cb9[_0x4b13('0x2c')][_0x4b13('0x2d')][_0x117add][_0x4b13('0x32')]?{'$notIn':_0xe60cb9[_0x4b13('0x2c')]['interaction'][_0x117add]}:{'$ne':null}}})['then'](function(_0x2560d1){var _0x45c1e9=moment()[_0x4b13('0x33')](_0x4b13('0x34'));for(var _0x34bf87=0x0,_0x19967d=_0x2560d1[_0x4b13('0x32')];_0x34bf87<_0x19967d;_0x34bf87+=0x1){_0x2560d1[_0x34bf87][_0x4b13('0x35')]({'exitAt':_0x45c1e9});}});for(var _0x5165df=0x0;_0x5165df<_0xe60cb9[_0x4b13('0x2c')][_0x4b13('0x2d')][_0x117add]['length'];_0x5165df+=0x1){db[_0x4b13('0x36')][_0x4b13('0x37')]({'where':{'channel':_0x117add,'membername':_0xe60cb9[_0x4b13('0x2e')][_0x4b13('0xf')],'type':_0x4b13('0x31'),'uniqueid':_0xe60cb9[_0x4b13('0x2c')][_0x4b13('0x2d')][_0x117add][_0x5165df],'exitAt':null},'defaults':{'channel':_0x117add,'membername':_0xe60cb9[_0x4b13('0x2e')]['name'],'interface':_[_0x4b13('0x10')](_0xe60cb9[_0x4b13('0x2e')][_0x4b13('0x38')])?util[_0x4b13('0x33')]('SIP/%s',_0xe60cb9['user'][_0x4b13('0xf')]):_0xe60cb9[_0x4b13('0x2e')]['interface'],'type':_0x4b13('0x31'),'enterAt':moment()[_0x4b13('0x33')](_0x4b13('0x34')),'role':'agent','internal':_0xe60cb9[_0x4b13('0x2e')][_0x4b13('0x39')],'uniqueid':_0xe60cb9['body']['interaction'][_0x117add][_0x5165df]}});}}}}return respondWithRpcPromise(_0x4b13('0x3a'),{'id':_0xe60cb9['params']['id'],'capacity':_0xe60cb9[_0x4b13('0x2c')][_0x4b13('0x3b')]},routingClient)[_0x4b13('0x7')](respondWithResult(_0x4cc750,null))[_0x4b13('0x15')](handleError(_0x4cc750,null));};exports['telephones']=function(_0x15332d,_0x256701){return respondWithRpcPromise(_0x4b13('0x3c'),_0x15332d[_0x4b13('0x14')])['then'](respondWithResult(_0x256701,null))[_0x4b13('0x15')](handleError(_0x256701,null));};exports[_0x4b13('0x3d')]=function(_0xc9e0a,_0x52807a){return respondWithRpcPromise(_0x4b13('0x3e'),_0xc9e0a['query'])[_0x4b13('0x7')](respondWithResult(_0x52807a,null))[_0x4b13('0x15')](handleError(_0x52807a,null));};exports['campaigns']=function(_0x3ab189,_0x4be72f){return respondWithRpcPromise(_0x4b13('0x3f'),_0x3ab189['query'])['then'](respondWithResult(_0x4be72f,null))[_0x4b13('0x15')](handleError(_0x4be72f,null));};exports[_0x4b13('0x40')]=function(_0x97dfd,_0x133db9){return respondWithRpcPromise(_0x4b13('0x41'),_0x97dfd[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0x133db9,null))[_0x4b13('0x15')](handleError(_0x133db9,null));};exports[_0x4b13('0x42')]=function(_0x1cc173,_0x897df9){return respondWithRpcPromise(_0x4b13('0x41'),_0x1cc173[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](findById(_0x1cc173[_0x4b13('0x19')]['id']))[_0x4b13('0x7')](respondWithResult(_0x897df9,null))[_0x4b13('0x15')](handleError(_0x897df9,null));};exports[_0x4b13('0x43')]=function(_0x119288,_0xb1a0e4){return respondWithRpcPromise(_0x4b13('0x44'),_0x119288[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0xb1a0e4,null))[_0x4b13('0x15')](handleError(_0xb1a0e4,null));};exports[_0x4b13('0x45')]=function(_0x3ec434,_0x1b8e99){return respondWithRpcPromise(_0x4b13('0x44'),_0x3ec434[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](findById(_0x3ec434['params']['id']))[_0x4b13('0x7')](respondWithResult(_0x1b8e99,null))[_0x4b13('0x15')](handleError(_0x1b8e99,null));};exports[_0x4b13('0x46')]=function(_0x4bac94,_0x508dcc){return respondWithRpcPromise('MailAccounts',_0x4bac94[_0x4b13('0x14')],mailClient)[_0x4b13('0x7')](respondWithResult(_0x508dcc,null))['catch'](handleError(_0x508dcc,null));};exports[_0x4b13('0x47')]=function(_0x225935,_0x51a379){return respondWithRpcPromise(_0x4b13('0x48'),_0x225935[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0x51a379,null))[_0x4b13('0x15')](handleError(_0x51a379,null));};exports[_0x4b13('0x49')]=function(_0x115fc5,_0xc535de){return respondWithRpcPromise('OpenchannelQueues',_0x115fc5['query'],routingClient)[_0x4b13('0x7')](findById(_0x115fc5[_0x4b13('0x19')]['id']))[_0x4b13('0x7')](respondWithResult(_0xc535de,null))[_0x4b13('0x15')](handleError(_0xc535de,null));};exports[_0x4b13('0x4a')]=function(_0x3492f1,_0x1671d4){return respondWithRpcPromise(_0x4b13('0x4b'),_0x3492f1[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0x1671d4,null))[_0x4b13('0x15')](handleError(_0x1671d4,null));};exports['showSmsQueues']=function(_0x28a1ee,_0xf319b9){return respondWithRpcPromise('SmsQueues',_0x28a1ee['query'],routingClient)[_0x4b13('0x7')](findById(_0x28a1ee[_0x4b13('0x19')]['id']))[_0x4b13('0x7')](respondWithResult(_0xf319b9,null))[_0x4b13('0x15')](handleError(_0xf319b9,null));};exports[_0x4b13('0x4c')]=function(_0x8deac2,_0x1c4b32){return respondWithRpcPromise(_0x4b13('0x4d'),_0x8deac2['query'],routingClient)[_0x4b13('0x7')](respondWithResult(_0x1c4b32,null))[_0x4b13('0x15')](handleError(_0x1c4b32,null));};exports[_0x4b13('0x4e')]=function(_0x55be39,_0x43f1e5){return respondWithRpcPromise(_0x4b13('0x4d'),_0x55be39[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](findById(_0x55be39[_0x4b13('0x19')]['id']))[_0x4b13('0x7')](respondWithResult(_0x43f1e5,null))['catch'](handleError(_0x43f1e5,null));};exports['faxAccounts']=function(_0x2955a2,_0x4e8ba5){return respondWithRpcPromise(_0x4b13('0x4f'),_0x2955a2[_0x4b13('0x14')])[_0x4b13('0x7')](respondWithResult(_0x4e8ba5,null))[_0x4b13('0x15')](handleError(_0x4e8ba5,null));};exports[_0x4b13('0x50')]=function(_0x16c7b7,_0x57d6e7){return respondWithRpcPromise(_0x4b13('0x51'),_0x16c7b7[_0x4b13('0x14')],routingClient)['then'](respondWithResult(_0x57d6e7,null))[_0x4b13('0x15')](handleError(_0x57d6e7,null));};exports[_0x4b13('0x52')]=function(_0xeb4a08,_0x4601fa){return respondWithRpcPromise(_0x4b13('0x53'),_0xeb4a08[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0x4601fa,null))[_0x4b13('0x15')](handleError(_0x4601fa,null));};exports[_0x4b13('0x54')]=function(_0x1eb946,_0x171c31){return respondWithRpcPromise('OpenchannelQueuesWaitingInteractions',_0x1eb946[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0x171c31,null))[_0x4b13('0x15')](handleError(_0x171c31,null));};exports[_0x4b13('0x55')]=function(_0x2ecab0,_0x7a0f4e){return respondWithRpcPromise(_0x4b13('0x56'),_0x2ecab0[_0x4b13('0x14')],routingClient)[_0x4b13('0x7')](respondWithResult(_0x7a0f4e,null))['catch'](handleError(_0x7a0f4e,null));};exports[_0x4b13('0x57')]=function(_0x181885,_0x2dced4){return respondWithRpcPromise(_0x4b13('0x58'),_0x181885[_0x4b13('0x14')],routingClient)['then'](respondWithResult(_0x2dced4,null))['catch'](handleError(_0x2dced4,null));};exports[_0x4b13('0x59')]=function(_0x31b880){return function(_0x413cec,_0x256151){var _0x1455d5,_0xd91bd9;var _0x3358ef=_[_0x4b13('0x5a')](_0x31b880);var _0x11f0ef=_0x31b880===_0x4b13('0x5b')?'Website':_0x4b13('0x5c');return db[_0x3358ef+_0x4b13('0x5d')][_0x4b13('0x5e')]({'raw':!![],'where':{'id':_0x413cec[_0x4b13('0x19')]['id']}})[_0x4b13('0x7')](function(_0x77332b){if(_[_0x4b13('0x10')](_0x77332b)){throw new Error(_0x3358ef+_0x4b13('0x5f'));}_0x1455d5=_0x77332b;return db[_0x3358ef+_0x4b13('0x60')][_0x4b13('0x5e')]({'where':{'id':_0x413cec[_0x4b13('0x2c')][_0x4b13('0x61')]},'include':[{'model':db[_0x3358ef+'Interaction'],'as':'Interaction'},{'model':db[_0x3358ef+_0x11f0ef],'as':_0x4b13('0x5c')}]});})[_0x4b13('0x7')](function(_0x27a373){if(_[_0x4b13('0x10')](_0x27a373)){throw new Error(_0x3358ef+_0x4b13('0x62'));}_0xd91bd9=_0x27a373;return _0x27a373[_0x4b13('0x63')]({'read':0x0,'readAt':null,'UserId':null});})[_0x4b13('0x7')](function(){var _0x16c4af={'uniqueid':_0x31b880+'.'+_0xd91bd9['id']+'.'+_0xd91bd9[_0x4b13('0x64')]['id'],'FromUserId':_0x413cec[_0x4b13('0x2e')]['id'],'type':_0x4b13('0x65')};_0x16c4af[_0x3358ef+_0x4b13('0x66')]=_0xd91bd9['id'];_0x16c4af[_0x3358ef+_0x4b13('0x67')]=_0xd91bd9[_0x4b13('0x64')]['id'];_0x16c4af['From'+_0x3358ef+_0x11f0ef+'Id']=_0xd91bd9['Account']['id'];_0x16c4af['To'+_0x3358ef+_0x4b13('0x68')]=_0x1455d5['id'];return db[_0x3358ef+_0x4b13('0x69')][_0x4b13('0x6a')](_0x16c4af);})['then'](function(){return respondWithRpcPromise(_0x4b13('0x6b'),{'channel':_0x31b880,'interaction':_0xd91bd9[_0x4b13('0x64')],'message':_0xd91bd9,'account':_0xd91bd9['Account'],'applications':[{'id':0x0,'priority':0x1,'app':'queue','appdata':_0x1455d5[_0x4b13('0xf')]+','+(_0xd91bd9[_0x4b13('0x5c')][_0x4b13('0x6c')]||0x12c),'interval':'*,*,*,*'}]},routingClient);})['then'](respondWithResult(_0x256151,null))[_0x4b13('0x15')](handleError(_0x256151,null));};};exports['agentNotify']=function(_0x226a46,_0x545779){var _0x5b52d8,_0x5b2f26;if(_[_0x4b13('0x10')](_0x226a46[_0x4b13('0x2c')]['channel'])){throw new Error(_0x4b13('0x6d'));}var _0x23e6d9=_0x226a46[_0x4b13('0x2c')]['channel'];var _0x4c526b=_['capitalize'](_0x23e6d9);var _0x2dc52b=_0x23e6d9===_0x4b13('0x5b')?'Website':_0x4b13('0x5c');return db[_0x4b13('0x6e')][_0x4b13('0x5e')]({'raw':!![],'where':{'id':_0x226a46[_0x4b13('0x19')]['id'],'role':_0x4b13('0x6f')}})[_0x4b13('0x7')](function(_0x435c54){if(_[_0x4b13('0x10')](_0x435c54)){throw new Error(_0x4b13('0x70'));}_0x5b52d8=_0x435c54;return db[_0x4c526b+_0x4b13('0x60')][_0x4b13('0x5e')]({'where':{'id':_0x226a46[_0x4b13('0x2c')][_0x4b13('0x61')]},'include':[{'model':db[_0x4c526b+'Interaction'],'as':_0x4b13('0x64')},{'model':db[_0x4c526b+_0x2dc52b],'as':'Account'}]});})['then'](function(_0x292e95){if(_[_0x4b13('0x10')](_0x292e95)){throw new Error(_0x4c526b+_0x4b13('0x62'));}_0x5b2f26=_0x292e95;return _0x292e95[_0x4b13('0x63')]({'read':0x0,'readAt':null,'UserId':null});})[_0x4b13('0x7')](function(){var _0x54ff73={'uniqueid':_0x23e6d9+'.'+_0x5b2f26['id']+'.'+_0x5b2f26[_0x4b13('0x64')]['id'],'FromUserId':_0x226a46[_0x4b13('0x2e')]['id'],'type':'queue','ToUserId':_0x5b52d8['id']};_0x54ff73[_0x4c526b+'MessageId']=_0x5b2f26['id'];_0x54ff73[_0x4c526b+_0x4b13('0x67')]=_0x5b2f26['Interaction']['id'];_0x54ff73[_0x4b13('0x71')+_0x4c526b+_0x2dc52b+'Id']=_0x5b2f26[_0x4b13('0x5c')]['id'];return db[_0x4c526b+_0x4b13('0x69')]['create'](_0x54ff73);})[_0x4b13('0x7')](function(){return respondWithRpcPromise(_0x4b13('0x6b'),{'channel':_0x23e6d9,'interaction':_0x5b2f26[_0x4b13('0x64')],'message':_0x5b2f26,'account':_0x5b2f26[_0x4b13('0x5c')],'applications':[{'id':0x0,'priority':0x1,'app':'agent','appdata':_0x5b52d8[_0x4b13('0xf')]+','+(_0x5b2f26['Account']['agentTransferTimeout']||0x12c),'interval':_0x4b13('0x72')}]},routingClient);})[_0x4b13('0x7')](respondWithResult(_0x545779,null))[_0x4b13('0x15')](handleError(_0x545779,null));};