b184206b1dac7cd9674df0299ab67f3ac1f25a42
[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 _0x4975=['notificationShake','body','queue','msg','getMustacheRender','notificationTemplate','error','[%s][QUEUE]\x20%s','notification:%s','save','remove','isAgentAvailable','online','OFFLINE','Pause','PAUSE','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','lodash','../utils','mustache','ioredis','../../../../../config/environment','../../../../../config/logger','routing','redis','defaults','localhost','emit','format','user:%s','name','user:save','\x20interaction','account','notificationSound'];(function(_0x333c74,_0x38d655){var _0x23d1f8=function(_0x26d9ab){while(--_0x26d9ab){_0x333c74['push'](_0x333c74['shift']());}};_0x23d1f8(++_0x38d655);}(_0x4975,0x86));var _0x5497=function(_0x464c7a,_0x466f0b){_0x464c7a=_0x464c7a-0x0;var _0x54c6ad=_0x4975[_0x464c7a];return _0x54c6ad;};'use strict';var _=require(_0x5497('0x0'));var util=require('util');var utils=require(_0x5497('0x1'));var Mustache=require(_0x5497('0x2'));var Redis=require(_0x5497('0x3'));var config=require(_0x5497('0x4'));var logger=require(_0x5497('0x5'))(_0x5497('0x6'));config[_0x5497('0x7')]=_[_0x5497('0x8')](config[_0x5497('0x7')],{'host':_0x5497('0x9'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0x5497('0x7')]));function emit(_0x4f563d,_0x1d0019,_0x674a2a){io['to'](_0x4f563d)[_0x5497('0xa')](_0x1d0019,_0x674a2a);}function sendNotification(_0x57f930,_0x42af11,_0x49d94b,_0x1f63d8,_0x29c93f,_0x2ec5a4){io['to'](util[_0x5497('0xb')](_0x5497('0xc'),_0x1f63d8[_0x5497('0xd')]))[_0x5497('0xa')](_0x5497('0xe'),_0x1f63d8);var _0x50d716=_0x2ec5a4||{};var _0x5874ef=_0x49d94b['split']('.');var _0xc250bb={'uniqueid':_0x42af11,'channel':_0x5874ef[0x0],'id':_0x5874ef[0x1],'title':_0x5874ef[0x0]+_0x5497('0xf'),'interactionId':_0x5874ef[0x2],'queue':_0x29c93f?_0x29c93f[_0x5497('0xd')]:null,'sound':_0x50d716[_0x5497('0x10')][_0x5497('0x11')],'shake':_0x50d716[_0x5497('0x10')][_0x5497('0x12')]};try{if(!_0x50d716[_0x5497('0x13')]){_0x50d716[_0x5497('0x13')]={};}if(_0x29c93f){_0x50d716[_0x5497('0x13')]['queue']=_0x29c93f;}else if(_0x50d716[_0x5497('0x13')]['queue']){delete _0x50d716[_0x5497('0x13')][_0x5497('0x14')];}_0xc250bb[_0x5497('0x15')]=utils[_0x5497('0x16')](_0x50d716[_0x5497('0x10')][_0x5497('0x17')],_0x50d716);}catch(_0x2f2997){_0xc250bb['msg']='I\x20can\x27t\x20render\x20your\x20template';logger[_0x5497('0x18')](util[_0x5497('0xb')](_0x5497('0x19'),_0x42af11,_0x2f2997['message']));}io['to'](util[_0x5497('0xb')](_0x5497('0xc'),_0x1f63d8[_0x5497('0xd')]))[_0x5497('0xa')](util[_0x5497('0xb')](_0x5497('0x1a'),_0x57f930?_0x5497('0x1b'):_0x5497('0x1c')),_0xc250bb);}function writeLog(_0x2e3960,_0x3f54ef,_0x186065){return logger['info'](util[_0x5497('0xb')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x2e3960,_0x3f54ef[_0x5497('0xd')],_0x186065));}exports[_0x5497('0x1d')]=function(_0x44265c,_0x2f587d,_0x35ecd9,_0x3b2fbc){if(_0x2f587d['busy']){writeLog(_0x44265c,_0x2f587d,'BUSY');return![];}if(!_0x2f587d[_0x5497('0x1e')]){writeLog(_0x44265c,_0x2f587d,_0x5497('0x1f'));return![];}if(_0x2f587d[_0x35ecd9+_0x5497('0x20')]){writeLog(_0x44265c,_0x2f587d,_0x5497('0x21'));return![];}if(_0x3b2fbc&&_0x2f587d['hasOwnProperty'](_0x35ecd9+_0x5497('0x22'))&&_0x2f587d['hasOwnProperty'](_0x35ecd9+_0x5497('0x23'))){if(_0x2f587d[_0x35ecd9+_0x5497('0x22')]>0x0&&_0x2f587d[_0x35ecd9+_0x5497('0x23')]>=_0x2f587d[_0x35ecd9+_0x5497('0x22')]){writeLog(_0x44265c,_0x2f587d,_0x35ecd9[_0x5497('0x24')]()+_0x5497('0x25'));return![];}}return!![];};exports['showNotification']=function(_0x4af5f4,_0x5406e2,_0x583d06,_0x498f15,_0x39a2b7){return sendNotification(!![],_0x4af5f4,_0x5406e2,_0x583d06,_0x498f15,_0x39a2b7);};exports['hideNotification']=function(_0x5e9356,_0xc3465,_0xb14593,_0x1cf908,_0x4c442a){return sendNotification(![],_0x5e9356,_0xc3465,_0xb14593,_0x1cf908,_0x4c442a);};exports['writeLog']=writeLog;