Built motion from commit (unavailable).|2.5.21
[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 _0xab3a=['../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','update','base64','utf8','final','parse','hasOwnProperty','License','findOne','then','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','isUserLimit','crypto','util','composable-middleware','../../mysqldb'];(function(_0x3a7e63,_0x524933){var _0x3cdb11=function(_0x7e61ef){while(--_0x7e61ef){_0x3a7e63['push'](_0x3a7e63['shift']());}};_0x3cdb11(++_0x524933);}(_0xab3a,0x1c7));var _0xaab3=function(_0x24dfb7,_0x2bf1bf){_0x24dfb7=_0x24dfb7-0x0;var _0x525851=_0xab3a[_0x24dfb7];return _0x525851;};'use strict';var crypto=require(_0xaab3('0x0'));var util=require(_0xaab3('0x1'));var compose=require(_0xaab3('0x2'));var db=require(_0xaab3('0x3'))['db'];var config=require(_0xaab3('0x4'));function getValueFromLicense(_0x5a8690,_0x458a4f){if(_0x5a8690&&_0x458a4f){if(_0x458a4f[_0xaab3('0x5')]&&_0x458a4f[_0xaab3('0x6')]){var _0x3dd6d4=_0x458a4f[_0xaab3('0x5')];var _0x2a7020=_0x458a4f['license'];var _0x5e415a=_0x3dd6d4[_0xaab3('0x7')]('-')[0x4];var _0x40edb2=_0x3dd6d4[_0xaab3('0x7')]('-')[0x0];var _0x340a7b=crypto[_0xaab3('0x8')](_0xaab3('0x9'),util[_0xaab3('0xa')]('%s:%s:%s',_0x5e415a,_0x3dd6d4,_0x40edb2));var _0x19fdc5=_0x340a7b[_0xaab3('0xb')](_0x2a7020,_0xaab3('0xc'),_0xaab3('0xd'));_0x19fdc5+=_0x340a7b[_0xaab3('0xe')]('utf8');var _0x680879=JSON[_0xaab3('0xf')](_0x19fdc5);return _0x680879[_0xaab3('0x10')](_0x5a8690)?_0x680879[_0x5a8690]:null;}}return null;}function isLimit(_0x2e8a3e,_0x2e3b49,_0xe979c5,_0x3bc980){var _0x27a842=_0x2e3b49;return compose()['use'](function(_0x59f9f7,_0x450a49,_0x481b88){return db[_0xaab3('0x11')][_0xaab3('0x12')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0x56dd88){var _0x3c6348=getValueFromLicense(_0x2e8a3e,_0x56dd88);return _0x3c6348?_0x3c6348:_0x27a842;})[_0xaab3('0x13')](function(_0x2b120c){_0x27a842=_0x2b120c;return _0xe979c5['count'](_0x3bc980);})[_0xaab3('0x13')](function(_0x292415){if(_0x292415>=_0x27a842){return _0x450a49['status'](0x193)[_0xaab3('0x14')]({'message':util[_0xaab3('0xa')](_0xaab3('0x15'),_0x2e8a3e)});}_0x481b88();})[_0xaab3('0x16')](function(_0x9ecd70){_0x481b88(_0x9ecd70);});});}function isUserLimit(){return isLimit(_0xaab3('0x17'),0x1,db[_0xaab3('0x18')],{'where':{'$or':[{'role':_0xaab3('0x19')},{'role':'user'}]}});}exports[_0xaab3('0x1a')]=isUserLimit;