Built motion from commit 85328c08.|2.5.50
[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 _0x7e3a=['User','admin','user','isUserLimit','crypto','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','%s:%s:%s','update','base64','utf8','final','parse','hasOwnProperty','use','License','then','count','status','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users'];(function(_0x2715cf,_0x517bb2){var _0x1bdcb8=function(_0x5dec7b){while(--_0x5dec7b){_0x2715cf['push'](_0x2715cf['shift']());}};_0x1bdcb8(++_0x517bb2);}(_0x7e3a,0xee));var _0xa7e3=function(_0x397e5f,_0x454c8f){_0x397e5f=_0x397e5f-0x0;var _0x5302b8=_0x7e3a[_0x397e5f];return _0x5302b8;};'use strict';var crypto=require(_0xa7e3('0x0'));var util=require('util');var compose=require('composable-middleware');var db=require('../../mysqldb')['db'];var config=require(_0xa7e3('0x1'));function getValueFromLicense(_0x2d4f79,_0x9e8f43){if(_0x2d4f79&&_0x9e8f43){if(_0x9e8f43[_0xa7e3('0x2')]&&_0x9e8f43[_0xa7e3('0x3')]){var _0x540023=_0x9e8f43[_0xa7e3('0x2')];var _0x87d3fc=_0x9e8f43['license'];var _0x3d74dc=_0x540023[_0xa7e3('0x4')]('-')[0x4];var _0x19f7f9=_0x540023[_0xa7e3('0x4')]('-')[0x0];var _0x2db722=crypto[_0xa7e3('0x5')](_0xa7e3('0x6'),util['format'](_0xa7e3('0x7'),_0x3d74dc,_0x540023,_0x19f7f9));var _0x527781=_0x2db722[_0xa7e3('0x8')](_0x87d3fc,_0xa7e3('0x9'),_0xa7e3('0xa'));_0x527781+=_0x2db722[_0xa7e3('0xb')](_0xa7e3('0xa'));var _0x347a07=JSON[_0xa7e3('0xc')](_0x527781);return _0x347a07[_0xa7e3('0xd')](_0x2d4f79)?_0x347a07[_0x2d4f79]:null;}}return null;}function isLimit(_0x533264,_0x411458,_0x612127,_0x40694d){var _0x3582cb=_0x411458;return compose()[_0xa7e3('0xe')](function(_0x40e2ef,_0x345448,_0xc53a94){return db[_0xa7e3('0xf')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0xa7e3('0x10')](function(_0x1a27e1){var _0x35646b=getValueFromLicense(_0x533264,_0x1a27e1);return _0x35646b?_0x35646b:_0x3582cb;})[_0xa7e3('0x10')](function(_0x1a49c9){_0x3582cb=_0x1a49c9;return _0x612127[_0xa7e3('0x11')](_0x40694d);})[_0xa7e3('0x10')](function(_0x2e77c5){if(_0x2e77c5>=_0x3582cb){return _0x345448[_0xa7e3('0x12')](0x193)['json']({'message':util[_0xa7e3('0x13')](_0xa7e3('0x14'),_0x533264)});}_0xc53a94();})['catch'](function(_0xfe422b){_0xc53a94(_0xfe422b);});});}function isUserLimit(){return isLimit(_0xa7e3('0x15'),0x1,db[_0xa7e3('0x16')],{'where':{'$or':[{'role':_0xa7e3('0x17')},{'role':_0xa7e3('0x18')}]}});}exports[_0xa7e3('0x19')]=isUserLimit;