ae83a02f23c57532a00e841bc534a37128279c69
[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 _0xe4a1=['includes','clearBlockUser','isUndefined','getLicense','agent','User','then','agents','Maximum\x20login\x20has\x20been\x20reached','catch','lodash','bluebird','./license/util','voice','mail','fax','sms','whatsapp'];(function(_0x17e91f,_0xa084e7){var _0x132aab=function(_0x7d8d8a){while(--_0x7d8d8a){_0x17e91f['push'](_0x17e91f['shift']());}};_0x132aab(++_0xa084e7);}(_0xe4a1,0xf4));var _0x1e4a=function(_0x29257,_0x3a471e){_0x29257=_0x29257-0x0;var _0xd37c98=_0xe4a1[_0x29257];return _0xd37c98;};'use strict';var _=require(_0x1e4a('0x0'));var BPromise=require(_0x1e4a('0x1'));var db=require('../mysqldb')['db'];var util=require(_0x1e4a('0x2'));var channels=[_0x1e4a('0x3'),_0x1e4a('0x4'),'chat',_0x1e4a('0x5'),_0x1e4a('0x6'),_0x1e4a('0x7'),'openchannel'];exports['getChannels']=function(){return channels;};exports['isValidChannel']=function(_0x3b4a18){_0x3b4a18=_0x3b4a18['toLowerCase']();return _[_0x1e4a('0x8')](channels,_0x3b4a18);};exports[_0x1e4a('0x9')]=function(_0x57e02a,_0x4d195a,_0x4d3cd0,_0x3fda97){var _0x3191a6={'loginAttempts':_0x4d195a,'blocked':_0x4d3cd0};if(!_[_0x1e4a('0xa')](_0x3fda97)){_0x3191a6['blockedAt']=_0x3fda97;}return _0x57e02a['updateAttributes'](_0x3191a6);};exports[_0x1e4a('0xb')]=function(_0x3d8f28){return new BPromise(function(_0x45f5bf,_0x3d9ff6){var _0x4fddb6=0x0;if(_0x3d8f28['role']!==_0x1e4a('0xc')){_0x45f5bf(_0x3d8f28);}db[_0x1e4a('0xd')]['count']({'where':{'role':_0x1e4a('0xc'),'online':!![],'id':{'$ne':_0x3d8f28['id']}}})[_0x1e4a('0xe')](function(_0x43461d){_0x4fddb6=_0x43461d;return util[_0x1e4a('0xb')]();})[_0x1e4a('0xe')](function(_0x3a7f99){if(_0x3a7f99&&_0x3a7f99['agents']&&_0x4fddb6>=_0x3a7f99[_0x1e4a('0xf')]){throw Error(_0x1e4a('0x10'));}_0x45f5bf(_0x3d8f28);})[_0x1e4a('0x11')](function(_0x41b16c){_0x3d9ff6(_0x41b16c);});});};