8633283c6ba85e851aeab88de917fde357d2701c
[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 _0xf7ec=['then','agents','catch','lodash','bluebird','../mysqldb','voice','mail','chat','fax','sms','whatsapp','openchannel','getChannels','isValidChannel','toLowerCase','includes','isUndefined','blockedAt','getLicense','role','agent','User','count'];(function(_0x4c73f5,_0x5524bb){var _0x3489ef=function(_0x38d74e){while(--_0x38d74e){_0x4c73f5['push'](_0x4c73f5['shift']());}};_0x3489ef(++_0x5524bb);}(_0xf7ec,0xdb));var _0xcf7e=function(_0x287253,_0x380a6f){_0x287253=_0x287253-0x0;var _0x57c547=_0xf7ec[_0x287253];return _0x57c547;};'use strict';var _=require(_0xcf7e('0x0'));var BPromise=require(_0xcf7e('0x1'));var db=require(_0xcf7e('0x2'))['db'];var util=require('./license/util');var channels=[_0xcf7e('0x3'),_0xcf7e('0x4'),_0xcf7e('0x5'),_0xcf7e('0x6'),_0xcf7e('0x7'),_0xcf7e('0x8'),_0xcf7e('0x9')];exports[_0xcf7e('0xa')]=function(){return channels;};exports[_0xcf7e('0xb')]=function(_0x9a3a2f){_0x9a3a2f=_0x9a3a2f[_0xcf7e('0xc')]();return _[_0xcf7e('0xd')](channels,_0x9a3a2f);};exports['clearBlockUser']=function(_0x1809e7,_0x4087a9,_0x185f33,_0x5be0d0){var _0x6cf93f={'loginAttempts':_0x4087a9,'blocked':_0x185f33};if(!_[_0xcf7e('0xe')](_0x5be0d0)){_0x6cf93f[_0xcf7e('0xf')]=_0x5be0d0;}return _0x1809e7['updateAttributes'](_0x6cf93f);};exports[_0xcf7e('0x10')]=function(_0x305617){return new BPromise(function(_0x54dea7,_0xb5c913){var _0x1140bd=0x0;if(_0x305617[_0xcf7e('0x11')]!==_0xcf7e('0x12')){_0x54dea7(_0x305617);}db[_0xcf7e('0x13')][_0xcf7e('0x14')]({'where':{'role':_0xcf7e('0x12'),'online':!![],'id':{'$ne':_0x305617['id']}}})[_0xcf7e('0x15')](function(_0x363441){_0x1140bd=_0x363441;return util[_0xcf7e('0x10')]();})[_0xcf7e('0x15')](function(_0x52e8dc){if(_0x52e8dc&&_0x52e8dc[_0xcf7e('0x16')]&&_0x1140bd>=_0x52e8dc['agents']){throw Error('Maximum\x20login\x20has\x20been\x20reached');}_0x54dea7(_0x305617);})[_0xcf7e('0x17')](function(_0x247931){_0xb5c913(_0x247931);});});};