b600874828422978f28d7ace1f7c26b3e65e345f
[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 _0x4dd3=['localhost','socket.io-emitter','format','user:%s','name','emit','split','\x20interaction','notificationSound','account','notificationShake','body','queue','msg','notificationTemplate','I\x20can\x27t\x20render\x20your\x20template','error','[%s][QUEUE]\x20%s','message','remove','info','isAgentAvailable','BUSY','online','OFFLINE','Pause','PAUSE','hasOwnProperty','Capacity','CurrentCapacity','toUpperCase','\x20MAXCAPACITY','showNotification','hideNotification','writeLog','lodash','util','../utils','../../../../../config/environment','routing','redis','defaults'];(function(_0xd1c39b,_0x16f0c6){var _0x58f5bc=function(_0x412cf3){while(--_0x412cf3){_0xd1c39b['push'](_0xd1c39b['shift']());}};_0x58f5bc(++_0x16f0c6);}(_0x4dd3,0xf5));var _0x34dd=function(_0x3a7634,_0x2db384){_0x3a7634=_0x3a7634-0x0;var _0x23bbe9=_0x4dd3[_0x3a7634];return _0x23bbe9;};'use strict';var _=require(_0x34dd('0x0'));var util=require(_0x34dd('0x1'));var utils=require(_0x34dd('0x2'));var Mustache=require('mustache');var Redis=require('ioredis');var config=require(_0x34dd('0x3'));var logger=require('../../../../../config/logger')(_0x34dd('0x4'));config[_0x34dd('0x5')]=_[_0x34dd('0x6')](config['redis'],{'host':_0x34dd('0x7'),'port':0x18eb});var io=require(_0x34dd('0x8'))(new Redis(config[_0x34dd('0x5')]));function emit(_0x365482,_0x3a3429,_0x5e8911){io['to'](_0x365482)['emit'](_0x3a3429,_0x5e8911);}function sendNotification(_0xc0c516,_0x471534,_0x2edf24,_0x4e1bc8,_0x385df5,_0x1a814d){io['to'](util[_0x34dd('0x9')](_0x34dd('0xa'),_0x4e1bc8[_0x34dd('0xb')]))[_0x34dd('0xc')]('user:save',_0x4e1bc8);var _0xd1ffe5=_0x1a814d||{};var _0x6ad609=_0x2edf24[_0x34dd('0xd')]('.');var _0x213e4a={'uniqueid':_0x471534,'channel':_0x6ad609[0x0],'id':_0x6ad609[0x1],'title':_0x6ad609[0x0]+_0x34dd('0xe'),'interactionId':_0x6ad609[0x2],'queue':_0x385df5?_0x385df5['name']:null,'sound':_0xd1ffe5['account'][_0x34dd('0xf')],'shake':_0xd1ffe5[_0x34dd('0x10')][_0x34dd('0x11')]};try{if(!_0xd1ffe5['body']){_0xd1ffe5[_0x34dd('0x12')]={};}if(_0x385df5){_0xd1ffe5['body'][_0x34dd('0x13')]=_0x385df5;}else if(_0xd1ffe5[_0x34dd('0x12')][_0x34dd('0x13')]){delete _0xd1ffe5[_0x34dd('0x12')][_0x34dd('0x13')];}_0x213e4a[_0x34dd('0x14')]=utils['getMustacheRender'](_0xd1ffe5[_0x34dd('0x10')][_0x34dd('0x15')],_0xd1ffe5);}catch(_0x45d057){_0x213e4a[_0x34dd('0x14')]=_0x34dd('0x16');logger[_0x34dd('0x17')](util[_0x34dd('0x9')](_0x34dd('0x18'),_0x471534,_0x45d057[_0x34dd('0x19')]));}io['to'](util[_0x34dd('0x9')](_0x34dd('0xa'),_0x4e1bc8[_0x34dd('0xb')]))[_0x34dd('0xc')](util[_0x34dd('0x9')]('notification:%s',_0xc0c516?'save':_0x34dd('0x1a')),_0x213e4a);}function writeLog(_0x4012f9,_0xb414a6,_0x31f549){return logger[_0x34dd('0x1b')](util[_0x34dd('0x9')]('[%s][QUEUE][AGENT:%s][STATUS:%s]',_0x4012f9,_0xb414a6[_0x34dd('0xb')],_0x31f549));}exports[_0x34dd('0x1c')]=function(_0x4a59f9,_0x524ed9,_0x4d8d41,_0x1e3d81){if(_0x524ed9['busy']){writeLog(_0x4a59f9,_0x524ed9,_0x34dd('0x1d'));return![];}if(!_0x524ed9[_0x34dd('0x1e')]){writeLog(_0x4a59f9,_0x524ed9,_0x34dd('0x1f'));return![];}if(_0x524ed9[_0x4d8d41+_0x34dd('0x20')]){writeLog(_0x4a59f9,_0x524ed9,_0x34dd('0x21'));return![];}if(_0x1e3d81&&_0x524ed9['hasOwnProperty'](_0x4d8d41+'Capacity')&&_0x524ed9[_0x34dd('0x22')](_0x4d8d41+'CurrentCapacity')){if(_0x524ed9[_0x4d8d41+_0x34dd('0x23')]>0x0&&_0x524ed9[_0x4d8d41+_0x34dd('0x24')]>=_0x524ed9[_0x4d8d41+_0x34dd('0x23')]){writeLog(_0x4a59f9,_0x524ed9,_0x4d8d41[_0x34dd('0x25')]()+_0x34dd('0x26'));return![];}}return!![];};exports[_0x34dd('0x27')]=function(_0x5e4510,_0x1bfd93,_0xe76ba7,_0x483d68,_0x380273){return sendNotification(!![],_0x5e4510,_0x1bfd93,_0xe76ba7,_0x483d68,_0x380273);};exports[_0x34dd('0x28')]=function(_0x172a8a,_0x24d42c,_0x4f68ba,_0x5bef8e,_0x991b71){return sendNotification(![],_0x172a8a,_0x24d42c,_0x4f68ba,_0x5bef8e,_0x991b71);};exports[_0x34dd('0x29')]=writeLog;