1 // *************************************************************************
3 // * xCALLY Motion - The Omnichannel Contact Center *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved *
6 // *************************************************************************
8 // * Email: info@xcally.com *
9 // * Website: https://www.xcally.com *
11 // *************************************************************************
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. *
17 // *************************************************************************
18 var _0x5421=['isUserLimit','crypto','util','../../mysqldb','../../config/environment','data1','license','split','createDecipher','update','utf8','parse','hasOwnProperty','use','findOne','then','status','Maximum\x20%s\x20limit\x20have\x20been\x20reached','User','admin','user'];(function(_0x26908d,_0x53033b){var _0x3709e6=function(_0x5c17d4){while(--_0x5c17d4){_0x26908d['push'](_0x26908d['shift']());}};_0x3709e6(++_0x53033b);}(_0x5421,0x1cf));var _0x1542=function(_0x33975c,_0x50d085){_0x33975c=_0x33975c-0x0;var _0x1c15ab=_0x5421[_0x33975c];return _0x1c15ab;};'use strict';var crypto=require(_0x1542('0x0'));var util=require(_0x1542('0x1'));var compose=require('composable-middleware');var db=require(_0x1542('0x2'))['db'];var config=require(_0x1542('0x3'));function getValueFromLicense(_0x30c7c6,_0x481450){if(_0x30c7c6&&_0x481450){if(_0x481450[_0x1542('0x4')]&&_0x481450[_0x1542('0x5')]){var _0x493eca=_0x481450[_0x1542('0x4')];var _0x37207f=_0x481450[_0x1542('0x5')];var _0x52a0a4=_0x493eca['split']('-')[0x4];var _0x4c8e0e=_0x493eca[_0x1542('0x6')]('-')[0x0];var _0x273f66=crypto[_0x1542('0x7')]('aes-256-ctr',util['format']('%s:%s:%s',_0x52a0a4,_0x493eca,_0x4c8e0e));var _0x4b87b2=_0x273f66[_0x1542('0x8')](_0x37207f,'base64','utf8');_0x4b87b2+=_0x273f66['final'](_0x1542('0x9'));var _0x32a948=JSON[_0x1542('0xa')](_0x4b87b2);return _0x32a948[_0x1542('0xb')](_0x30c7c6)?_0x32a948[_0x30c7c6]:null;}}return null;}function isLimit(_0x33ae3e,_0x153a6d,_0x497931,_0x4d5314){var _0x34cf23=_0x153a6d;return compose()[_0x1542('0xc')](function(_0x56fee8,_0x31978d,_0x1c891b){return db['License'][_0x1542('0xd')]({'where':{'id':0x1},'raw':!![]})[_0x1542('0xe')](function(_0x29b022){var _0x2ca432=getValueFromLicense(_0x33ae3e,_0x29b022);return _0x2ca432?_0x2ca432:_0x34cf23;})['then'](function(_0x219309){_0x34cf23=_0x219309;return _0x497931['count'](_0x4d5314);})['then'](function(_0x281377){if(_0x281377>=_0x34cf23){return _0x31978d[_0x1542('0xf')](0x193)['json']({'message':util['format'](_0x1542('0x10'),_0x33ae3e)});}_0x1c891b();})['catch'](function(_0x41a8b8){_0x1c891b(_0x41a8b8);});});}function isUserLimit(){return isLimit('users',0x1,db[_0x1542('0x11')],{'where':{'$or':[{'role':_0x1542('0x12')},{'role':_0x1542('0x13')}]}});}exports[_0x1542('0x14')]=isUserLimit;