a3448f215066f19c5958302220f3101ce79a55c2
[motion2.git] / server / config / utils.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 _0xe0e8=['bluebird','../mysqldb','./license/util','voice','mail','chat','sms','whatsapp','openchannel','getChannels','isValidChannel','toLowerCase','includes','clearBlockUser','isUndefined','blockedAt','role','agent','User','count','then','agents','catch','lodash'];(function(_0xc8f7fa,_0x240856){var _0x1ed515=function(_0x44e9dc){while(--_0x44e9dc){_0xc8f7fa['push'](_0xc8f7fa['shift']());}};_0x1ed515(++_0x240856);}(_0xe0e8,0x1c7));var _0x8e0e=function(_0xc80551,_0x579477){_0xc80551=_0xc80551-0x0;var _0x25e526=_0xe0e8[_0xc80551];return _0x25e526;};'use strict';var _=require(_0x8e0e('0x0'));var BPromise=require(_0x8e0e('0x1'));var db=require(_0x8e0e('0x2'))['db'];var util=require(_0x8e0e('0x3'));var channels=[_0x8e0e('0x4'),_0x8e0e('0x5'),_0x8e0e('0x6'),'fax',_0x8e0e('0x7'),_0x8e0e('0x8'),_0x8e0e('0x9')];exports[_0x8e0e('0xa')]=function(){return channels;};exports[_0x8e0e('0xb')]=function(_0x3cf465){_0x3cf465=_0x3cf465[_0x8e0e('0xc')]();return _[_0x8e0e('0xd')](channels,_0x3cf465);};exports[_0x8e0e('0xe')]=function(_0x4d84a6,_0x25f852,_0x5cdd89,_0x12642a){var _0x3dc74d={'loginAttempts':_0x25f852,'blocked':_0x5cdd89};if(!_[_0x8e0e('0xf')](_0x12642a)){_0x3dc74d[_0x8e0e('0x10')]=_0x12642a;}return _0x4d84a6['updateAttributes'](_0x3dc74d);};exports['getLicense']=function(_0x238ddd){return new BPromise(function(_0x568434,_0x4de41a){var _0x824111=0x0;if(_0x238ddd[_0x8e0e('0x11')]!==_0x8e0e('0x12')){_0x568434(_0x238ddd);}db[_0x8e0e('0x13')][_0x8e0e('0x14')]({'where':{'role':'agent','online':!![],'id':{'$ne':_0x238ddd['id']}}})[_0x8e0e('0x15')](function(_0x3ecb52){_0x824111=_0x3ecb52;return util['getLicense']();})['then'](function(_0x50e0fe){if(_0x50e0fe&&_0x50e0fe[_0x8e0e('0x16')]&&_0x824111>=_0x50e0fe['agents']){throw Error('Maximum\x20login\x20has\x20been\x20reached');}_0x568434(_0x238ddd);})[_0x8e0e('0x17')](function(_0x173ef5){_0x4de41a(_0x173ef5);});});};