Built motion from commit (unavailable).|2.5.10
[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 _0xdd15=['role','agent','User','count','then','getLicense','agents','catch','lodash','bluebird','./license/util','voice','fax','sms','whatsapp','openchannel','getChannels','isValidChannel','includes','clearBlockUser','isUndefined','blockedAt'];(function(_0x5d3216,_0x3ec160){var _0x3b6dec=function(_0x2371c3){while(--_0x2371c3){_0x5d3216['push'](_0x5d3216['shift']());}};_0x3b6dec(++_0x3ec160);}(_0xdd15,0x17e));var _0x5dd1=function(_0x533e4e,_0x4eba54){_0x533e4e=_0x533e4e-0x0;var _0x1f14bb=_0xdd15[_0x533e4e];return _0x1f14bb;};'use strict';var _=require(_0x5dd1('0x0'));var BPromise=require(_0x5dd1('0x1'));var db=require('../mysqldb')['db'];var util=require(_0x5dd1('0x2'));var channels=[_0x5dd1('0x3'),'mail','chat',_0x5dd1('0x4'),_0x5dd1('0x5'),_0x5dd1('0x6'),_0x5dd1('0x7')];exports[_0x5dd1('0x8')]=function(){return channels;};exports[_0x5dd1('0x9')]=function(_0x43b266){_0x43b266=_0x43b266['toLowerCase']();return _[_0x5dd1('0xa')](channels,_0x43b266);};exports[_0x5dd1('0xb')]=function(_0x426482,_0x47d9e0,_0x22457f,_0x92a7c9){var _0x5897cd={'loginAttempts':_0x47d9e0,'blocked':_0x22457f};if(!_[_0x5dd1('0xc')](_0x92a7c9)){_0x5897cd[_0x5dd1('0xd')]=_0x92a7c9;}return _0x426482['updateAttributes'](_0x5897cd);};exports['getLicense']=function(_0x583aff){return new BPromise(function(_0x49ab52,_0x3f454c){var _0x3c02eb=0x0;if(_0x583aff[_0x5dd1('0xe')]!==_0x5dd1('0xf')){_0x49ab52(_0x583aff);}db[_0x5dd1('0x10')][_0x5dd1('0x11')]({'where':{'role':'agent','online':!![],'id':{'$ne':_0x583aff['id']}}})[_0x5dd1('0x12')](function(_0x2e44ce){_0x3c02eb=_0x2e44ce;return util[_0x5dd1('0x13')]();})[_0x5dd1('0x12')](function(_0x15c945){if(_0x15c945&&_0x15c945[_0x5dd1('0x14')]&&_0x3c02eb>=_0x15c945['agents']){throw Error('Maximum\x20login\x20has\x20been\x20reached');}_0x49ab52(_0x583aff);})[_0x5dd1('0x15')](function(_0x18695c){_0x3f454c(_0x18695c);});});};