Built motion from commit (unavailable).|2.4.3
[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 _0x397b=['../../config/environment','data1','license','split','createDecipher','format','%s:%s:%s','update','base64','final','parse','hasOwnProperty','use','License','count','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','isUserLimit','util','composable-middleware','../../mysqldb'];(function(_0x351432,_0x2d2722){var _0x31cbda=function(_0x5f3f03){while(--_0x5f3f03){_0x351432['push'](_0x351432['shift']());}};_0x31cbda(++_0x2d2722);}(_0x397b,0x15b));var _0xb397=function(_0x45f8d9,_0x1c1b41){_0x45f8d9=_0x45f8d9-0x0;var _0x24ede6=_0x397b[_0x45f8d9];return _0x24ede6;};'use strict';var crypto=require('crypto');var util=require(_0xb397('0x0'));var compose=require(_0xb397('0x1'));var db=require(_0xb397('0x2'))['db'];var config=require(_0xb397('0x3'));function getValueFromLicense(_0x59b9a9,_0x5ae037){if(_0x59b9a9&&_0x5ae037){if(_0x5ae037[_0xb397('0x4')]&&_0x5ae037[_0xb397('0x5')]){var _0x39ef6e=_0x5ae037[_0xb397('0x4')];var _0xc21d81=_0x5ae037[_0xb397('0x5')];var _0x24216c=_0x39ef6e[_0xb397('0x6')]('-')[0x4];var _0x241bfc=_0x39ef6e['split']('-')[0x0];var _0x387929=crypto[_0xb397('0x7')]('aes-256-ctr',util[_0xb397('0x8')](_0xb397('0x9'),_0x24216c,_0x39ef6e,_0x241bfc));var _0x21bc81=_0x387929[_0xb397('0xa')](_0xc21d81,_0xb397('0xb'),'utf8');_0x21bc81+=_0x387929[_0xb397('0xc')]('utf8');var _0x390389=JSON[_0xb397('0xd')](_0x21bc81);return _0x390389[_0xb397('0xe')](_0x59b9a9)?_0x390389[_0x59b9a9]:null;}}return null;}function isLimit(_0x4c0843,_0x2434f8,_0x1b239a,_0x7e857f){var _0x59df89=_0x2434f8;return compose()[_0xb397('0xf')](function(_0x503921,_0x4419dd,_0x3b56b6){return db[_0xb397('0x10')]['findOne']({'where':{'id':0x1},'raw':!![]})['then'](function(_0x2b51d3){var _0x252ce3=getValueFromLicense(_0x4c0843,_0x2b51d3);return _0x252ce3?_0x252ce3:_0x59df89;})['then'](function(_0x505408){_0x59df89=_0x505408;return _0x1b239a[_0xb397('0x11')](_0x7e857f);})[_0xb397('0x12')](function(_0x3f1dc1){if(_0x3f1dc1>=_0x59df89){return _0x4419dd[_0xb397('0x13')](0x193)[_0xb397('0x14')]({'message':util['format'](_0xb397('0x15'),_0x4c0843)});}_0x3b56b6();})[_0xb397('0x16')](function(_0x330e5c){_0x3b56b6(_0x330e5c);});});}function isUserLimit(){return isLimit(_0xb397('0x17'),0x1,db['User'],{'where':{'$or':[{'role':'admin'},{'role':'user'}]}});}exports[_0xb397('0x18')]=isUserLimit;