da705b3008bd4ec2161f1814c7e4f140c829c486
[motion2.git] / server / components / license / service.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 _0x3c25=['users','User','admin','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','update','base64','utf8','final','parse','hasOwnProperty','use','License','findOne','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch'];(function(_0x4c71a4,_0x1fe6e1){var _0x50737a=function(_0x3ac118){while(--_0x3ac118){_0x4c71a4['push'](_0x4c71a4['shift']());}};_0x50737a(++_0x1fe6e1);}(_0x3c25,0x1e5));var _0x53c2=function(_0x5655af,_0x38a1fe){_0x5655af=_0x5655af-0x0;var _0x3df287=_0x3c25[_0x5655af];return _0x3df287;};'use strict';var crypto=require(_0x53c2('0x0'));var util=require(_0x53c2('0x1'));var compose=require(_0x53c2('0x2'));var db=require(_0x53c2('0x3'))['db'];var config=require(_0x53c2('0x4'));function getValueFromLicense(_0x3d01f5,_0x573fbc){if(_0x3d01f5&&_0x573fbc){if(_0x573fbc['data1']&&_0x573fbc['license']){var _0x2982d1=_0x573fbc[_0x53c2('0x5')];var _0x1fe984=_0x573fbc[_0x53c2('0x6')];var _0x4eeb8a=_0x2982d1[_0x53c2('0x7')]('-')[0x4];var _0x41fde7=_0x2982d1[_0x53c2('0x7')]('-')[0x0];var _0x5308e4=crypto[_0x53c2('0x8')](_0x53c2('0x9'),util[_0x53c2('0xa')]('%s:%s:%s',_0x4eeb8a,_0x2982d1,_0x41fde7));var _0x573ed6=_0x5308e4[_0x53c2('0xb')](_0x1fe984,_0x53c2('0xc'),_0x53c2('0xd'));_0x573ed6+=_0x5308e4[_0x53c2('0xe')](_0x53c2('0xd'));var _0x4fdfeb=JSON[_0x53c2('0xf')](_0x573ed6);return _0x4fdfeb[_0x53c2('0x10')](_0x3d01f5)?_0x4fdfeb[_0x3d01f5]:null;}}return null;}function isLimit(_0x50deb7,_0x1ddd96,_0x4802f1,_0x36dc2f){var _0x4b3043=_0x1ddd96;return compose()[_0x53c2('0x11')](function(_0x15be12,_0x214026,_0x5c2432){return db[_0x53c2('0x12')][_0x53c2('0x13')]({'where':{'id':0x1},'raw':!![]})[_0x53c2('0x14')](function(_0x1c70f0){var _0x413f29=getValueFromLicense(_0x50deb7,_0x1c70f0);return _0x413f29?_0x413f29:_0x4b3043;})[_0x53c2('0x14')](function(_0x56d489){_0x4b3043=_0x56d489;return _0x4802f1['count'](_0x36dc2f);})['then'](function(_0x1ddcb6){if(_0x1ddcb6>=_0x4b3043){return _0x214026[_0x53c2('0x15')](0x193)[_0x53c2('0x16')]({'message':util[_0x53c2('0xa')](_0x53c2('0x17'),_0x50deb7)});}_0x5c2432();})[_0x53c2('0x18')](function(_0x4ff5e9){_0x5c2432(_0x4ff5e9);});});}function isUserLimit(){return isLimit(_0x53c2('0x19'),0x1,db[_0x53c2('0x1a')],{'where':{'$or':[{'role':_0x53c2('0x1b')},{'role':_0x53c2('0x1c')}]}});}exports[_0x53c2('0x1d')]=isUserLimit;