061ad0cd649c14c9a6c76d46942eb0d3f249a285
[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 _0xa5ad=['find','voiceChannels','VoiceChannels','query','voiceChannelMixMonitor','VoiceChannelMixMonitor','merge','catch','voiceQueues','VoiceQueues','showVoiceQueues','params','voiceQueuesPreview','VoiceQueuesPreview','voiceQueuesChannels','VoiceQueuesChannels','voiceQueuesChannel','VoiceQueuesChannelHangup','VoiceQueuesChannelRedirect','outbound','Outbound','OutboundChannels','agents','Agents','agentCapacity','body','interaction','user','hasOwnProperty','MemberReport','findAll','INTERACTION','length','YYYY-MM-DD\x20HH:mm:ss','updateAttributes','findOrCreate','interface','format','agent','AgentCapacity','capacity','telephones','Trunks','chatQueues','ChatQueues','mailQueues','MailQueues','showMailQueues','mailAccounts','MailAccounts','OpenchannelQueues','showOpenchannelQueues','smsQueues','showSmsQueues','SmsQueues','whatsappQueues','WhatsappQueues','showWhatsappQueues','faxQueues','FaxQueues','chatQueuesWaitingInteractions','ChatQueuesWaitingInteractions','MailQueuesWaitingInteractions','openchannelQueuesWaitingInteractions','OpenchannelQueuesWaitingInteractions','smsQueuesWaitingInteractions','SmsQueuesWaitingInteractions','whatsappQueuesWaitingInteractions','faxQueuesWaitingInteractions','FaxQueuesWaitingInteractions','queueNotify','capitalize','Website','findOne','\x20Queue\x20not\x20found','messageId','Interaction','Account','\x20Message\x20not\x20found','update','MessageId','InteractionId','From','QueueId','TransferReport','Start','queue','queueTransferTimeout','*,*,*,*','channel','Channel\x20field\x20is\x20mandatory','chat','User','Agent\x20not\x20found','Message','bluebird','moment','lodash','../../mysqldb','../../config/logger','api','jayson/promise','client','http','request','then','error','message','result','status','json','sendStatus','stack','name','send','isNil','rows'];(function(_0xcd11dc,_0x322aa5){var _0x20c62f=function(_0x15e174){while(--_0x15e174){_0xcd11dc['push'](_0xcd11dc['shift']());}};_0x20c62f(++_0x322aa5);}(_0xa5ad,0x1be));var _0xda5a=function(_0x5885a4,_0x464904){_0x5885a4=_0x5885a4-0x0;var _0x4c9200=_0xa5ad[_0x5885a4];return _0x4c9200;};'use strict';var BPromise=require(_0xda5a('0x0'));var moment=require(_0xda5a('0x1'));var _=require(_0xda5a('0x2'));var util=require('util');var db=require(_0xda5a('0x3'))['db'];var logger=require(_0xda5a('0x4'))(_0xda5a('0x5'));var jayson=require(_0xda5a('0x6'));var amiClient=jayson[_0xda5a('0x7')][_0xda5a('0x8')]({'port':0x232a});var mailClient=jayson[_0xda5a('0x7')][_0xda5a('0x8')]({'port':0x232b});var routingClient=jayson['client']['http']({'port':0x232c});function respondWithRpcPromise(_0xe0674d,_0x2717fa,_0xb37e33){return new BPromise(function(_0x2652a0,_0x19306e){var _0x1f1dd0=_0xb37e33?_0xb37e33:amiClient;return _0x1f1dd0[_0xda5a('0x9')](_0xe0674d,_0x2717fa)[_0xda5a('0xa')](function(_0x528c38){if(_0x528c38[_0xda5a('0xb')]){if(_0x528c38[_0xda5a('0xb')]['code']===0x1f4){return _0x19306e(_0x528c38[_0xda5a('0xb')][_0xda5a('0xc')]);}return _0x2652a0(_0x528c38[_0xda5a('0xb')][_0xda5a('0xc')]);}else{_0x2652a0(_0x528c38[_0xda5a('0xd')]);}})['catch'](function(_0x360043){_0x19306e(_0x360043);});});}function respondWithResult(_0x4e49d9,_0xa5e184){_0xa5e184=_0xa5e184||0xc8;return function(_0x37bd11){if(_0x37bd11){return _0x4e49d9[_0xda5a('0xe')](_0xa5e184)[_0xda5a('0xf')](_0x37bd11);}return _0x4e49d9[_0xda5a('0x10')](0x194);};}function handleError(_0x1c0a1f,_0x2adc00){_0x2adc00=_0x2adc00||0x1f4;return function(_0x4f2e71){logger['error'](_0x4f2e71[_0xda5a('0x11')]);if(_0x4f2e71['name']){delete _0x4f2e71[_0xda5a('0x12')];}_0x1c0a1f[_0xda5a('0xe')](_0x2adc00)[_0xda5a('0x13')](_0x4f2e71);};}function findById(_0x439899){return function(_0x4c21bb){if(!_[_0xda5a('0x14')](_0x439899)&&!_[_0xda5a('0x14')](_0x4c21bb)&&!_[_0xda5a('0x14')](_0x4c21bb[_0xda5a('0x15')])){return _[_0xda5a('0x16')](_0x4c21bb[_0xda5a('0x15')],function(_0x5aec78){return _0x5aec78['id']==_0x439899;});}return null;};}exports[_0xda5a('0x17')]=function(_0x47aee0,_0x25a96a){return respondWithRpcPromise(_0xda5a('0x18'),_0x47aee0[_0xda5a('0x19')])[_0xda5a('0xa')](respondWithResult(_0x25a96a,null))['catch'](handleError(_0x25a96a,null));};exports[_0xda5a('0x1a')]=function(_0x5ab808,_0x1513bd){return respondWithRpcPromise(_0xda5a('0x1b'),_[_0xda5a('0x1c')](_0x5ab808[_0xda5a('0x19')],_0x5ab808['params']))[_0xda5a('0xa')](respondWithResult(_0x1513bd,null))[_0xda5a('0x1d')](handleError(_0x1513bd,null));};exports['voiceChannelStopMixMonitor']=function(_0x1aea3a,_0x188621){return respondWithRpcPromise('VoiceChannelStopMixMonitor',_[_0xda5a('0x1c')](_0x1aea3a[_0xda5a('0x19')],_0x1aea3a['params']))['then'](respondWithResult(_0x188621,null))['catch'](handleError(_0x188621,null));};exports[_0xda5a('0x1e')]=function(_0x4f58f5,_0x255bab){return respondWithRpcPromise(_0xda5a('0x1f'),_0x4f58f5[_0xda5a('0x19')])['then'](respondWithResult(_0x255bab,null))[_0xda5a('0x1d')](handleError(_0x255bab,null));};exports[_0xda5a('0x20')]=function(_0xaa158d,_0x255c3b){return respondWithRpcPromise('VoiceQueues',_0xaa158d[_0xda5a('0x19')])[_0xda5a('0xa')](findById(_0xaa158d[_0xda5a('0x21')]['id']))[_0xda5a('0xa')](respondWithResult(_0x255c3b,null))[_0xda5a('0x1d')](handleError(_0x255c3b,null));};exports[_0xda5a('0x22')]=function(_0x5114fc,_0x45cde4){return respondWithRpcPromise(_0xda5a('0x23'),_[_0xda5a('0x1c')](_0x5114fc[_0xda5a('0x19')],_0x5114fc[_0xda5a('0x21')]))['then'](respondWithResult(_0x45cde4,null))[_0xda5a('0x1d')](handleError(_0x45cde4,null));};exports[_0xda5a('0x24')]=function(_0x208f67,_0x33a64c){return respondWithRpcPromise(_0xda5a('0x25'),_0x208f67[_0xda5a('0x19')])[_0xda5a('0xa')](respondWithResult(_0x33a64c,null))[_0xda5a('0x1d')](handleError(_0x33a64c,null));};exports[_0xda5a('0x26')]=function(_0x1ecc1d,_0xb74fd4){return respondWithRpcPromise('VoiceQueuesChannel',_['merge'](_0x1ecc1d[_0xda5a('0x19')],_0x1ecc1d[_0xda5a('0x21')]))[_0xda5a('0xa')](respondWithResult(_0xb74fd4,null))[_0xda5a('0x1d')](handleError(_0xb74fd4,null));};exports['voiceQueuesChannelHangup']=function(_0x464d52,_0x16fbaf){return respondWithRpcPromise(_0xda5a('0x27'),_[_0xda5a('0x1c')](_0x464d52['query'],_0x464d52[_0xda5a('0x21')]))['then'](respondWithResult(_0x16fbaf,null))[_0xda5a('0x1d')](handleError(_0x16fbaf,null));};exports['voiceQueuesChannelRedirect']=function(_0x19fce7,_0x3f2794){return respondWithRpcPromise(_0xda5a('0x28'),_[_0xda5a('0x1c')](_0x19fce7['query'],_0x19fce7[_0xda5a('0x21')]))[_0xda5a('0xa')](respondWithResult(_0x3f2794,null))[_0xda5a('0x1d')](handleError(_0x3f2794,null));};exports[_0xda5a('0x29')]=function(_0x187e54,_0x5e3404){return respondWithRpcPromise(_0xda5a('0x2a'),_0x187e54[_0xda5a('0x19')])[_0xda5a('0xa')](respondWithResult(_0x5e3404,null))[_0xda5a('0x1d')](handleError(_0x5e3404,null));};exports['outboundChannels']=function(_0x413224,_0x8e7ea8){return respondWithRpcPromise(_0xda5a('0x2b'),_0x413224[_0xda5a('0x19')])['then'](respondWithResult(_0x8e7ea8,null))[_0xda5a('0x1d')](handleError(_0x8e7ea8,null));};exports[_0xda5a('0x2c')]=function(_0xa8c64c,_0x289341){var _0x909367;return respondWithRpcPromise('Agents',_0xa8c64c[_0xda5a('0x19')])[_0xda5a('0xa')](function(_0x2faabb){_0x909367=_0x2faabb;return respondWithRpcPromise(_0xda5a('0x2d'),_0xa8c64c[_0xda5a('0x19')],routingClient);})[_0xda5a('0xa')](function(_0x425885){return _[_0xda5a('0x1c')]({},_0x425885,_0x909367);})[_0xda5a('0xa')](respondWithResult(_0x289341,null))[_0xda5a('0x1d')](handleError(_0x289341,null));};exports[_0xda5a('0x2e')]=function(_0x1b11e5,_0x511e81){if(_0x1b11e5[_0xda5a('0x2f')]&&_0x1b11e5[_0xda5a('0x2f')][_0xda5a('0x30')]&&_0x1b11e5[_0xda5a('0x31')]&&_0x1b11e5[_0xda5a('0x31')][_0xda5a('0x12')]){for(var _0x1e2d20 in _0x1b11e5[_0xda5a('0x2f')][_0xda5a('0x30')]){if(_0x1b11e5[_0xda5a('0x2f')]['interaction'][_0xda5a('0x32')](_0x1e2d20)){db[_0xda5a('0x33')][_0xda5a('0x34')]({'where':{'channel':_0x1e2d20,'membername':_0x1b11e5[_0xda5a('0x31')][_0xda5a('0x12')],'type':_0xda5a('0x35'),'exitAt':null,'uniqueid':_0x1b11e5[_0xda5a('0x2f')]['interaction'][_0x1e2d20]&&_0x1b11e5[_0xda5a('0x2f')][_0xda5a('0x30')][_0x1e2d20][_0xda5a('0x36')]?{'$notIn':_0x1b11e5[_0xda5a('0x2f')]['interaction'][_0x1e2d20]}:{'$ne':null}}})[_0xda5a('0xa')](function(_0x1368bd){var _0x3a8f56=moment()['format'](_0xda5a('0x37'));for(var _0x3ec675=0x0,_0x7863b0=_0x1368bd[_0xda5a('0x36')];_0x3ec675<_0x7863b0;_0x3ec675+=0x1){_0x1368bd[_0x3ec675][_0xda5a('0x38')]({'exitAt':_0x3a8f56});}});for(var _0x55fa4e=0x0;_0x55fa4e<_0x1b11e5[_0xda5a('0x2f')]['interaction'][_0x1e2d20][_0xda5a('0x36')];_0x55fa4e+=0x1){db['MemberReport'][_0xda5a('0x39')]({'where':{'channel':_0x1e2d20,'membername':_0x1b11e5['user']['name'],'type':'INTERACTION','uniqueid':_0x1b11e5[_0xda5a('0x2f')][_0xda5a('0x30')][_0x1e2d20][_0x55fa4e],'exitAt':null},'defaults':{'channel':_0x1e2d20,'membername':_0x1b11e5['user'][_0xda5a('0x12')],'interface':_['isNil'](_0x1b11e5[_0xda5a('0x31')][_0xda5a('0x3a')])?util[_0xda5a('0x3b')]('SIP/%s',_0x1b11e5[_0xda5a('0x31')]['name']):_0x1b11e5[_0xda5a('0x31')][_0xda5a('0x3a')],'type':_0xda5a('0x35'),'enterAt':moment()[_0xda5a('0x3b')](_0xda5a('0x37')),'role':_0xda5a('0x3c'),'internal':_0x1b11e5['user']['internal'],'uniqueid':_0x1b11e5['body'][_0xda5a('0x30')][_0x1e2d20][_0x55fa4e]}});}}}}return respondWithRpcPromise(_0xda5a('0x3d'),{'id':_0x1b11e5[_0xda5a('0x21')]['id'],'capacity':_0x1b11e5[_0xda5a('0x2f')][_0xda5a('0x3e')]},routingClient)[_0xda5a('0xa')](respondWithResult(_0x511e81,null))['catch'](handleError(_0x511e81,null));};exports[_0xda5a('0x3f')]=function(_0x459d18,_0x2dea0c){return respondWithRpcPromise('Telephones',_0x459d18[_0xda5a('0x19')])['then'](respondWithResult(_0x2dea0c,null))[_0xda5a('0x1d')](handleError(_0x2dea0c,null));};exports['trunks']=function(_0x2239b2,_0x58a4b8){return respondWithRpcPromise(_0xda5a('0x40'),_0x2239b2[_0xda5a('0x19')])['then'](respondWithResult(_0x58a4b8,null))[_0xda5a('0x1d')](handleError(_0x58a4b8,null));};exports['campaigns']=function(_0xc79d89,_0x4bcfe9){return respondWithRpcPromise('Campaigns',_0xc79d89['query'])[_0xda5a('0xa')](respondWithResult(_0x4bcfe9,null))[_0xda5a('0x1d')](handleError(_0x4bcfe9,null));};exports[_0xda5a('0x41')]=function(_0x17eb14,_0x55b6e5){return respondWithRpcPromise(_0xda5a('0x42'),_0x17eb14[_0xda5a('0x19')],routingClient)['then'](respondWithResult(_0x55b6e5,null))['catch'](handleError(_0x55b6e5,null));};exports['showChatQueues']=function(_0x3343fb,_0x26cfb3){return respondWithRpcPromise(_0xda5a('0x42'),_0x3343fb['query'],routingClient)[_0xda5a('0xa')](findById(_0x3343fb['params']['id']))[_0xda5a('0xa')](respondWithResult(_0x26cfb3,null))[_0xda5a('0x1d')](handleError(_0x26cfb3,null));};exports[_0xda5a('0x43')]=function(_0x17b1a1,_0x5860df){return respondWithRpcPromise(_0xda5a('0x44'),_0x17b1a1[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0x5860df,null))[_0xda5a('0x1d')](handleError(_0x5860df,null));};exports[_0xda5a('0x45')]=function(_0x2f8d5e,_0x21e072){return respondWithRpcPromise(_0xda5a('0x44'),_0x2f8d5e['query'],routingClient)[_0xda5a('0xa')](findById(_0x2f8d5e['params']['id']))['then'](respondWithResult(_0x21e072,null))[_0xda5a('0x1d')](handleError(_0x21e072,null));};exports[_0xda5a('0x46')]=function(_0x3d3842,_0x1c5198){return respondWithRpcPromise(_0xda5a('0x47'),_0x3d3842[_0xda5a('0x19')],mailClient)[_0xda5a('0xa')](respondWithResult(_0x1c5198,null))[_0xda5a('0x1d')](handleError(_0x1c5198,null));};exports['openchannelQueues']=function(_0x3acce7,_0x510280){return respondWithRpcPromise(_0xda5a('0x48'),_0x3acce7['query'],routingClient)['then'](respondWithResult(_0x510280,null))['catch'](handleError(_0x510280,null));};exports[_0xda5a('0x49')]=function(_0x172eea,_0x1383cf){return respondWithRpcPromise(_0xda5a('0x48'),_0x172eea[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](findById(_0x172eea['params']['id']))[_0xda5a('0xa')](respondWithResult(_0x1383cf,null))[_0xda5a('0x1d')](handleError(_0x1383cf,null));};exports[_0xda5a('0x4a')]=function(_0x504074,_0x543cd3){return respondWithRpcPromise('SmsQueues',_0x504074[_0xda5a('0x19')],routingClient)['then'](respondWithResult(_0x543cd3,null))['catch'](handleError(_0x543cd3,null));};exports[_0xda5a('0x4b')]=function(_0xca6328,_0x15fdf7){return respondWithRpcPromise(_0xda5a('0x4c'),_0xca6328[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](findById(_0xca6328[_0xda5a('0x21')]['id']))['then'](respondWithResult(_0x15fdf7,null))[_0xda5a('0x1d')](handleError(_0x15fdf7,null));};exports[_0xda5a('0x4d')]=function(_0x1aca65,_0x52d6ee){return respondWithRpcPromise(_0xda5a('0x4e'),_0x1aca65[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0x52d6ee,null))['catch'](handleError(_0x52d6ee,null));};exports[_0xda5a('0x4f')]=function(_0x43b513,_0x5f5511){return respondWithRpcPromise(_0xda5a('0x4e'),_0x43b513['query'],routingClient)[_0xda5a('0xa')](findById(_0x43b513[_0xda5a('0x21')]['id']))[_0xda5a('0xa')](respondWithResult(_0x5f5511,null))[_0xda5a('0x1d')](handleError(_0x5f5511,null));};exports[_0xda5a('0x50')]=function(_0x4ca534,_0xa11912){return respondWithRpcPromise(_0xda5a('0x51'),_0x4ca534[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0xa11912,null))[_0xda5a('0x1d')](handleError(_0xa11912,null));};exports['showFaxQueues']=function(_0x3d533c,_0xf16369){return respondWithRpcPromise(_0xda5a('0x51'),_0x3d533c['query'],routingClient)[_0xda5a('0xa')](findById(_0x3d533c['params']['id']))[_0xda5a('0xa')](respondWithResult(_0xf16369,null))[_0xda5a('0x1d')](handleError(_0xf16369,null));};exports['faxAccounts']=function(_0x3c2766,_0x1d5d0f){return respondWithRpcPromise('FaxAccounts',_0x3c2766['query'])['then'](respondWithResult(_0x1d5d0f,null))['catch'](handleError(_0x1d5d0f,null));};exports[_0xda5a('0x52')]=function(_0x10374b,_0x3ae818){return respondWithRpcPromise(_0xda5a('0x53'),_0x10374b[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0x3ae818,null))[_0xda5a('0x1d')](handleError(_0x3ae818,null));};exports['mailQueuesWaitingInteractions']=function(_0x1fc9fc,_0x36e0d0){return respondWithRpcPromise(_0xda5a('0x54'),_0x1fc9fc[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0x36e0d0,null))['catch'](handleError(_0x36e0d0,null));};exports[_0xda5a('0x55')]=function(_0xb1a316,_0x569017){return respondWithRpcPromise(_0xda5a('0x56'),_0xb1a316[_0xda5a('0x19')],routingClient)['then'](respondWithResult(_0x569017,null))[_0xda5a('0x1d')](handleError(_0x569017,null));};exports[_0xda5a('0x57')]=function(_0x1054c9,_0x2e0778){return respondWithRpcPromise(_0xda5a('0x58'),_0x1054c9[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0x2e0778,null))[_0xda5a('0x1d')](handleError(_0x2e0778,null));};exports[_0xda5a('0x59')]=function(_0x3f65d7,_0x352c91){return respondWithRpcPromise('WhatsappQueuesWaitingInteractions',_0x3f65d7[_0xda5a('0x19')],routingClient)['then'](respondWithResult(_0x352c91,null))[_0xda5a('0x1d')](handleError(_0x352c91,null));};exports[_0xda5a('0x5a')]=function(_0x14962e,_0x1b1ce8){return respondWithRpcPromise(_0xda5a('0x5b'),_0x14962e[_0xda5a('0x19')],routingClient)[_0xda5a('0xa')](respondWithResult(_0x1b1ce8,null))[_0xda5a('0x1d')](handleError(_0x1b1ce8,null));};exports[_0xda5a('0x5c')]=function(_0x40c6b8){return function(_0x54e8e1,_0x23893a){var _0x51e74f,_0x4d0015;var _0x32f548=_[_0xda5a('0x5d')](_0x40c6b8);var _0x5247a3=_0x40c6b8==='chat'?_0xda5a('0x5e'):'Account';return db[_0x32f548+'Queue'][_0xda5a('0x5f')]({'raw':!![],'where':{'id':_0x54e8e1['params']['id']}})[_0xda5a('0xa')](function(_0x5e514f){if(_['isNil'](_0x5e514f)){throw new Error(_0x32f548+_0xda5a('0x60'));}_0x51e74f=_0x5e514f;return db[_0x32f548+'Message'][_0xda5a('0x5f')]({'where':{'id':_0x54e8e1[_0xda5a('0x2f')][_0xda5a('0x61')]},'include':[{'model':db[_0x32f548+'Interaction'],'as':_0xda5a('0x62')},{'model':db[_0x32f548+_0x5247a3],'as':_0xda5a('0x63')}]});})[_0xda5a('0xa')](function(_0x1ad450){if(_['isNil'](_0x1ad450)){throw new Error(_0x32f548+_0xda5a('0x64'));}_0x4d0015=_0x1ad450;return _0x1ad450[_0xda5a('0x65')]({'read':0x0,'readAt':null,'UserId':null});})[_0xda5a('0xa')](function(){var _0x763aef={'uniqueid':_0x40c6b8+'.'+_0x4d0015['id']+'.'+_0x4d0015[_0xda5a('0x62')]['id'],'FromUserId':_0x54e8e1[_0xda5a('0x31')]['id'],'type':'queue'};_0x763aef[_0x32f548+_0xda5a('0x66')]=_0x4d0015['id'];_0x763aef[_0x32f548+_0xda5a('0x67')]=_0x4d0015['Interaction']['id'];_0x763aef[_0xda5a('0x68')+_0x32f548+_0x5247a3+'Id']=_0x4d0015[_0xda5a('0x63')]['id'];_0x763aef['To'+_0x32f548+_0xda5a('0x69')]=_0x51e74f['id'];return db[_0x32f548+_0xda5a('0x6a')]['create'](_0x763aef);})[_0xda5a('0xa')](function(){return respondWithRpcPromise(_0xda5a('0x6b'),{'channel':_0x40c6b8,'interaction':_0x4d0015['Interaction'],'message':_0x4d0015,'account':_0x4d0015['Account'],'applications':[{'id':0x0,'priority':0x1,'app':_0xda5a('0x6c'),'appdata':_0x51e74f[_0xda5a('0x12')]+','+(_0x4d0015['Account'][_0xda5a('0x6d')]||0x12c),'interval':_0xda5a('0x6e')}]},routingClient);})[_0xda5a('0xa')](respondWithResult(_0x23893a,null))['catch'](handleError(_0x23893a,null));};};exports['agentNotify']=function(_0x4bf0a5,_0x257c9c){var _0x2c69f6,_0x49ec3c;if(_[_0xda5a('0x14')](_0x4bf0a5['body'][_0xda5a('0x6f')])){throw new Error(_0xda5a('0x70'));}var _0x182b4a=_0x4bf0a5[_0xda5a('0x2f')][_0xda5a('0x6f')];var _0x13254a=_['capitalize'](_0x182b4a);var _0x39f8b2=_0x182b4a===_0xda5a('0x71')?'Website':'Account';return db[_0xda5a('0x72')][_0xda5a('0x5f')]({'raw':!![],'where':{'id':_0x4bf0a5[_0xda5a('0x21')]['id'],'role':_0xda5a('0x3c')}})[_0xda5a('0xa')](function(_0x3b69ae){if(_[_0xda5a('0x14')](_0x3b69ae)){throw new Error(_0xda5a('0x73'));}_0x2c69f6=_0x3b69ae;return db[_0x13254a+_0xda5a('0x74')][_0xda5a('0x5f')]({'where':{'id':_0x4bf0a5[_0xda5a('0x2f')][_0xda5a('0x61')]},'include':[{'model':db[_0x13254a+_0xda5a('0x62')],'as':'Interaction'},{'model':db[_0x13254a+_0x39f8b2],'as':'Account'}]});})[_0xda5a('0xa')](function(_0x1fed91){if(_['isNil'](_0x1fed91)){throw new Error(_0x13254a+_0xda5a('0x64'));}_0x49ec3c=_0x1fed91;return _0x1fed91[_0xda5a('0x65')]({'read':0x0,'readAt':null,'UserId':null});})[_0xda5a('0xa')](function(){var _0x419f5a={'uniqueid':_0x182b4a+'.'+_0x49ec3c['id']+'.'+_0x49ec3c[_0xda5a('0x62')]['id'],'FromUserId':_0x4bf0a5[_0xda5a('0x31')]['id'],'type':_0xda5a('0x6c'),'ToUserId':_0x2c69f6['id']};_0x419f5a[_0x13254a+'MessageId']=_0x49ec3c['id'];_0x419f5a[_0x13254a+_0xda5a('0x67')]=_0x49ec3c[_0xda5a('0x62')]['id'];_0x419f5a[_0xda5a('0x68')+_0x13254a+_0x39f8b2+'Id']=_0x49ec3c[_0xda5a('0x63')]['id'];return db[_0x13254a+_0xda5a('0x6a')]['create'](_0x419f5a);})['then'](function(){return respondWithRpcPromise(_0xda5a('0x6b'),{'channel':_0x182b4a,'interaction':_0x49ec3c['Interaction'],'message':_0x49ec3c,'account':_0x49ec3c[_0xda5a('0x63')],'applications':[{'id':0x0,'priority':0x1,'app':_0xda5a('0x3c'),'appdata':_0x2c69f6[_0xda5a('0x12')]+','+(_0x49ec3c[_0xda5a('0x63')]['agentTransferTimeout']||0x12c),'interval':_0xda5a('0x6e')}]},routingClient);})[_0xda5a('0xa')](respondWithResult(_0x257c9c,null))['catch'](handleError(_0x257c9c,null));};