Built motion from commit (unavailable).|2.4.17
[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 _0xac7f=['[%s][QUEUE]\x20%s','message','user:%s','save','remove','info','[%s][QUEUE][AGENT:%s][STATUS:%s]','isAgentAvailable','busy','BUSY','online','OFFLINE','Pause','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','hideNotification','writeLog','lodash','../utils','mustache','ioredis','../../../../../config/logger','routing','redis','defaults','localhost','name','emit','user:save','\x20interaction','account','notificationSound','body','queue','getMustacheRender','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','format'];(function(_0x5d6456,_0x58ecc7){var _0x4d66c1=function(_0x4335e3){while(--_0x4335e3){_0x5d6456['push'](_0x5d6456['shift']());}};_0x4d66c1(++_0x58ecc7);}(_0xac7f,0x1e2));var _0xfac7=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0xac7f[_0x432682];return _0x463d05;};'use strict';var _=require(_0xfac7('0x0'));var util=require('util');var utils=require(_0xfac7('0x1'));var Mustache=require(_0xfac7('0x2'));var Redis=require(_0xfac7('0x3'));var config=require('../../../../../config/environment');var logger=require(_0xfac7('0x4'))(_0xfac7('0x5'));config[_0xfac7('0x6')]=_[_0xfac7('0x7')](config[_0xfac7('0x6')],{'host':_0xfac7('0x8'),'port':0x18eb});var io=require('socket.io-emitter')(new Redis(config[_0xfac7('0x6')]));function emit(_0x5be533,_0x100c9c,_0x1d177b){io['to'](_0x5be533)['emit'](_0x100c9c,_0x1d177b);}function sendNotification(_0x250c99,_0x1a5768,_0x2ee7c8,_0x529223,_0x3e464d,_0x127867){io['to'](util['format']('user:%s',_0x529223[_0xfac7('0x9')]))[_0xfac7('0xa')](_0xfac7('0xb'),_0x529223);var _0x567673=_0x127867||{};var _0x25990e=_0x2ee7c8['split']('.');var _0x2ffa5a={'uniqueid':_0x1a5768,'channel':_0x25990e[0x0],'id':_0x25990e[0x1],'title':_0x25990e[0x0]+_0xfac7('0xc'),'interactionId':_0x25990e[0x2],'queue':_0x3e464d?_0x3e464d[_0xfac7('0x9')]:null,'sound':_0x567673[_0xfac7('0xd')][_0xfac7('0xe')],'shake':_0x567673[_0xfac7('0xd')]['notificationShake']};try{if(!_0x567673['body']){_0x567673[_0xfac7('0xf')]={};}if(_0x3e464d){_0x567673['body'][_0xfac7('0x10')]=_0x3e464d;}else if(_0x567673[_0xfac7('0xf')]['queue']){delete _0x567673[_0xfac7('0xf')][_0xfac7('0x10')];}_0x2ffa5a['msg']=utils[_0xfac7('0x11')](_0x567673[_0xfac7('0xd')][_0xfac7('0x12')],_0x567673);}catch(_0x30ed17){_0x2ffa5a['msg']=_0xfac7('0x13');logger[_0xfac7('0x14')](util[_0xfac7('0x15')](_0xfac7('0x16'),_0x1a5768,_0x30ed17[_0xfac7('0x17')]));}io['to'](util[_0xfac7('0x15')](_0xfac7('0x18'),_0x529223[_0xfac7('0x9')]))[_0xfac7('0xa')](util['format']('notification:%s',_0x250c99?_0xfac7('0x19'):_0xfac7('0x1a')),_0x2ffa5a);}function writeLog(_0x48d266,_0x1325fc,_0x122e9c){return logger[_0xfac7('0x1b')](util[_0xfac7('0x15')](_0xfac7('0x1c'),_0x48d266,_0x1325fc[_0xfac7('0x9')],_0x122e9c));}exports[_0xfac7('0x1d')]=function(_0xe26ff5,_0x2229aa,_0x46e150,_0x57958f){if(_0x2229aa[_0xfac7('0x1e')]){writeLog(_0xe26ff5,_0x2229aa,_0xfac7('0x1f'));return![];}if(!_0x2229aa[_0xfac7('0x20')]){writeLog(_0xe26ff5,_0x2229aa,_0xfac7('0x21'));return![];}if(_0x2229aa[_0x46e150+_0xfac7('0x22')]){writeLog(_0xe26ff5,_0x2229aa,'PAUSE');return![];}if(_0x57958f&&_0x2229aa[_0xfac7('0x23')](_0x46e150+_0xfac7('0x24'))&&_0x2229aa[_0xfac7('0x23')](_0x46e150+_0xfac7('0x25'))){if(_0x2229aa[_0x46e150+_0xfac7('0x24')]>0x0&&_0x2229aa[_0x46e150+_0xfac7('0x25')]>=_0x2229aa[_0x46e150+'Capacity']){writeLog(_0xe26ff5,_0x2229aa,_0x46e150[_0xfac7('0x26')]()+_0xfac7('0x27'));return![];}}return!![];};exports['showNotification']=function(_0x293469,_0x1aa4c5,_0x127312,_0x17b8e0,_0xe354b9){return sendNotification(!![],_0x293469,_0x1aa4c5,_0x127312,_0x17b8e0,_0xe354b9);};exports[_0xfac7('0x28')]=function(_0x4af388,_0x3f9c66,_0x49b341,_0x1e190b,_0x478f14){return sendNotification(![],_0x4af388,_0x3f9c66,_0x49b341,_0x1e190b,_0x478f14);};exports[_0xfac7('0x29')]=writeLog;