Built motion from commit fe909640.|2.6.8
[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 _0x8e46=['data1','license','split','createDecipher','%s:%s:%s','base64','utf8','parse','hasOwnProperty','use','License','findOne','then','count','status','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','admin','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment'];(function(_0x3cfe4e,_0x3e2fed){var _0x22e983=function(_0x75f797){while(--_0x75f797){_0x3cfe4e['push'](_0x3cfe4e['shift']());}};_0x22e983(++_0x3e2fed);}(_0x8e46,0x133));var _0x68e4=function(_0x48c615,_0x4cc757){_0x48c615=_0x48c615-0x0;var _0x3d9e22=_0x8e46[_0x48c615];return _0x3d9e22;};'use strict';var crypto=require(_0x68e4('0x0'));var util=require(_0x68e4('0x1'));var compose=require(_0x68e4('0x2'));var db=require(_0x68e4('0x3'))['db'];var config=require(_0x68e4('0x4'));function getValueFromLicense(_0x37b247,_0x48be78){if(_0x37b247&&_0x48be78){if(_0x48be78[_0x68e4('0x5')]&&_0x48be78['license']){var _0x40f79a=_0x48be78[_0x68e4('0x5')];var _0x5dbfcd=_0x48be78[_0x68e4('0x6')];var _0x3a0ad2=_0x40f79a[_0x68e4('0x7')]('-')[0x4];var _0x14297c=_0x40f79a[_0x68e4('0x7')]('-')[0x0];var _0x4cc3c9=crypto[_0x68e4('0x8')]('aes-256-ctr',util['format'](_0x68e4('0x9'),_0x3a0ad2,_0x40f79a,_0x14297c));var _0x17e1e4=_0x4cc3c9['update'](_0x5dbfcd,_0x68e4('0xa'),'utf8');_0x17e1e4+=_0x4cc3c9['final'](_0x68e4('0xb'));var _0x47e3e8=JSON[_0x68e4('0xc')](_0x17e1e4);return _0x47e3e8[_0x68e4('0xd')](_0x37b247)?_0x47e3e8[_0x37b247]:null;}}return null;}function isLimit(_0x164e1e,_0x494bc5,_0x3a3e75,_0x5f4d37){var _0x5575dc=_0x494bc5;return compose()[_0x68e4('0xe')](function(_0x4588ac,_0x2f3110,_0x3b918a){return db[_0x68e4('0xf')][_0x68e4('0x10')]({'where':{'id':0x1},'raw':!![]})[_0x68e4('0x11')](function(_0x389678){var _0x155b7f=getValueFromLicense(_0x164e1e,_0x389678);return _0x155b7f?_0x155b7f:_0x5575dc;})[_0x68e4('0x11')](function(_0x3a2842){_0x5575dc=_0x3a2842;return _0x3a3e75[_0x68e4('0x12')](_0x5f4d37);})[_0x68e4('0x11')](function(_0x590b9b){if(_0x590b9b>=_0x5575dc){return _0x2f3110[_0x68e4('0x13')](0x193)[_0x68e4('0x14')]({'message':util[_0x68e4('0x15')](_0x68e4('0x16'),_0x164e1e)});}_0x3b918a();})['catch'](function(_0x9531fd){_0x3b918a(_0x9531fd);});});}function isUserLimit(){return isLimit(_0x68e4('0x17'),0x1,db['User'],{'where':{'$or':[{'role':_0x68e4('0x18')},{'role':'user'}]}});}exports[_0x68e4('0x19')]=isUserLimit;