96fe6dfce05e8ba741f51c98db70c0b2780d6df5
[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 _0xfb58=['bluebird','voice','chat','fax','whatsapp','openchannel','getChannels','isValidChannel','includes','clearBlockUser','isUndefined','blockedAt','updateAttributes','getLicense','role','agent','count','then','agents','catch','lodash'];(function(_0xacd1fd,_0x24f8ea){var _0x3d370b=function(_0x2f8eb4){while(--_0x2f8eb4){_0xacd1fd['push'](_0xacd1fd['shift']());}};_0x3d370b(++_0x24f8ea);}(_0xfb58,0xd1));var _0x8fb5=function(_0x7cc040,_0x296c59){_0x7cc040=_0x7cc040-0x0;var _0x294d23=_0xfb58[_0x7cc040];return _0x294d23;};'use strict';var _=require(_0x8fb5('0x0'));var BPromise=require(_0x8fb5('0x1'));var db=require('../mysqldb')['db'];var util=require('./license/util');var channels=[_0x8fb5('0x2'),'mail',_0x8fb5('0x3'),_0x8fb5('0x4'),'sms',_0x8fb5('0x5'),_0x8fb5('0x6')];exports[_0x8fb5('0x7')]=function(){return channels;};exports[_0x8fb5('0x8')]=function(_0x1d855c){_0x1d855c=_0x1d855c['toLowerCase']();return _[_0x8fb5('0x9')](channels,_0x1d855c);};exports[_0x8fb5('0xa')]=function(_0x5918a0,_0x480a8b,_0x6892de,_0xd3423){var _0x38c11f={'loginAttempts':_0x480a8b,'blocked':_0x6892de};if(!_[_0x8fb5('0xb')](_0xd3423)){_0x38c11f[_0x8fb5('0xc')]=_0xd3423;}return _0x5918a0[_0x8fb5('0xd')](_0x38c11f);};exports[_0x8fb5('0xe')]=function(_0x3406c1){return new BPromise(function(_0x285adc,_0x15c881){var _0x1f60af=0x0;if(_0x3406c1[_0x8fb5('0xf')]!==_0x8fb5('0x10')){_0x285adc(_0x3406c1);}db['User'][_0x8fb5('0x11')]({'where':{'role':_0x8fb5('0x10'),'online':!![],'id':{'$ne':_0x3406c1['id']}}})[_0x8fb5('0x12')](function(_0x172f22){_0x1f60af=_0x172f22;return util[_0x8fb5('0xe')]();})[_0x8fb5('0x12')](function(_0x49598f){if(_0x49598f&&_0x49598f['agents']&&_0x1f60af>=_0x49598f[_0x8fb5('0x13')]){throw Error('Maximum\x20login\x20has\x20been\x20reached');}_0x285adc(_0x3406c1);})[_0x8fb5('0x14')](function(_0x447e76){_0x15c881(_0x447e76);});});};