3418aa87ce7431109251c1f6a73d0bfbedc3dba8
[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 _0xe8d3=['json','catch','users','User','admin','isUserLimit','crypto','util','composable-middleware','../../config/environment','data1','license','split','createDecipher','format','%s:%s:%s','update','base64','utf8','parse','hasOwnProperty','use','License','then','count','status'];(function(_0x1facfa,_0x1acf7d){var _0x9ec701=function(_0x115e37){while(--_0x115e37){_0x1facfa['push'](_0x1facfa['shift']());}};_0x9ec701(++_0x1acf7d);}(_0xe8d3,0x1da));var _0x3e8d=function(_0x4b50db,_0x460adb){_0x4b50db=_0x4b50db-0x0;var _0x48084c=_0xe8d3[_0x4b50db];return _0x48084c;};'use strict';var crypto=require(_0x3e8d('0x0'));var util=require(_0x3e8d('0x1'));var compose=require(_0x3e8d('0x2'));var db=require('../../mysqldb')['db'];var config=require(_0x3e8d('0x3'));function getValueFromLicense(_0x2f2289,_0x3ecab0){if(_0x2f2289&&_0x3ecab0){if(_0x3ecab0[_0x3e8d('0x4')]&&_0x3ecab0[_0x3e8d('0x5')]){var _0x4bb445=_0x3ecab0[_0x3e8d('0x4')];var _0x2ea5a0=_0x3ecab0[_0x3e8d('0x5')];var _0x207b26=_0x4bb445[_0x3e8d('0x6')]('-')[0x4];var _0x28fa9d=_0x4bb445[_0x3e8d('0x6')]('-')[0x0];var _0x4d76f6=crypto[_0x3e8d('0x7')]('aes-256-ctr',util[_0x3e8d('0x8')](_0x3e8d('0x9'),_0x207b26,_0x4bb445,_0x28fa9d));var _0x4a67d9=_0x4d76f6[_0x3e8d('0xa')](_0x2ea5a0,_0x3e8d('0xb'),_0x3e8d('0xc'));_0x4a67d9+=_0x4d76f6['final'](_0x3e8d('0xc'));var _0x3f632d=JSON[_0x3e8d('0xd')](_0x4a67d9);return _0x3f632d[_0x3e8d('0xe')](_0x2f2289)?_0x3f632d[_0x2f2289]:null;}}return null;}function isLimit(_0x3f7d84,_0xb38f1a,_0x115960,_0x38cf42){var _0x381997=_0xb38f1a;return compose()[_0x3e8d('0xf')](function(_0x5116a3,_0x38d407,_0x5e452e){return db[_0x3e8d('0x10')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0x3e8d('0x11')](function(_0x37615a){var _0x392b7f=getValueFromLicense(_0x3f7d84,_0x37615a);return _0x392b7f?_0x392b7f:_0x381997;})[_0x3e8d('0x11')](function(_0x32ded0){_0x381997=_0x32ded0;return _0x115960[_0x3e8d('0x12')](_0x38cf42);})[_0x3e8d('0x11')](function(_0x10b7ce){if(_0x10b7ce>=_0x381997){return _0x38d407[_0x3e8d('0x13')](0x193)[_0x3e8d('0x14')]({'message':util[_0x3e8d('0x8')]('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x3f7d84)});}_0x5e452e();})[_0x3e8d('0x15')](function(_0x49f7ff){_0x5e452e(_0x49f7ff);});});}function isUserLimit(){return isLimit(_0x3e8d('0x16'),0x1,db[_0x3e8d('0x17')],{'where':{'$or':[{'role':_0x3e8d('0x18')},{'role':'user'}]}});}exports[_0x3e8d('0x19')]=isUserLimit;