Built motion from commit 753c950e.|2.5.42
[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 _0x4260=['then','agents','Maximum\x20login\x20has\x20been\x20reached','catch','../mysqldb','voice','mail','chat','fax','openchannel','getChannels','toLowerCase','clearBlockUser','isUndefined','updateAttributes','getLicense','role','User','count','agent'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0x4260,0x108));var _0x0426=function(_0x56018e,_0x309ad5){_0x56018e=_0x56018e-0x0;var _0x5cb725=_0x4260[_0x56018e];return _0x5cb725;};'use strict';var _=require('lodash');var BPromise=require('bluebird');var db=require(_0x0426('0x0'))['db'];var util=require('./license/util');var channels=[_0x0426('0x1'),_0x0426('0x2'),_0x0426('0x3'),_0x0426('0x4'),'sms','whatsapp',_0x0426('0x5')];exports[_0x0426('0x6')]=function(){return channels;};exports['isValidChannel']=function(_0x40356a){_0x40356a=_0x40356a[_0x0426('0x7')]();return _['includes'](channels,_0x40356a);};exports[_0x0426('0x8')]=function(_0x30ef35,_0x1c706a,_0x50676d,_0x1f459b){var _0x2e1bf4={'loginAttempts':_0x1c706a,'blocked':_0x50676d};if(!_[_0x0426('0x9')](_0x1f459b)){_0x2e1bf4['blockedAt']=_0x1f459b;}return _0x30ef35[_0x0426('0xa')](_0x2e1bf4);};exports[_0x0426('0xb')]=function(_0x25b032){return new BPromise(function(_0x45baa3,_0x314a5d){var _0x55ccd9=0x0;if(_0x25b032[_0x0426('0xc')]!=='agent'){_0x45baa3(_0x25b032);}db[_0x0426('0xd')][_0x0426('0xe')]({'where':{'role':_0x0426('0xf'),'online':!![],'id':{'$ne':_0x25b032['id']}}})[_0x0426('0x10')](function(_0x577ad4){_0x55ccd9=_0x577ad4;return util[_0x0426('0xb')]();})[_0x0426('0x10')](function(_0x40fd8b){if(_0x40fd8b&&_0x40fd8b[_0x0426('0x11')]&&_0x55ccd9>=_0x40fd8b[_0x0426('0x11')]){throw Error(_0x0426('0x12'));}_0x45baa3(_0x25b032);})[_0x0426('0x13')](function(_0x3cef0a){_0x314a5d(_0x3cef0a);});});};