3fc495f10787aa696ee6e774c4674c6791089b05
[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 _0xcbd3=['format','%s:%s:%s','base64','utf8','final','parse','hasOwnProperty','License','then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','user','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr'];(function(_0x5133e4,_0x174de3){var _0x723c5c=function(_0xdd501a){while(--_0xdd501a){_0x5133e4['push'](_0x5133e4['shift']());}};_0x723c5c(++_0x174de3);}(_0xcbd3,0xce));var _0x3cbd=function(_0x584d5a,_0x2e49c6){_0x584d5a=_0x584d5a-0x0;var _0x406365=_0xcbd3[_0x584d5a];return _0x406365;};'use strict';var crypto=require(_0x3cbd('0x0'));var util=require(_0x3cbd('0x1'));var compose=require(_0x3cbd('0x2'));var db=require(_0x3cbd('0x3'))['db'];var config=require(_0x3cbd('0x4'));function getValueFromLicense(_0x3aa9b4,_0x4e90d7){if(_0x3aa9b4&&_0x4e90d7){if(_0x4e90d7[_0x3cbd('0x5')]&&_0x4e90d7[_0x3cbd('0x6')]){var _0x3559cd=_0x4e90d7[_0x3cbd('0x5')];var _0x844747=_0x4e90d7[_0x3cbd('0x6')];var _0x606eea=_0x3559cd[_0x3cbd('0x7')]('-')[0x4];var _0x228f52=_0x3559cd[_0x3cbd('0x7')]('-')[0x0];var _0x5246f4=crypto[_0x3cbd('0x8')](_0x3cbd('0x9'),util[_0x3cbd('0xa')](_0x3cbd('0xb'),_0x606eea,_0x3559cd,_0x228f52));var _0x2a4221=_0x5246f4['update'](_0x844747,_0x3cbd('0xc'),_0x3cbd('0xd'));_0x2a4221+=_0x5246f4[_0x3cbd('0xe')](_0x3cbd('0xd'));var _0x43db4b=JSON[_0x3cbd('0xf')](_0x2a4221);return _0x43db4b[_0x3cbd('0x10')](_0x3aa9b4)?_0x43db4b[_0x3aa9b4]:null;}}return null;}function isLimit(_0x5380b8,_0x51bc29,_0x3fa20a,_0x327829){var _0xeb7ada=_0x51bc29;return compose()['use'](function(_0x56332f,_0x56ebc1,_0x549a12){return db[_0x3cbd('0x11')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0x3cbd('0x12')](function(_0x1fdb24){var _0x5cd6f1=getValueFromLicense(_0x5380b8,_0x1fdb24);return _0x5cd6f1?_0x5cd6f1:_0xeb7ada;})[_0x3cbd('0x12')](function(_0x51718a){_0xeb7ada=_0x51718a;return _0x3fa20a[_0x3cbd('0x13')](_0x327829);})['then'](function(_0x167f17){if(_0x167f17>=_0xeb7ada){return _0x56ebc1['status'](0x193)[_0x3cbd('0x14')]({'message':util[_0x3cbd('0xa')](_0x3cbd('0x15'),_0x5380b8)});}_0x549a12();})[_0x3cbd('0x16')](function(_0x31da4a){_0x549a12(_0x31da4a);});});}function isUserLimit(){return isLimit(_0x3cbd('0x17'),0x1,db[_0x3cbd('0x18')],{'where':{'$or':[{'role':_0x3cbd('0x19')},{'role':_0x3cbd('0x1a')}]}});}exports['isUserLimit']=isUserLimit;