Built motion from commit (unavailable).|2.5.1
[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 _0xb9a7=['user:%s','emit','notification:%s','save','[%s][QUEUE][AGENT:%s][STATUS:%s]','busy','BUSY','online','OFFLINE','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','\x20MAXCAPACITY','writeLog','util','../../../../../config/environment','routing','redis','defaults','localhost','socket.io-emitter','format','name','user:save','split','account','notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message'];(function(_0x545a02,_0x2efaab){var _0x70e3e=function(_0x3132a0){while(--_0x3132a0){_0x545a02['push'](_0x545a02['shift']());}};_0x70e3e(++_0x2efaab);}(_0xb9a7,0x112));var _0x7b9a=function(_0x53ccf2,_0x13cb67){_0x53ccf2=_0x53ccf2-0x0;var _0x5a2964=_0xb9a7[_0x53ccf2];return _0x5a2964;};'use strict';var _=require('lodash');var util=require(_0x7b9a('0x0'));var utils=require('../utils');var Mustache=require('mustache');var Redis=require('ioredis');var config=require(_0x7b9a('0x1'));var logger=require('../../../../../config/logger')(_0x7b9a('0x2'));config[_0x7b9a('0x3')]=_[_0x7b9a('0x4')](config[_0x7b9a('0x3')],{'host':_0x7b9a('0x5'),'port':0x18eb});var io=require(_0x7b9a('0x6'))(new Redis(config[_0x7b9a('0x3')]));function emit(_0x7019fd,_0x37ce81,_0x3e51f0){io['to'](_0x7019fd)['emit'](_0x37ce81,_0x3e51f0);}function sendNotification(_0x43d8e2,_0x3e84f1,_0x56a199,_0x511e28,_0x47e220,_0x15bc5b){io['to'](util[_0x7b9a('0x7')]('user:%s',_0x511e28[_0x7b9a('0x8')]))['emit'](_0x7b9a('0x9'),_0x511e28);var _0x597732=_0x15bc5b||{};var _0x3af176=_0x56a199[_0x7b9a('0xa')]('.');var _0x291591={'uniqueid':_0x3e84f1,'channel':_0x3af176[0x0],'id':_0x3af176[0x1],'title':_0x3af176[0x0]+'\x20interaction','interactionId':_0x3af176[0x2],'queue':_0x47e220?_0x47e220[_0x7b9a('0x8')]:null,'sound':_0x597732[_0x7b9a('0xb')]['notificationSound'],'shake':_0x597732[_0x7b9a('0xb')][_0x7b9a('0xc')]};try{if(!_0x597732['body']){_0x597732[_0x7b9a('0xd')]={};}if(_0x47e220){_0x597732[_0x7b9a('0xd')][_0x7b9a('0xe')]=_0x47e220;}else if(_0x597732[_0x7b9a('0xd')][_0x7b9a('0xe')]){delete _0x597732[_0x7b9a('0xd')][_0x7b9a('0xe')];}_0x291591[_0x7b9a('0xf')]=utils[_0x7b9a('0x10')](_0x597732['account'][_0x7b9a('0x11')],_0x597732);}catch(_0x4e8524){_0x291591[_0x7b9a('0xf')]=_0x7b9a('0x12');logger[_0x7b9a('0x13')](util[_0x7b9a('0x7')](_0x7b9a('0x14'),_0x3e84f1,_0x4e8524[_0x7b9a('0x15')]));}io['to'](util[_0x7b9a('0x7')](_0x7b9a('0x16'),_0x511e28[_0x7b9a('0x8')]))[_0x7b9a('0x17')](util[_0x7b9a('0x7')](_0x7b9a('0x18'),_0x43d8e2?_0x7b9a('0x19'):'remove'),_0x291591);}function writeLog(_0x993048,_0x59a64d,_0x1eacbc){return logger['info'](util[_0x7b9a('0x7')](_0x7b9a('0x1a'),_0x993048,_0x59a64d[_0x7b9a('0x8')],_0x1eacbc));}exports['isAgentAvailable']=function(_0x411eea,_0x7f8972,_0x5705b2,_0x35aca7){if(_0x7f8972[_0x7b9a('0x1b')]){writeLog(_0x411eea,_0x7f8972,_0x7b9a('0x1c'));return![];}if(!_0x7f8972[_0x7b9a('0x1d')]){writeLog(_0x411eea,_0x7f8972,_0x7b9a('0x1e'));return![];}if(_0x7f8972[_0x5705b2+'Pause']){writeLog(_0x411eea,_0x7f8972,_0x7b9a('0x1f'));return![];}if(_0x35aca7&&_0x7f8972[_0x7b9a('0x20')](_0x5705b2+'Capacity')&&_0x7f8972[_0x7b9a('0x20')](_0x5705b2+'CurrentCapacity')){if(_0x7f8972[_0x5705b2+_0x7b9a('0x21')]>0x0&&_0x7f8972[_0x5705b2+_0x7b9a('0x22')]>=_0x7f8972[_0x5705b2+'Capacity']){writeLog(_0x411eea,_0x7f8972,_0x5705b2['toUpperCase']()+_0x7b9a('0x23'));return![];}}return!![];};exports['showNotification']=function(_0x54df8a,_0x1969f4,_0x58fec8,_0x5be740,_0x3847b4){return sendNotification(!![],_0x54df8a,_0x1969f4,_0x58fec8,_0x5be740,_0x3847b4);};exports['hideNotification']=function(_0x5c89b6,_0x314b6d,_0x4fee38,_0x1553ae,_0x2e6144){return sendNotification(![],_0x5c89b6,_0x314b6d,_0x4fee38,_0x1553ae,_0x2e6144);};exports[_0x7b9a('0x24')]=writeLog;