4639255c1cad8734b3086d994996df2b18023c6f
[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 _0x3209=['status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User','isUserLimit','crypto','util','../../mysqldb','../../config/environment','license','data1','split','format','%s:%s:%s','base64','utf8','final','hasOwnProperty','use','License','findOne','then','count'];(function(_0x2ba69c,_0x1f9608){var _0x1445b4=function(_0x509e2e){while(--_0x509e2e){_0x2ba69c['push'](_0x2ba69c['shift']());}};_0x1445b4(++_0x1f9608);}(_0x3209,0x7e));var _0x9320=function(_0x3ca34b,_0x221983){_0x3ca34b=_0x3ca34b-0x0;var _0x527bef=_0x3209[_0x3ca34b];return _0x527bef;};'use strict';var crypto=require(_0x9320('0x0'));var util=require(_0x9320('0x1'));var compose=require('composable-middleware');var db=require(_0x9320('0x2'))['db'];var config=require(_0x9320('0x3'));function getValueFromLicense(_0x146a6b,_0x3e5d93){if(_0x146a6b&&_0x3e5d93){if(_0x3e5d93['data1']&&_0x3e5d93[_0x9320('0x4')]){var _0x49a6f5=_0x3e5d93[_0x9320('0x5')];var _0x5d7897=_0x3e5d93[_0x9320('0x4')];var _0x24c6ae=_0x49a6f5[_0x9320('0x6')]('-')[0x4];var _0x4de44e=_0x49a6f5[_0x9320('0x6')]('-')[0x0];var _0x40fd64=crypto['createDecipher']('aes-256-ctr',util[_0x9320('0x7')](_0x9320('0x8'),_0x24c6ae,_0x49a6f5,_0x4de44e));var _0x587c10=_0x40fd64['update'](_0x5d7897,_0x9320('0x9'),_0x9320('0xa'));_0x587c10+=_0x40fd64[_0x9320('0xb')](_0x9320('0xa'));var _0xcd0739=JSON['parse'](_0x587c10);return _0xcd0739[_0x9320('0xc')](_0x146a6b)?_0xcd0739[_0x146a6b]:null;}}return null;}function isLimit(_0x25947b,_0x530aee,_0xaab975,_0x34a4b7){var _0x33cd33=_0x530aee;return compose()[_0x9320('0xd')](function(_0x233494,_0xa466cd,_0x48708e){return db[_0x9320('0xe')][_0x9320('0xf')]({'where':{'id':0x1},'raw':!![]})[_0x9320('0x10')](function(_0x1b649e){var _0x39ee14=getValueFromLicense(_0x25947b,_0x1b649e);return _0x39ee14?_0x39ee14:_0x33cd33;})[_0x9320('0x10')](function(_0x433655){_0x33cd33=_0x433655;return _0xaab975[_0x9320('0x11')](_0x34a4b7);})[_0x9320('0x10')](function(_0x4195c7){if(_0x4195c7>=_0x33cd33){return _0xa466cd[_0x9320('0x12')](0x193)[_0x9320('0x13')]({'message':util[_0x9320('0x7')](_0x9320('0x14'),_0x25947b)});}_0x48708e();})['catch'](function(_0x54dcf2){_0x48708e(_0x54dcf2);});});}function isUserLimit(){return isLimit(_0x9320('0x15'),0x1,db[_0x9320('0x16')],{'where':{'$or':[{'role':'admin'},{'role':'user'}]}});}exports[_0x9320('0x17')]=isUserLimit;