c59ff7c30025e1eb4783fa597f47314d25c898f8
[motion2.git] / server / services / routing / server / applications / strategy / util.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 _0x0d90=['emit','user:save','split','\x20interaction','name','notificationShake','body','queue','msg','getMustacheRender','account','I\x20can\x27t\x20render\x20your\x20template','error','message','save','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','BUSY','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','lodash','util','../utils','ioredis','../../../../../config/environment','../../../../../config/logger','redis','defaults','localhost','socket.io-emitter','format','user:%s'];(function(_0x29ed88,_0x4ff078){var _0x3075a9=function(_0x47a2a6){while(--_0x47a2a6){_0x29ed88['push'](_0x29ed88['shift']());}};_0x3075a9(++_0x4ff078);}(_0x0d90,0xa0));var _0x00d9=function(_0x2f5bac,_0x1ce9ab){_0x2f5bac=_0x2f5bac-0x0;var _0x576b90=_0x0d90[_0x2f5bac];return _0x576b90;};'use strict';var _=require(_0x00d9('0x0'));var util=require(_0x00d9('0x1'));var utils=require(_0x00d9('0x2'));var Mustache=require('mustache');var Redis=require(_0x00d9('0x3'));var config=require(_0x00d9('0x4'));var logger=require(_0x00d9('0x5'))('routing');config[_0x00d9('0x6')]=_[_0x00d9('0x7')](config[_0x00d9('0x6')],{'host':_0x00d9('0x8'),'port':0x18eb});var io=require(_0x00d9('0x9'))(new Redis(config['redis']));function emit(_0x39b71b,_0x1f6457,_0x3935cd){io['to'](_0x39b71b)['emit'](_0x1f6457,_0x3935cd);}function sendNotification(_0x215dbd,_0x9a569,_0x4fe729,_0x214015,_0x230d87,_0x2d8b10){io['to'](util[_0x00d9('0xa')](_0x00d9('0xb'),_0x214015['name']))[_0x00d9('0xc')](_0x00d9('0xd'),_0x214015);var _0x2a01fe=_0x2d8b10||{};var _0x280483=_0x4fe729[_0x00d9('0xe')]('.');var _0x413d6={'uniqueid':_0x9a569,'channel':_0x280483[0x0],'id':_0x280483[0x1],'title':_0x280483[0x0]+_0x00d9('0xf'),'interactionId':_0x280483[0x2],'queue':_0x230d87?_0x230d87[_0x00d9('0x10')]:null,'sound':_0x2a01fe['account']['notificationSound'],'shake':_0x2a01fe['account'][_0x00d9('0x11')]};try{if(!_0x2a01fe[_0x00d9('0x12')]){_0x2a01fe['body']={};}if(_0x230d87){_0x2a01fe[_0x00d9('0x12')]['queue']=_0x230d87;}else if(_0x2a01fe['body'][_0x00d9('0x13')]){delete _0x2a01fe[_0x00d9('0x12')][_0x00d9('0x13')];}_0x413d6[_0x00d9('0x14')]=utils[_0x00d9('0x15')](_0x2a01fe[_0x00d9('0x16')]['notificationTemplate'],_0x2a01fe);}catch(_0x9a4cbe){_0x413d6[_0x00d9('0x14')]=_0x00d9('0x17');logger[_0x00d9('0x18')](util[_0x00d9('0xa')]('[%s][QUEUE]\x20%s',_0x9a569,_0x9a4cbe[_0x00d9('0x19')]));}io['to'](util[_0x00d9('0xa')](_0x00d9('0xb'),_0x214015[_0x00d9('0x10')]))[_0x00d9('0xc')](util[_0x00d9('0xa')]('notification:%s',_0x215dbd?_0x00d9('0x1a'):_0x00d9('0x1b')),_0x413d6);}function writeLog(_0x163e82,_0x4dd977,_0x250944){return logger[_0x00d9('0x1c')](util['format'](_0x00d9('0x1d'),_0x163e82,_0x4dd977[_0x00d9('0x10')],_0x250944));}exports[_0x00d9('0x1e')]=function(_0x98a438,_0x33ae87,_0x26ab9a,_0x5e7482){if(_0x33ae87['busy']){writeLog(_0x98a438,_0x33ae87,_0x00d9('0x1f'));return![];}if(!_0x33ae87['online']){writeLog(_0x98a438,_0x33ae87,_0x00d9('0x20'));return![];}if(_0x33ae87[_0x26ab9a+_0x00d9('0x21')]){writeLog(_0x98a438,_0x33ae87,_0x00d9('0x22'));return![];}if(_0x5e7482&&_0x33ae87[_0x00d9('0x23')](_0x26ab9a+_0x00d9('0x24'))&&_0x33ae87[_0x00d9('0x23')](_0x26ab9a+_0x00d9('0x25'))){if(_0x33ae87[_0x26ab9a+_0x00d9('0x24')]>0x0&&_0x33ae87[_0x26ab9a+_0x00d9('0x25')]>=_0x33ae87[_0x26ab9a+_0x00d9('0x24')]){writeLog(_0x98a438,_0x33ae87,_0x26ab9a[_0x00d9('0x26')]()+_0x00d9('0x27'));return![];}}return!![];};exports[_0x00d9('0x28')]=function(_0x5c5938,_0x231b8f,_0x198fb7,_0x134662,_0x2ec808){return sendNotification(!![],_0x5c5938,_0x231b8f,_0x198fb7,_0x134662,_0x2ec808);};exports[_0x00d9('0x29')]=function(_0x1267a2,_0x332792,_0x148453,_0x14eb8d,_0xa441c8){return sendNotification(![],_0x1267a2,_0x332792,_0x148453,_0x14eb8d,_0xa441c8);};exports[_0x00d9('0x2a')]=writeLog;