Built motion from commit da617fac.|2.6.6
[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 _0xcdb4=['update','base64','final','use','License','then','count','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','crypto','util','composable-middleware','../../mysqldb','data1','license','split','createDecipher','%s:%s:%s'];(function(_0x421eb4,_0x4bc6c5){var _0xcdf1b4=function(_0x48d4c4){while(--_0x48d4c4){_0x421eb4['push'](_0x421eb4['shift']());}};_0xcdf1b4(++_0x4bc6c5);}(_0xcdb4,0x122));var _0x4cdb=function(_0x408582,_0x405122){_0x408582=_0x408582-0x0;var _0x366c3d=_0xcdb4[_0x408582];return _0x366c3d;};'use strict';var crypto=require(_0x4cdb('0x0'));var util=require(_0x4cdb('0x1'));var compose=require(_0x4cdb('0x2'));var db=require(_0x4cdb('0x3'))['db'];var config=require('../../config/environment');function getValueFromLicense(_0x1b3c11,_0x25a659){if(_0x1b3c11&&_0x25a659){if(_0x25a659[_0x4cdb('0x4')]&&_0x25a659['license']){var _0x5357a4=_0x25a659[_0x4cdb('0x4')];var _0x2c208d=_0x25a659[_0x4cdb('0x5')];var _0x359568=_0x5357a4[_0x4cdb('0x6')]('-')[0x4];var _0x6ad836=_0x5357a4[_0x4cdb('0x6')]('-')[0x0];var _0x29debe=crypto[_0x4cdb('0x7')]('aes-256-ctr',util['format'](_0x4cdb('0x8'),_0x359568,_0x5357a4,_0x6ad836));var _0x20ba53=_0x29debe[_0x4cdb('0x9')](_0x2c208d,_0x4cdb('0xa'),'utf8');_0x20ba53+=_0x29debe[_0x4cdb('0xb')]('utf8');var _0x150ffb=JSON['parse'](_0x20ba53);return _0x150ffb['hasOwnProperty'](_0x1b3c11)?_0x150ffb[_0x1b3c11]:null;}}return null;}function isLimit(_0x35934b,_0x3f16f5,_0x253d78,_0x3d8f5b){var _0x3343ee=_0x3f16f5;return compose()[_0x4cdb('0xc')](function(_0x8bb227,_0x339954,_0x745e19){return db[_0x4cdb('0xd')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0x4cdb('0xe')](function(_0x40fb4f){var _0x5ec95f=getValueFromLicense(_0x35934b,_0x40fb4f);return _0x5ec95f?_0x5ec95f:_0x3343ee;})['then'](function(_0x71766d){_0x3343ee=_0x71766d;return _0x253d78[_0x4cdb('0xf')](_0x3d8f5b);})[_0x4cdb('0xe')](function(_0x428f81){if(_0x428f81>=_0x3343ee){return _0x339954[_0x4cdb('0x10')](0x193)[_0x4cdb('0x11')]({'message':util['format'](_0x4cdb('0x12'),_0x35934b)});}_0x745e19();})[_0x4cdb('0x13')](function(_0x524ebf){_0x745e19(_0x524ebf);});});}function isUserLimit(){return isLimit(_0x4cdb('0x14'),0x1,db[_0x4cdb('0x15')],{'where':{'$or':[{'role':_0x4cdb('0x16')},{'role':'user'}]}});}exports['isUserLimit']=isUserLimit;