Built motion from commit (unavailable).|2.5.16
[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 _0xbf9d=['agent','internal','AgentCapacity','capacity','trunks','Trunks','Campaigns','chatQueues','ChatQueues','showChatQueues','mailQueues','MailQueues','mailAccounts','MailAccounts','openchannelQueues','OpenchannelQueues','showOpenchannelQueues','showSmsQueues','SmsQueues','whatsappQueues','WhatsappQueues','showWhatsappQueues','faxQueues','FaxQueues','faxAccounts','FaxAccounts','ChatQueuesWaitingInteractions','mailQueuesWaitingInteractions','MailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','OpenchannelQueuesWaitingInteractions','openchannelQueuesIdWaitingInteractions','type','filter','queue_id','value','indexOf','smsQueuesWaitingInteractions','SmsQueuesWaitingInteractions','whatsappQueuesWaitingInteractions','faxQueuesWaitingInteractions','FaxQueuesWaitingInteractions','queueNotify','capitalize','Website','Queue','\x20Queue\x20not\x20found','Message','messageId','Interaction','Account','\x20Message\x20not\x20found','MessageId','InteractionId','From','QueueId','TransferReport','create','queue','queueTransferTimeout','*,*,*,*','agentNotify','chat','User','findOne','update','Start','agentTransferTimeout','bluebird','lodash','util','../../mysqldb','../../config/logger','jayson/promise','client','http','then','error','message','catch','sendStatus','stack','name','status','isNil','rows','voiceChannels','query','VoiceChannelMixMonitor','params','voiceChannelStopMixMonitor','VoiceChannelStopMixMonitor','voiceQueues','VoiceQueues','showVoiceQueues','VoiceQueuesPreview','merge','voiceQueuesChannels','VoiceQueuesChannels','voiceQueuesChannelHangup','VoiceQueuesChannelHangup','voiceQueuesChannelRedirect','VoiceQueuesChannelRedirect','outbound','Outbound','OutboundChannels','agents','Agents','body','interaction','user','MemberReport','findAll','INTERACTION','format','YYYY-MM-DD\x20HH:mm:ss','length','updateAttributes','findOrCreate','interface'];(function(_0x134248,_0x5c0c63){var _0x322610=function(_0x21ed4d){while(--_0x21ed4d){_0x134248['push'](_0x134248['shift']());}};_0x322610(++_0x5c0c63);}(_0xbf9d,0xbc));var _0xdbf9=function(_0x13575e,_0x27ef9d){_0x13575e=_0x13575e-0x0;var _0x345a34=_0xbf9d[_0x13575e];return _0x345a34;};'use strict';var BPromise=require(_0xdbf9('0x0'));var moment=require('moment');var _=require(_0xdbf9('0x1'));var util=require(_0xdbf9('0x2'));var db=require(_0xdbf9('0x3'))['db'];var logger=require(_0xdbf9('0x4'))('api');var jayson=require(_0xdbf9('0x5'));var amiClient=jayson[_0xdbf9('0x6')][_0xdbf9('0x7')]({'port':0x232a});var mailClient=jayson[_0xdbf9('0x6')][_0xdbf9('0x7')]({'port':0x232b});var routingClient=jayson['client'][_0xdbf9('0x7')]({'port':0x232c});function respondWithRpcPromise(_0x2af2e1,_0x4e1b40,_0x1cc3e0){return new BPromise(function(_0x2ad360,_0xf57a41){var _0x3b52b1=_0x1cc3e0?_0x1cc3e0:amiClient;return _0x3b52b1['request'](_0x2af2e1,_0x4e1b40)[_0xdbf9('0x8')](function(_0x439c5f){if(_0x439c5f[_0xdbf9('0x9')]){if(_0x439c5f[_0xdbf9('0x9')]['code']===0x1f4){return _0xf57a41(_0x439c5f[_0xdbf9('0x9')][_0xdbf9('0xa')]);}return _0x2ad360(_0x439c5f['error'][_0xdbf9('0xa')]);}else{_0x2ad360(_0x439c5f['result']);}})[_0xdbf9('0xb')](function(_0x2571e6){_0xf57a41(_0x2571e6);});});}function respondWithResult(_0x581ce9,_0x3516dc){_0x3516dc=_0x3516dc||0xc8;return function(_0x71a4ef){if(_0x71a4ef){return _0x581ce9['status'](_0x3516dc)['json'](_0x71a4ef);}return _0x581ce9[_0xdbf9('0xc')](0x194);};}function handleError(_0x234f82,_0x54b96b){_0x54b96b=_0x54b96b||0x1f4;return function(_0x25d5e4){logger[_0xdbf9('0x9')](_0x25d5e4[_0xdbf9('0xd')]);if(_0x25d5e4[_0xdbf9('0xe')]){delete _0x25d5e4['name'];}_0x234f82[_0xdbf9('0xf')](_0x54b96b)['send'](_0x25d5e4);};}function findById(_0x533482){return function(_0x470a07){if(!_[_0xdbf9('0x10')](_0x533482)&&!_[_0xdbf9('0x10')](_0x470a07)&&!_[_0xdbf9('0x10')](_0x470a07[_0xdbf9('0x11')])){return _['find'](_0x470a07[_0xdbf9('0x11')],function(_0x58a306){return _0x58a306['id']==_0x533482;});}return null;};}exports[_0xdbf9('0x12')]=function(_0x384a7a,_0x10d025){return respondWithRpcPromise('VoiceChannels',_0x384a7a[_0xdbf9('0x13')])['then'](respondWithResult(_0x10d025,null))[_0xdbf9('0xb')](handleError(_0x10d025,null));};exports['voiceChannelMixMonitor']=function(_0x362b6a,_0x523425){return respondWithRpcPromise(_0xdbf9('0x14'),_['merge'](_0x362b6a[_0xdbf9('0x13')],_0x362b6a[_0xdbf9('0x15')]))[_0xdbf9('0x8')](respondWithResult(_0x523425,null))[_0xdbf9('0xb')](handleError(_0x523425,null));};exports[_0xdbf9('0x16')]=function(_0x181332,_0x5083a6){return respondWithRpcPromise(_0xdbf9('0x17'),_['merge'](_0x181332[_0xdbf9('0x13')],_0x181332['params']))[_0xdbf9('0x8')](respondWithResult(_0x5083a6,null))[_0xdbf9('0xb')](handleError(_0x5083a6,null));};exports[_0xdbf9('0x18')]=function(_0x462865,_0x255f7a){return respondWithRpcPromise(_0xdbf9('0x19'),_0x462865[_0xdbf9('0x13')])[_0xdbf9('0x8')](respondWithResult(_0x255f7a,null))[_0xdbf9('0xb')](handleError(_0x255f7a,null));};exports[_0xdbf9('0x1a')]=function(_0x558a8d,_0x386517){return respondWithRpcPromise(_0xdbf9('0x19'),_0x558a8d['query'])['then'](findById(_0x558a8d['params']['id']))[_0xdbf9('0x8')](respondWithResult(_0x386517,null))['catch'](handleError(_0x386517,null));};exports['voiceQueuesPreview']=function(_0xcd26e3,_0x3741c8){return respondWithRpcPromise(_0xdbf9('0x1b'),_[_0xdbf9('0x1c')](_0xcd26e3[_0xdbf9('0x13')],_0xcd26e3['params']))[_0xdbf9('0x8')](respondWithResult(_0x3741c8,null))['catch'](handleError(_0x3741c8,null));};exports[_0xdbf9('0x1d')]=function(_0x36cb92,_0x502489){return respondWithRpcPromise(_0xdbf9('0x1e'),_0x36cb92[_0xdbf9('0x13')])['then'](respondWithResult(_0x502489,null))[_0xdbf9('0xb')](handleError(_0x502489,null));};exports['voiceQueuesChannel']=function(_0x3a42c7,_0x507fc3){return respondWithRpcPromise('VoiceQueuesChannel',_['merge'](_0x3a42c7[_0xdbf9('0x13')],_0x3a42c7['params']))[_0xdbf9('0x8')](respondWithResult(_0x507fc3,null))[_0xdbf9('0xb')](handleError(_0x507fc3,null));};exports[_0xdbf9('0x1f')]=function(_0x23c60a,_0x3d9486){return respondWithRpcPromise(_0xdbf9('0x20'),_[_0xdbf9('0x1c')](_0x23c60a[_0xdbf9('0x13')],_0x23c60a[_0xdbf9('0x15')]))[_0xdbf9('0x8')](respondWithResult(_0x3d9486,null))[_0xdbf9('0xb')](handleError(_0x3d9486,null));};exports[_0xdbf9('0x21')]=function(_0x11bc3b,_0x34f704){return respondWithRpcPromise(_0xdbf9('0x22'),_['merge'](_0x11bc3b[_0xdbf9('0x13')],_0x11bc3b[_0xdbf9('0x15')]))[_0xdbf9('0x8')](respondWithResult(_0x34f704,null))[_0xdbf9('0xb')](handleError(_0x34f704,null));};exports[_0xdbf9('0x23')]=function(_0x51c394,_0x54f788){return respondWithRpcPromise(_0xdbf9('0x24'),_0x51c394[_0xdbf9('0x13')])[_0xdbf9('0x8')](respondWithResult(_0x54f788,null))['catch'](handleError(_0x54f788,null));};exports['outboundChannels']=function(_0x52b92b,_0x44fbbb){return respondWithRpcPromise(_0xdbf9('0x25'),_0x52b92b[_0xdbf9('0x13')])[_0xdbf9('0x8')](respondWithResult(_0x44fbbb,null))[_0xdbf9('0xb')](handleError(_0x44fbbb,null));};exports[_0xdbf9('0x26')]=function(_0x423a42,_0x365c9c){var _0x5e321a;return respondWithRpcPromise(_0xdbf9('0x27'),_0x423a42[_0xdbf9('0x13')])[_0xdbf9('0x8')](function(_0xa335a3){_0x5e321a=_0xa335a3;return respondWithRpcPromise(_0xdbf9('0x27'),_0x423a42[_0xdbf9('0x13')],routingClient);})['then'](function(_0x105216){return _['merge']({},_0x105216,_0x5e321a);})[_0xdbf9('0x8')](respondWithResult(_0x365c9c,null))[_0xdbf9('0xb')](handleError(_0x365c9c,null));};exports['agentCapacity']=function(_0x1bd323,_0x109040){if(_0x1bd323['body']&&_0x1bd323[_0xdbf9('0x28')][_0xdbf9('0x29')]&&_0x1bd323[_0xdbf9('0x2a')]&&_0x1bd323['user'][_0xdbf9('0xe')]){for(var _0x443f55 in _0x1bd323[_0xdbf9('0x28')][_0xdbf9('0x29')]){if(_0x1bd323[_0xdbf9('0x28')]['interaction']['hasOwnProperty'](_0x443f55)){db[_0xdbf9('0x2b')][_0xdbf9('0x2c')]({'where':{'channel':_0x443f55,'membername':_0x1bd323['user'][_0xdbf9('0xe')],'type':_0xdbf9('0x2d'),'exitAt':null,'uniqueid':_0x1bd323['body'][_0xdbf9('0x29')][_0x443f55]&&_0x1bd323['body']['interaction'][_0x443f55]['length']?{'$notIn':_0x1bd323[_0xdbf9('0x28')]['interaction'][_0x443f55]}:{'$ne':null}}})[_0xdbf9('0x8')](function(_0x398050){var _0x3b1b77=moment()[_0xdbf9('0x2e')](_0xdbf9('0x2f'));for(var _0x23b540=0x0,_0x1faeb1=_0x398050[_0xdbf9('0x30')];_0x23b540<_0x1faeb1;_0x23b540+=0x1){_0x398050[_0x23b540][_0xdbf9('0x31')]({'exitAt':_0x3b1b77});}});for(var _0x202af2=0x0;_0x202af2<_0x1bd323[_0xdbf9('0x28')]['interaction'][_0x443f55][_0xdbf9('0x30')];_0x202af2+=0x1){db[_0xdbf9('0x2b')][_0xdbf9('0x32')]({'where':{'channel':_0x443f55,'membername':_0x1bd323[_0xdbf9('0x2a')][_0xdbf9('0xe')],'type':_0xdbf9('0x2d'),'uniqueid':_0x1bd323[_0xdbf9('0x28')][_0xdbf9('0x29')][_0x443f55][_0x202af2],'exitAt':null},'defaults':{'channel':_0x443f55,'membername':_0x1bd323['user'][_0xdbf9('0xe')],'interface':_[_0xdbf9('0x10')](_0x1bd323[_0xdbf9('0x2a')][_0xdbf9('0x33')])?util[_0xdbf9('0x2e')]('SIP/%s',_0x1bd323[_0xdbf9('0x2a')]['name']):_0x1bd323['user'][_0xdbf9('0x33')],'type':_0xdbf9('0x2d'),'enterAt':moment()['format'](_0xdbf9('0x2f')),'role':_0xdbf9('0x34'),'internal':_0x1bd323[_0xdbf9('0x2a')][_0xdbf9('0x35')],'uniqueid':_0x1bd323['body'][_0xdbf9('0x29')][_0x443f55][_0x202af2]}});}}}}return respondWithRpcPromise(_0xdbf9('0x36'),{'id':_0x1bd323[_0xdbf9('0x15')]['id'],'capacity':_0x1bd323['body'][_0xdbf9('0x37')]},routingClient)[_0xdbf9('0x8')](respondWithResult(_0x109040,null))[_0xdbf9('0xb')](handleError(_0x109040,null));};exports['telephones']=function(_0x5eb210,_0x194387){return respondWithRpcPromise('Telephones',_0x5eb210[_0xdbf9('0x13')])[_0xdbf9('0x8')](respondWithResult(_0x194387,null))[_0xdbf9('0xb')](handleError(_0x194387,null));};exports[_0xdbf9('0x38')]=function(_0x589b20,_0x3b156f){return respondWithRpcPromise(_0xdbf9('0x39'),_0x589b20[_0xdbf9('0x13')])[_0xdbf9('0x8')](respondWithResult(_0x3b156f,null))[_0xdbf9('0xb')](handleError(_0x3b156f,null));};exports['campaigns']=function(_0x9a92c0,_0x14890a){return respondWithRpcPromise(_0xdbf9('0x3a'),_0x9a92c0[_0xdbf9('0x13')])[_0xdbf9('0x8')](respondWithResult(_0x14890a,null))[_0xdbf9('0xb')](handleError(_0x14890a,null));};exports[_0xdbf9('0x3b')]=function(_0x6b74f4,_0x316fd9){return respondWithRpcPromise(_0xdbf9('0x3c'),_0x6b74f4[_0xdbf9('0x13')],routingClient)['then'](respondWithResult(_0x316fd9,null))[_0xdbf9('0xb')](handleError(_0x316fd9,null));};exports[_0xdbf9('0x3d')]=function(_0x3e1fea,_0x2275bb){return respondWithRpcPromise(_0xdbf9('0x3c'),_0x3e1fea[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](findById(_0x3e1fea[_0xdbf9('0x15')]['id']))[_0xdbf9('0x8')](respondWithResult(_0x2275bb,null))['catch'](handleError(_0x2275bb,null));};exports[_0xdbf9('0x3e')]=function(_0x5f077e,_0x5ccb65){return respondWithRpcPromise('MailQueues',_0x5f077e['query'],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x5ccb65,null))['catch'](handleError(_0x5ccb65,null));};exports['showMailQueues']=function(_0x486fb7,_0x57aa6c){return respondWithRpcPromise(_0xdbf9('0x3f'),_0x486fb7[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](findById(_0x486fb7['params']['id']))[_0xdbf9('0x8')](respondWithResult(_0x57aa6c,null))[_0xdbf9('0xb')](handleError(_0x57aa6c,null));};exports[_0xdbf9('0x40')]=function(_0x170c4d,_0x5ce376){return respondWithRpcPromise(_0xdbf9('0x41'),_0x170c4d[_0xdbf9('0x13')],mailClient)['then'](respondWithResult(_0x5ce376,null))[_0xdbf9('0xb')](handleError(_0x5ce376,null));};exports[_0xdbf9('0x42')]=function(_0x4d7a81,_0x18ac6c){return respondWithRpcPromise(_0xdbf9('0x43'),_0x4d7a81[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x18ac6c,null))['catch'](handleError(_0x18ac6c,null));};exports[_0xdbf9('0x44')]=function(_0x23ff71,_0xd3af73){return respondWithRpcPromise(_0xdbf9('0x43'),_0x23ff71['query'],routingClient)[_0xdbf9('0x8')](findById(_0x23ff71[_0xdbf9('0x15')]['id']))[_0xdbf9('0x8')](respondWithResult(_0xd3af73,null))[_0xdbf9('0xb')](handleError(_0xd3af73,null));};exports['smsQueues']=function(_0x339b52,_0x361843){return respondWithRpcPromise('SmsQueues',_0x339b52[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x361843,null))[_0xdbf9('0xb')](handleError(_0x361843,null));};exports[_0xdbf9('0x45')]=function(_0x120f1f,_0x2da7ae){return respondWithRpcPromise(_0xdbf9('0x46'),_0x120f1f[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](findById(_0x120f1f['params']['id']))['then'](respondWithResult(_0x2da7ae,null))[_0xdbf9('0xb')](handleError(_0x2da7ae,null));};exports[_0xdbf9('0x47')]=function(_0x537df7,_0x5ef567){return respondWithRpcPromise(_0xdbf9('0x48'),_0x537df7[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x5ef567,null))[_0xdbf9('0xb')](handleError(_0x5ef567,null));};exports[_0xdbf9('0x49')]=function(_0x54648a,_0x2724ee){return respondWithRpcPromise(_0xdbf9('0x48'),_0x54648a[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](findById(_0x54648a[_0xdbf9('0x15')]['id']))[_0xdbf9('0x8')](respondWithResult(_0x2724ee,null))[_0xdbf9('0xb')](handleError(_0x2724ee,null));};exports[_0xdbf9('0x4a')]=function(_0x34f178,_0x357684){return respondWithRpcPromise(_0xdbf9('0x4b'),_0x34f178[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x357684,null))[_0xdbf9('0xb')](handleError(_0x357684,null));};exports['showFaxQueues']=function(_0x1970b6,_0x3dfd61){return respondWithRpcPromise(_0xdbf9('0x4b'),_0x1970b6[_0xdbf9('0x13')],routingClient)['then'](findById(_0x1970b6[_0xdbf9('0x15')]['id']))[_0xdbf9('0x8')](respondWithResult(_0x3dfd61,null))[_0xdbf9('0xb')](handleError(_0x3dfd61,null));};exports[_0xdbf9('0x4c')]=function(_0x2597b2,_0x232d5e){return respondWithRpcPromise(_0xdbf9('0x4d'),_0x2597b2['query'])['then'](respondWithResult(_0x232d5e,null))[_0xdbf9('0xb')](handleError(_0x232d5e,null));};exports['chatQueuesWaitingInteractions']=function(_0x490dfe,_0x33e289){return respondWithRpcPromise(_0xdbf9('0x4e'),_0x490dfe[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x33e289,null))['catch'](handleError(_0x33e289,null));};exports[_0xdbf9('0x4f')]=function(_0x46fadb,_0x4b4fbb){return respondWithRpcPromise(_0xdbf9('0x50'),_0x46fadb['query'],routingClient)['then'](respondWithResult(_0x4b4fbb,null))[_0xdbf9('0xb')](handleError(_0x4b4fbb,null));};exports[_0xdbf9('0x51')]=function(_0x1922e6,_0x12aac2){return respondWithRpcPromise(_0xdbf9('0x52'),_0x1922e6[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x12aac2,null))[_0xdbf9('0xb')](handleError(_0x12aac2,null));};exports[_0xdbf9('0x53')]=function(_0x1ed8c4,_0x2dabc9){return respondWithRpcPromise(_0xdbf9('0x52'),_0x1ed8c4[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](function(_0x132dcb){if(_0x1ed8c4[_0xdbf9('0x13')][_0xdbf9('0x54')]!==undefined){var _0xcd420=_(_0x132dcb[_0xdbf9('0x11')])[_0xdbf9('0x55')]([_0x1ed8c4['query'][_0xdbf9('0x54')],_0x1ed8c4[_0xdbf9('0x15')]['id']])['map'](_0xdbf9('0x56'))['uniq']()[_0xdbf9('0x57')]();return _0x132dcb['rows'][_0xdbf9('0x55')](function(_0x41c626){return _0xcd420[_0xdbf9('0x58')](_0x41c626[_0xdbf9('0x56')])>-0x1;});}else{return _0x132dcb[_0xdbf9('0x11')]['filter'](function(_0xedfb9b){return _0xedfb9b[_0xdbf9('0x56')]===parseInt(_0x1ed8c4[_0xdbf9('0x15')]['id']);});}})[_0xdbf9('0x8')](respondWithResult(_0x2dabc9,null))['catch'](handleError(_0x2dabc9,null));};exports[_0xdbf9('0x59')]=function(_0x340f50,_0x5ed2f2){return respondWithRpcPromise(_0xdbf9('0x5a'),_0x340f50[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x5ed2f2,null))[_0xdbf9('0xb')](handleError(_0x5ed2f2,null));};exports[_0xdbf9('0x5b')]=function(_0x3dcb54,_0x60bc55){return respondWithRpcPromise('WhatsappQueuesWaitingInteractions',_0x3dcb54[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x60bc55,null))['catch'](handleError(_0x60bc55,null));};exports[_0xdbf9('0x5c')]=function(_0x2e495f,_0x269009){return respondWithRpcPromise(_0xdbf9('0x5d'),_0x2e495f[_0xdbf9('0x13')],routingClient)[_0xdbf9('0x8')](respondWithResult(_0x269009,null))['catch'](handleError(_0x269009,null));};exports[_0xdbf9('0x5e')]=function(_0x3f1db0){return function(_0x291420,_0x371b1c){var _0x2b4871,_0x4277a8;var _0x35320d=_[_0xdbf9('0x5f')](_0x3f1db0);var _0x53dcba=_0x3f1db0==='chat'?_0xdbf9('0x60'):'Account';return db[_0x35320d+_0xdbf9('0x61')]['findOne']({'raw':!![],'where':{'id':_0x291420[_0xdbf9('0x15')]['id']}})[_0xdbf9('0x8')](function(_0x16abf7){if(_[_0xdbf9('0x10')](_0x16abf7)){throw new Error(_0x35320d+_0xdbf9('0x62'));}_0x2b4871=_0x16abf7;return db[_0x35320d+_0xdbf9('0x63')]['findOne']({'where':{'id':_0x291420[_0xdbf9('0x28')][_0xdbf9('0x64')]},'include':[{'model':db[_0x35320d+_0xdbf9('0x65')],'as':_0xdbf9('0x65')},{'model':db[_0x35320d+_0x53dcba],'as':_0xdbf9('0x66')}]});})[_0xdbf9('0x8')](function(_0x4309fb){if(_[_0xdbf9('0x10')](_0x4309fb)){throw new Error(_0x35320d+_0xdbf9('0x67'));}_0x4277a8=_0x4309fb;return _0x4309fb['update']({'read':0x0,'readAt':null,'UserId':null});})[_0xdbf9('0x8')](function(){var _0x30be14={'uniqueid':_0x3f1db0+'.'+_0x4277a8['id']+'.'+_0x4277a8['Interaction']['id'],'FromUserId':_0x291420[_0xdbf9('0x2a')]['id'],'type':'queue'};_0x30be14[_0x35320d+_0xdbf9('0x68')]=_0x4277a8['id'];_0x30be14[_0x35320d+_0xdbf9('0x69')]=_0x4277a8['Interaction']['id'];_0x30be14[_0xdbf9('0x6a')+_0x35320d+_0x53dcba+'Id']=_0x4277a8[_0xdbf9('0x66')]['id'];_0x30be14['To'+_0x35320d+_0xdbf9('0x6b')]=_0x2b4871['id'];return db[_0x35320d+_0xdbf9('0x6c')][_0xdbf9('0x6d')](_0x30be14);})['then'](function(){return respondWithRpcPromise('Start',{'channel':_0x3f1db0,'interaction':_0x4277a8[_0xdbf9('0x65')],'message':_0x4277a8,'account':_0x4277a8[_0xdbf9('0x66')],'applications':[{'id':0x0,'priority':0x1,'app':_0xdbf9('0x6e'),'appdata':_0x2b4871[_0xdbf9('0xe')]+','+(_0x4277a8[_0xdbf9('0x66')][_0xdbf9('0x6f')]||0x12c),'interval':_0xdbf9('0x70')}]},routingClient);})[_0xdbf9('0x8')](respondWithResult(_0x371b1c,null))[_0xdbf9('0xb')](handleError(_0x371b1c,null));};};exports[_0xdbf9('0x71')]=function(_0x1ba24a,_0x147081){var _0x37c822,_0x16b704;if(_[_0xdbf9('0x10')](_0x1ba24a[_0xdbf9('0x28')]['channel'])){throw new Error('Channel\x20field\x20is\x20mandatory');}var _0x52079f=_0x1ba24a[_0xdbf9('0x28')]['channel'];var _0x1053f4=_[_0xdbf9('0x5f')](_0x52079f);var _0x46de1d=_0x52079f===_0xdbf9('0x72')?_0xdbf9('0x60'):_0xdbf9('0x66');return db[_0xdbf9('0x73')][_0xdbf9('0x74')]({'raw':!![],'where':{'id':_0x1ba24a[_0xdbf9('0x15')]['id'],'role':_0xdbf9('0x34')}})[_0xdbf9('0x8')](function(_0x5e3eec){if(_[_0xdbf9('0x10')](_0x5e3eec)){throw new Error('Agent\x20not\x20found');}_0x37c822=_0x5e3eec;return db[_0x1053f4+_0xdbf9('0x63')][_0xdbf9('0x74')]({'where':{'id':_0x1ba24a[_0xdbf9('0x28')][_0xdbf9('0x64')]},'include':[{'model':db[_0x1053f4+_0xdbf9('0x65')],'as':'Interaction'},{'model':db[_0x1053f4+_0x46de1d],'as':_0xdbf9('0x66')}]});})['then'](function(_0x3c6979){if(_[_0xdbf9('0x10')](_0x3c6979)){throw new Error(_0x1053f4+_0xdbf9('0x67'));}_0x16b704=_0x3c6979;return _0x3c6979[_0xdbf9('0x75')]({'read':0x0,'readAt':null,'UserId':null});})[_0xdbf9('0x8')](function(){var _0x47d8b3={'uniqueid':_0x52079f+'.'+_0x16b704['id']+'.'+_0x16b704[_0xdbf9('0x65')]['id'],'FromUserId':_0x1ba24a['user']['id'],'type':_0xdbf9('0x6e'),'ToUserId':_0x37c822['id']};_0x47d8b3[_0x1053f4+_0xdbf9('0x68')]=_0x16b704['id'];_0x47d8b3[_0x1053f4+_0xdbf9('0x69')]=_0x16b704[_0xdbf9('0x65')]['id'];_0x47d8b3[_0xdbf9('0x6a')+_0x1053f4+_0x46de1d+'Id']=_0x16b704[_0xdbf9('0x66')]['id'];return db[_0x1053f4+'TransferReport'][_0xdbf9('0x6d')](_0x47d8b3);})['then'](function(){return respondWithRpcPromise(_0xdbf9('0x76'),{'channel':_0x52079f,'interaction':_0x16b704[_0xdbf9('0x65')],'message':_0x16b704,'account':_0x16b704[_0xdbf9('0x66')],'applications':[{'id':0x0,'priority':0x1,'app':'agent','appdata':_0x37c822[_0xdbf9('0xe')]+','+(_0x16b704[_0xdbf9('0x66')][_0xdbf9('0x77')]||0x12c),'interval':'*,*,*,*'}]},routingClient);})[_0xdbf9('0x8')](respondWithResult(_0x147081,null))[_0xdbf9('0xb')](handleError(_0x147081,null));};