37e176da90af27cc9aa42d11da60d69d002b14f9
[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 _0x4128=['whatsapp','openchannel','isValidChannel','toLowerCase','includes','clearBlockUser','isUndefined','blockedAt','updateAttributes','getLicense','role','agent','User','then','agents','catch','bluebird','../mysqldb','chat','fax'];(function(_0x12f688,_0x585c25){var _0x59c3de=function(_0x4ac301){while(--_0x4ac301){_0x12f688['push'](_0x12f688['shift']());}};_0x59c3de(++_0x585c25);}(_0x4128,0x1f0));var _0x8412=function(_0x15b071,_0x7e182e){_0x15b071=_0x15b071-0x0;var _0xa3a80f=_0x4128[_0x15b071];return _0xa3a80f;};'use strict';var _=require('lodash');var BPromise=require(_0x8412('0x0'));var db=require(_0x8412('0x1'))['db'];var util=require('./license/util');var channels=['voice','mail',_0x8412('0x2'),_0x8412('0x3'),'sms',_0x8412('0x4'),_0x8412('0x5')];exports['getChannels']=function(){return channels;};exports[_0x8412('0x6')]=function(_0x58cbcd){_0x58cbcd=_0x58cbcd[_0x8412('0x7')]();return _[_0x8412('0x8')](channels,_0x58cbcd);};exports[_0x8412('0x9')]=function(_0x29d249,_0x4ad215,_0x157827,_0x37003d){var _0x35a0d5={'loginAttempts':_0x4ad215,'blocked':_0x157827};if(!_[_0x8412('0xa')](_0x37003d)){_0x35a0d5[_0x8412('0xb')]=_0x37003d;}return _0x29d249[_0x8412('0xc')](_0x35a0d5);};exports[_0x8412('0xd')]=function(_0x36c727){return new BPromise(function(_0x269e03,_0x314a25){var _0xd667cc=0x0;if(_0x36c727[_0x8412('0xe')]!==_0x8412('0xf')){_0x269e03(_0x36c727);}db[_0x8412('0x10')]['count']({'where':{'role':_0x8412('0xf'),'online':!![],'id':{'$ne':_0x36c727['id']}}})[_0x8412('0x11')](function(_0x4524e5){_0xd667cc=_0x4524e5;return util[_0x8412('0xd')]();})[_0x8412('0x11')](function(_0x2fd228){if(_0x2fd228&&_0x2fd228['agents']&&_0xd667cc>=_0x2fd228[_0x8412('0x12')]){throw Error('Maximum\x20login\x20has\x20been\x20reached');}_0x269e03(_0x36c727);})[_0x8412('0x13')](function(_0x4c39c2){_0x314a25(_0x4c39c2);});});};