c476e0463c5254258b347a8f2b8563f13e446f20
[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 _0x0e85=['util','../../mysqldb','client','http','request','error','code','message','status','json','sendStatus','stack','send','isNil','find','rows','voiceChannels','VoiceChannels','then','voiceChannelMixMonitor','VoiceChannelMixMonitor','merge','params','voiceChannelStopMixMonitor','VoiceChannelStopMixMonitor','catch','voiceQueues','VoiceQueues','query','showVoiceQueues','updateVoiceQueue','body','voiceQueuesPreview','VoiceQueuesPreview','voiceQueuesChannels','VoiceQueuesChannels','voiceQueuesChannel','voiceQueuesChannelRedirect','VoiceQueuesChannelRedirect','Outbound','outboundChannels','OutboundChannels','agents','Agents','agentCapacity','interaction','user','name','hasOwnProperty','MemberReport','findAll','format','length','updateAttributes','findOrCreate','INTERACTION','interface','YYYY-MM-DD\x20HH:mm:ss','agent','internal','AgentCapacity','capacity','Telephones','trunks','Trunks','Campaigns','chatQueues','ChatQueues','showChatQueues','showMailQueues','MailQueues','MailAccounts','openchannelQueues','OpenchannelQueues','smsQueues','SmsQueues','showSmsQueues','WhatsappQueues','faxQueues','FaxQueues','showFaxQueues','FaxAccounts','chatQueuesWaitingInteractions','ChatQueuesWaitingInteractions','mailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','OpenchannelQueuesWaitingInteractions','openchannelQueuesIdWaitingInteractions','type','filter','queue_id','uniq','value','smsQueuesWaitingInteractions','SmsQueuesWaitingInteractions','whatsappQueuesWaitingInteractions','WhatsappQueuesWaitingInteractions','faxQueuesWaitingInteractions','FaxQueuesWaitingInteractions','queueNotify','chat','Account','findOne','\x20Queue\x20not\x20found','Message','Interaction','update','queue','From','QueueId','TransferReport','Start','queueTransferTimeout','channel','Channel\x20field\x20is\x20mandatory','capitalize','Website','User','Agent\x20not\x20found','\x20Message\x20not\x20found','MessageId','InteractionId','create','*,*,*,*','bluebird','moment'];(function(_0x54c081,_0x336a48){var _0x2a99dd=function(_0x2536bd){while(--_0x2536bd){_0x54c081['push'](_0x54c081['shift']());}};_0x2a99dd(++_0x336a48);}(_0x0e85,0x7c));var _0x50e8=function(_0x1a72f3,_0x217011){_0x1a72f3=_0x1a72f3-0x0;var _0x57ef47=_0x0e85[_0x1a72f3];return _0x57ef47;};'use strict';var BPromise=require(_0x50e8('0x0'));var moment=require(_0x50e8('0x1'));var _=require('lodash');var util=require(_0x50e8('0x2'));var db=require(_0x50e8('0x3'))['db'];var logger=require('../../config/logger')('api');var jayson=require('jayson/promise');var amiClient=jayson[_0x50e8('0x4')]['http']({'port':0x232a});var mailClient=jayson[_0x50e8('0x4')][_0x50e8('0x5')]({'port':0x232b});var routingClient=jayson[_0x50e8('0x4')][_0x50e8('0x5')]({'port':0x232c});function respondWithRpcPromise(_0x5e8b01,_0x3ce904,_0x108edc){return new BPromise(function(_0x42665e,_0x988da0){var _0x1fafb0=_0x108edc?_0x108edc:amiClient;return _0x1fafb0[_0x50e8('0x6')](_0x5e8b01,_0x3ce904)['then'](function(_0x11717c){if(_0x11717c[_0x50e8('0x7')]){if(_0x11717c[_0x50e8('0x7')][_0x50e8('0x8')]===0x1f4){return _0x988da0(_0x11717c[_0x50e8('0x7')][_0x50e8('0x9')]);}return _0x42665e(_0x11717c[_0x50e8('0x7')][_0x50e8('0x9')]);}else{_0x42665e(_0x11717c['result']);}})['catch'](function(_0xfc6bb9){_0x988da0(_0xfc6bb9);});});}function respondWithResult(_0x24d381,_0x508377){_0x508377=_0x508377||0xc8;return function(_0x49e02f){if(_0x49e02f){return _0x24d381[_0x50e8('0xa')](_0x508377)[_0x50e8('0xb')](_0x49e02f);}return _0x24d381[_0x50e8('0xc')](0x194);};}function handleError(_0x473aa7,_0x54efd3){_0x54efd3=_0x54efd3||0x1f4;return function(_0x18596f){logger[_0x50e8('0x7')](_0x18596f[_0x50e8('0xd')]);if(_0x18596f['name']){delete _0x18596f['name'];}_0x473aa7[_0x50e8('0xa')](_0x54efd3)[_0x50e8('0xe')](_0x18596f);};}function findById(_0x40c184){return function(_0x291fb7){if(!_[_0x50e8('0xf')](_0x40c184)&&!_[_0x50e8('0xf')](_0x291fb7)&&!_['isNil'](_0x291fb7['rows'])){return _[_0x50e8('0x10')](_0x291fb7[_0x50e8('0x11')],function(_0x40d060){return _0x40d060['id']==_0x40c184;});}return null;};}exports[_0x50e8('0x12')]=function(_0x5dae4e,_0x90c54c){return respondWithRpcPromise(_0x50e8('0x13'),_0x5dae4e['query'])[_0x50e8('0x14')](respondWithResult(_0x90c54c,null))['catch'](handleError(_0x90c54c,null));};exports[_0x50e8('0x15')]=function(_0xe04a5c,_0xd263d){return respondWithRpcPromise(_0x50e8('0x16'),_[_0x50e8('0x17')](_0xe04a5c['query'],_0xe04a5c[_0x50e8('0x18')]))[_0x50e8('0x14')](respondWithResult(_0xd263d,null))['catch'](handleError(_0xd263d,null));};exports[_0x50e8('0x19')]=function(_0x41500f,_0x5691b2){return respondWithRpcPromise(_0x50e8('0x1a'),_[_0x50e8('0x17')](_0x41500f['query'],_0x41500f['params']))['then'](respondWithResult(_0x5691b2,null))[_0x50e8('0x1b')](handleError(_0x5691b2,null));};exports[_0x50e8('0x1c')]=function(_0x124402,_0x371a1f){return respondWithRpcPromise(_0x50e8('0x1d'),_0x124402[_0x50e8('0x1e')])['then'](respondWithResult(_0x371a1f,null))[_0x50e8('0x1b')](handleError(_0x371a1f,null));};exports[_0x50e8('0x1f')]=function(_0x4b3a09,_0x177201){return respondWithRpcPromise(_0x50e8('0x1d'),_0x4b3a09[_0x50e8('0x1e')])[_0x50e8('0x14')](findById(_0x4b3a09['params']['id']))[_0x50e8('0x14')](respondWithResult(_0x177201,null))['catch'](handleError(_0x177201,null));};exports[_0x50e8('0x20')]=function(_0x39c0c6,_0x42bbef){return respondWithRpcPromise('UpdateVoiceQueue',_[_0x50e8('0x17')](_0x39c0c6[_0x50e8('0x21')],_0x39c0c6[_0x50e8('0x18')]))[_0x50e8('0x14')](respondWithResult(_0x42bbef,null))[_0x50e8('0x1b')](handleError(_0x42bbef,null));};exports[_0x50e8('0x22')]=function(_0x2c6fb3,_0x54d81d){return respondWithRpcPromise(_0x50e8('0x23'),_[_0x50e8('0x17')](_0x2c6fb3['query'],_0x2c6fb3['params']))[_0x50e8('0x14')](respondWithResult(_0x54d81d,null))[_0x50e8('0x1b')](handleError(_0x54d81d,null));};exports[_0x50e8('0x24')]=function(_0x47ace2,_0x594187){return respondWithRpcPromise(_0x50e8('0x25'),_0x47ace2[_0x50e8('0x1e')])['then'](respondWithResult(_0x594187,null))[_0x50e8('0x1b')](handleError(_0x594187,null));};exports[_0x50e8('0x26')]=function(_0x38df5a,_0x40e09d){return respondWithRpcPromise('VoiceQueuesChannel',_[_0x50e8('0x17')](_0x38df5a['query'],_0x38df5a[_0x50e8('0x18')]))[_0x50e8('0x14')](respondWithResult(_0x40e09d,null))[_0x50e8('0x1b')](handleError(_0x40e09d,null));};exports['voiceQueuesChannelHangup']=function(_0x306816,_0x40f566){return respondWithRpcPromise('VoiceQueuesChannelHangup',_[_0x50e8('0x17')](_0x306816[_0x50e8('0x1e')],_0x306816[_0x50e8('0x18')]))[_0x50e8('0x14')](respondWithResult(_0x40f566,null))['catch'](handleError(_0x40f566,null));};exports[_0x50e8('0x27')]=function(_0x40dbe8,_0x24d3ea){return respondWithRpcPromise(_0x50e8('0x28'),_['merge'](_0x40dbe8[_0x50e8('0x1e')],_0x40dbe8[_0x50e8('0x18')]))[_0x50e8('0x14')](respondWithResult(_0x24d3ea,null))['catch'](handleError(_0x24d3ea,null));};exports['outbound']=function(_0x5dff99,_0xd39553){return respondWithRpcPromise(_0x50e8('0x29'),_0x5dff99[_0x50e8('0x1e')])[_0x50e8('0x14')](respondWithResult(_0xd39553,null))[_0x50e8('0x1b')](handleError(_0xd39553,null));};exports[_0x50e8('0x2a')]=function(_0xb566c2,_0x40b57c){return respondWithRpcPromise(_0x50e8('0x2b'),_0xb566c2[_0x50e8('0x1e')])['then'](respondWithResult(_0x40b57c,null))[_0x50e8('0x1b')](handleError(_0x40b57c,null));};exports[_0x50e8('0x2c')]=function(_0x2379cf,_0x2bf413){var _0x5dbbe1;return respondWithRpcPromise(_0x50e8('0x2d'),_0x2379cf[_0x50e8('0x1e')])[_0x50e8('0x14')](function(_0x169b4f){_0x5dbbe1=_0x169b4f;return respondWithRpcPromise(_0x50e8('0x2d'),_0x2379cf['query'],routingClient);})['then'](function(_0x81e6f3){return _[_0x50e8('0x17')]({},_0x81e6f3,_0x5dbbe1);})['then'](respondWithResult(_0x2bf413,null))[_0x50e8('0x1b')](handleError(_0x2bf413,null));};exports[_0x50e8('0x2e')]=function(_0x3db1ab,_0x3179a0){if(_0x3db1ab[_0x50e8('0x21')]&&_0x3db1ab[_0x50e8('0x21')][_0x50e8('0x2f')]&&_0x3db1ab[_0x50e8('0x30')]&&_0x3db1ab['user'][_0x50e8('0x31')]){for(var _0x44e0ca in _0x3db1ab[_0x50e8('0x21')][_0x50e8('0x2f')]){if(_0x3db1ab['body'][_0x50e8('0x2f')][_0x50e8('0x32')](_0x44e0ca)){db[_0x50e8('0x33')][_0x50e8('0x34')]({'where':{'channel':_0x44e0ca,'membername':_0x3db1ab['user'][_0x50e8('0x31')],'type':'INTERACTION','exitAt':null,'uniqueid':_0x3db1ab['body']['interaction'][_0x44e0ca]&&_0x3db1ab[_0x50e8('0x21')][_0x50e8('0x2f')][_0x44e0ca]['length']?{'$notIn':_0x3db1ab[_0x50e8('0x21')][_0x50e8('0x2f')][_0x44e0ca]}:{'$ne':null}}})[_0x50e8('0x14')](function(_0x6e37ad){var _0x387481=moment()[_0x50e8('0x35')]('YYYY-MM-DD\x20HH:mm:ss');for(var _0x16fdf6=0x0,_0x596f62=_0x6e37ad[_0x50e8('0x36')];_0x16fdf6<_0x596f62;_0x16fdf6+=0x1){_0x6e37ad[_0x16fdf6][_0x50e8('0x37')]({'exitAt':_0x387481});}});for(var _0x537762=0x0;_0x537762<_0x3db1ab[_0x50e8('0x21')]['interaction'][_0x44e0ca][_0x50e8('0x36')];_0x537762+=0x1){db[_0x50e8('0x33')][_0x50e8('0x38')]({'where':{'channel':_0x44e0ca,'membername':_0x3db1ab[_0x50e8('0x30')][_0x50e8('0x31')],'type':_0x50e8('0x39'),'uniqueid':_0x3db1ab[_0x50e8('0x21')][_0x50e8('0x2f')][_0x44e0ca][_0x537762],'exitAt':null},'defaults':{'channel':_0x44e0ca,'membername':_0x3db1ab[_0x50e8('0x30')][_0x50e8('0x31')],'interface':_[_0x50e8('0xf')](_0x3db1ab['user'][_0x50e8('0x3a')])?util[_0x50e8('0x35')]('SIP/%s',_0x3db1ab[_0x50e8('0x30')]['name']):_0x3db1ab[_0x50e8('0x30')]['interface'],'type':_0x50e8('0x39'),'enterAt':moment()[_0x50e8('0x35')](_0x50e8('0x3b')),'role':_0x50e8('0x3c'),'internal':_0x3db1ab[_0x50e8('0x30')][_0x50e8('0x3d')],'uniqueid':_0x3db1ab[_0x50e8('0x21')]['interaction'][_0x44e0ca][_0x537762]}});}}}}return respondWithRpcPromise(_0x50e8('0x3e'),{'id':_0x3db1ab[_0x50e8('0x18')]['id'],'capacity':_0x3db1ab[_0x50e8('0x21')][_0x50e8('0x3f')]},routingClient)[_0x50e8('0x14')](respondWithResult(_0x3179a0,null))[_0x50e8('0x1b')](handleError(_0x3179a0,null));};exports['telephones']=function(_0x5122a2,_0x250b28){return respondWithRpcPromise(_0x50e8('0x40'),_0x5122a2[_0x50e8('0x1e')])['then'](respondWithResult(_0x250b28,null))[_0x50e8('0x1b')](handleError(_0x250b28,null));};exports[_0x50e8('0x41')]=function(_0x3476c5,_0x15db71){return respondWithRpcPromise(_0x50e8('0x42'),_0x3476c5[_0x50e8('0x1e')])[_0x50e8('0x14')](respondWithResult(_0x15db71,null))['catch'](handleError(_0x15db71,null));};exports['campaigns']=function(_0x55083e,_0x2b54ad){return respondWithRpcPromise(_0x50e8('0x43'),_0x55083e[_0x50e8('0x1e')])[_0x50e8('0x14')](respondWithResult(_0x2b54ad,null))[_0x50e8('0x1b')](handleError(_0x2b54ad,null));};exports[_0x50e8('0x44')]=function(_0x566723,_0x2f2154){return respondWithRpcPromise(_0x50e8('0x45'),_0x566723[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](respondWithResult(_0x2f2154,null))['catch'](handleError(_0x2f2154,null));};exports[_0x50e8('0x46')]=function(_0xf773fd,_0x373b41){return respondWithRpcPromise(_0x50e8('0x45'),_0xf773fd[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](findById(_0xf773fd['params']['id']))[_0x50e8('0x14')](respondWithResult(_0x373b41,null))['catch'](handleError(_0x373b41,null));};exports['mailQueues']=function(_0x5af2a4,_0x23216a){return respondWithRpcPromise('MailQueues',_0x5af2a4[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](respondWithResult(_0x23216a,null))[_0x50e8('0x1b')](handleError(_0x23216a,null));};exports[_0x50e8('0x47')]=function(_0x279cf4,_0x12224d){return respondWithRpcPromise(_0x50e8('0x48'),_0x279cf4['query'],routingClient)[_0x50e8('0x14')](findById(_0x279cf4[_0x50e8('0x18')]['id']))[_0x50e8('0x14')](respondWithResult(_0x12224d,null))['catch'](handleError(_0x12224d,null));};exports['mailAccounts']=function(_0x53dcdc,_0x3d7311){return respondWithRpcPromise(_0x50e8('0x49'),_0x53dcdc[_0x50e8('0x1e')],mailClient)[_0x50e8('0x14')](respondWithResult(_0x3d7311,null))[_0x50e8('0x1b')](handleError(_0x3d7311,null));};exports[_0x50e8('0x4a')]=function(_0x583d6a,_0x42c2d0){return respondWithRpcPromise('OpenchannelQueues',_0x583d6a[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](respondWithResult(_0x42c2d0,null))['catch'](handleError(_0x42c2d0,null));};exports['showOpenchannelQueues']=function(_0x51775a,_0x2eed72){return respondWithRpcPromise(_0x50e8('0x4b'),_0x51775a['query'],routingClient)[_0x50e8('0x14')](findById(_0x51775a[_0x50e8('0x18')]['id']))[_0x50e8('0x14')](respondWithResult(_0x2eed72,null))[_0x50e8('0x1b')](handleError(_0x2eed72,null));};exports[_0x50e8('0x4c')]=function(_0x47b428,_0x125e92){return respondWithRpcPromise(_0x50e8('0x4d'),_0x47b428[_0x50e8('0x1e')],routingClient)['then'](respondWithResult(_0x125e92,null))['catch'](handleError(_0x125e92,null));};exports[_0x50e8('0x4e')]=function(_0x44e9a2,_0xd21879){return respondWithRpcPromise(_0x50e8('0x4d'),_0x44e9a2[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](findById(_0x44e9a2['params']['id']))['then'](respondWithResult(_0xd21879,null))[_0x50e8('0x1b')](handleError(_0xd21879,null));};exports['whatsappQueues']=function(_0x1fc530,_0x36a288){return respondWithRpcPromise('WhatsappQueues',_0x1fc530[_0x50e8('0x1e')],routingClient)['then'](respondWithResult(_0x36a288,null))['catch'](handleError(_0x36a288,null));};exports['showWhatsappQueues']=function(_0x22b6f3,_0x2d4fe8){return respondWithRpcPromise(_0x50e8('0x4f'),_0x22b6f3[_0x50e8('0x1e')],routingClient)['then'](findById(_0x22b6f3['params']['id']))[_0x50e8('0x14')](respondWithResult(_0x2d4fe8,null))[_0x50e8('0x1b')](handleError(_0x2d4fe8,null));};exports[_0x50e8('0x50')]=function(_0x3ac7cc,_0x20c5e8){return respondWithRpcPromise(_0x50e8('0x51'),_0x3ac7cc[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](respondWithResult(_0x20c5e8,null))[_0x50e8('0x1b')](handleError(_0x20c5e8,null));};exports[_0x50e8('0x52')]=function(_0x109920,_0x38b535){return respondWithRpcPromise(_0x50e8('0x51'),_0x109920[_0x50e8('0x1e')],routingClient)[_0x50e8('0x14')](findById(_0x109920[_0x50e8('0x18')]['id']))[_0x50e8('0x14')](respondWithResult(_0x38b535,null))[_0x50e8('0x1b')](handleError(_0x38b535,null));};exports['faxAccounts']=function(_0x35a382,_0x474978){return respondWithRpcPromise(_0x50e8('0x53'),_0x35a382[_0x50e8('0x1e')])['then'](respondWithResult(_0x474978,null))[_0x50e8('0x1b')](handleError(_0x474978,null));};exports[_0x50e8('0x54')]=function(_0x26c505,_0x161a07){return respondWithRpcPromise(_0x50e8('0x55'),_0x26c505[_0x50e8('0x1e')],routingClient)['then'](respondWithResult(_0x161a07,null))[_0x50e8('0x1b')](handleError(_0x161a07,null));};exports[_0x50e8('0x56')]=function(_0x19e44c,_0x13667e){return respondWithRpcPromise('MailQueuesWaitingInteractions',_0x19e44c[_0x50e8('0x1e')],routingClient)['then'](respondWithResult(_0x13667e,null))[_0x50e8('0x1b')](handleError(_0x13667e,null));};exports[_0x50e8('0x57')]=function(_0x365c9e,_0x1637b2){return respondWithRpcPromise(_0x50e8('0x58'),_0x365c9e['query'],routingClient)[_0x50e8('0x14')](respondWithResult(_0x1637b2,null))[_0x50e8('0x1b')](handleError(_0x1637b2,null));};exports[_0x50e8('0x59')]=function(_0x309015,_0x3a3820){return respondWithRpcPromise(_0x50e8('0x58'),_0x309015['query'],routingClient)[_0x50e8('0x14')](function(_0x1cc566){if(_0x309015['query'][_0x50e8('0x5a')]!==undefined){var _0x2fc1b6=_(_0x1cc566['rows'])[_0x50e8('0x5b')]([_0x309015['query'][_0x50e8('0x5a')],_0x309015[_0x50e8('0x18')]['id']])['map'](_0x50e8('0x5c'))[_0x50e8('0x5d')]()[_0x50e8('0x5e')]();return _0x1cc566[_0x50e8('0x11')]['filter'](function(_0xf21b2f){return _0x2fc1b6['indexOf'](_0xf21b2f[_0x50e8('0x5c')])>-0x1;});}else{return _0x1cc566[_0x50e8('0x11')]['filter'](function(_0x68342){return _0x68342[_0x50e8('0x5c')]===parseInt(_0x309015[_0x50e8('0x18')]['id']);});}})[_0x50e8('0x14')](respondWithResult(_0x3a3820,null))[_0x50e8('0x1b')](handleError(_0x3a3820,null));};exports[_0x50e8('0x5f')]=function(_0x2c85a6,_0x410e7b){return respondWithRpcPromise(_0x50e8('0x60'),_0x2c85a6['query'],routingClient)[_0x50e8('0x14')](respondWithResult(_0x410e7b,null))[_0x50e8('0x1b')](handleError(_0x410e7b,null));};exports[_0x50e8('0x61')]=function(_0x5a79c4,_0x7d64e0){return respondWithRpcPromise(_0x50e8('0x62'),_0x5a79c4[_0x50e8('0x1e')],routingClient)['then'](respondWithResult(_0x7d64e0,null))['catch'](handleError(_0x7d64e0,null));};exports[_0x50e8('0x63')]=function(_0x440fc7,_0x5d922b){return respondWithRpcPromise(_0x50e8('0x64'),_0x440fc7['query'],routingClient)[_0x50e8('0x14')](respondWithResult(_0x5d922b,null))[_0x50e8('0x1b')](handleError(_0x5d922b,null));};exports[_0x50e8('0x65')]=function(_0x157b27){return function(_0x49828b,_0x22d2e){var _0x4ac008,_0x29af7b;var _0x51ea2a=_['capitalize'](_0x157b27);var _0x368d17=_0x157b27===_0x50e8('0x66')?'Website':_0x50e8('0x67');return db[_0x51ea2a+'Queue'][_0x50e8('0x68')]({'raw':!![],'where':{'id':_0x49828b['params']['id']}})['then'](function(_0x27dae3){if(_[_0x50e8('0xf')](_0x27dae3)){throw new Error(_0x51ea2a+_0x50e8('0x69'));}_0x4ac008=_0x27dae3;return db[_0x51ea2a+_0x50e8('0x6a')]['findOne']({'where':{'id':_0x49828b[_0x50e8('0x21')]['messageId']},'include':[{'model':db[_0x51ea2a+'Interaction'],'as':_0x50e8('0x6b')},{'model':db[_0x51ea2a+_0x368d17],'as':_0x50e8('0x67')}]});})[_0x50e8('0x14')](function(_0x50d925){if(_['isNil'](_0x50d925)){throw new Error(_0x51ea2a+'\x20Message\x20not\x20found');}_0x29af7b=_0x50d925;return _0x50d925[_0x50e8('0x6c')]({'read':0x0,'readAt':null,'UserId':null});})[_0x50e8('0x14')](function(){var _0x1decc9={'uniqueid':_0x157b27+'.'+_0x29af7b['id']+'.'+_0x29af7b[_0x50e8('0x6b')]['id'],'FromUserId':_0x49828b[_0x50e8('0x30')]['id'],'type':_0x50e8('0x6d')};_0x1decc9[_0x51ea2a+'MessageId']=_0x29af7b['id'];_0x1decc9[_0x51ea2a+'InteractionId']=_0x29af7b[_0x50e8('0x6b')]['id'];_0x1decc9[_0x50e8('0x6e')+_0x51ea2a+_0x368d17+'Id']=_0x29af7b[_0x50e8('0x67')]['id'];_0x1decc9['To'+_0x51ea2a+_0x50e8('0x6f')]=_0x4ac008['id'];return db[_0x51ea2a+_0x50e8('0x70')]['create'](_0x1decc9);})[_0x50e8('0x14')](function(){return respondWithRpcPromise(_0x50e8('0x71'),{'channel':_0x157b27,'interaction':_0x29af7b[_0x50e8('0x6b')],'message':_0x29af7b,'account':_0x29af7b['Account'],'applications':[{'id':0x0,'priority':0x1,'app':'queue','appdata':_0x4ac008[_0x50e8('0x31')]+','+(_0x29af7b[_0x50e8('0x67')][_0x50e8('0x72')]||0x12c),'interval':'*,*,*,*'}]},routingClient);})[_0x50e8('0x14')](respondWithResult(_0x22d2e,null))[_0x50e8('0x1b')](handleError(_0x22d2e,null));};};exports['agentNotify']=function(_0x29e664,_0x52929f){var _0x306fc0,_0x1e38ea;if(_[_0x50e8('0xf')](_0x29e664[_0x50e8('0x21')][_0x50e8('0x73')])){throw new Error(_0x50e8('0x74'));}var _0x1c4f8f=_0x29e664[_0x50e8('0x21')][_0x50e8('0x73')];var _0x5b4032=_[_0x50e8('0x75')](_0x1c4f8f);var _0x4e431e=_0x1c4f8f===_0x50e8('0x66')?_0x50e8('0x76'):_0x50e8('0x67');return db[_0x50e8('0x77')][_0x50e8('0x68')]({'raw':!![],'where':{'id':_0x29e664[_0x50e8('0x18')]['id'],'role':'agent'}})[_0x50e8('0x14')](function(_0xe57ebc){if(_[_0x50e8('0xf')](_0xe57ebc)){throw new Error(_0x50e8('0x78'));}_0x306fc0=_0xe57ebc;return db[_0x5b4032+_0x50e8('0x6a')][_0x50e8('0x68')]({'where':{'id':_0x29e664[_0x50e8('0x21')]['messageId']},'include':[{'model':db[_0x5b4032+_0x50e8('0x6b')],'as':_0x50e8('0x6b')},{'model':db[_0x5b4032+_0x4e431e],'as':_0x50e8('0x67')}]});})[_0x50e8('0x14')](function(_0x28ce03){if(_[_0x50e8('0xf')](_0x28ce03)){throw new Error(_0x5b4032+_0x50e8('0x79'));}_0x1e38ea=_0x28ce03;return _0x28ce03[_0x50e8('0x6c')]({'read':0x0,'readAt':null,'UserId':null});})['then'](function(){var _0x4e67ca={'uniqueid':_0x1c4f8f+'.'+_0x1e38ea['id']+'.'+_0x1e38ea['Interaction']['id'],'FromUserId':_0x29e664[_0x50e8('0x30')]['id'],'type':'queue','ToUserId':_0x306fc0['id']};_0x4e67ca[_0x5b4032+_0x50e8('0x7a')]=_0x1e38ea['id'];_0x4e67ca[_0x5b4032+_0x50e8('0x7b')]=_0x1e38ea[_0x50e8('0x6b')]['id'];_0x4e67ca[_0x50e8('0x6e')+_0x5b4032+_0x4e431e+'Id']=_0x1e38ea[_0x50e8('0x67')]['id'];return db[_0x5b4032+_0x50e8('0x70')][_0x50e8('0x7c')](_0x4e67ca);})[_0x50e8('0x14')](function(){return respondWithRpcPromise(_0x50e8('0x71'),{'channel':_0x1c4f8f,'interaction':_0x1e38ea[_0x50e8('0x6b')],'message':_0x1e38ea,'account':_0x1e38ea[_0x50e8('0x67')],'applications':[{'id':0x0,'priority':0x1,'app':'agent','appdata':_0x306fc0[_0x50e8('0x31')]+','+(_0x1e38ea[_0x50e8('0x67')]['agentTransferTimeout']||0x12c),'interval':_0x50e8('0x7d')}]},routingClient);})[_0x50e8('0x14')](respondWithResult(_0x52929f,null))[_0x50e8('0x1b')](handleError(_0x52929f,null));};