Built motion from commit 753c950e.|2.5.42
[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 _0xe91e=['final','parse','use','License','findOne','then','count','status','json','users','User','admin','isUserLimit','crypto','composable-middleware','../../mysqldb','data1','license','split','createDecipher','aes-256-ctr','%s:%s:%s','update','utf8'];(function(_0x2eed83,_0x22fdf8){var _0x4d793a=function(_0x58e23c){while(--_0x58e23c){_0x2eed83['push'](_0x2eed83['shift']());}};_0x4d793a(++_0x22fdf8);}(_0xe91e,0x145));var _0xee91=function(_0x1d1779,_0x284147){_0x1d1779=_0x1d1779-0x0;var _0x2377e9=_0xe91e[_0x1d1779];return _0x2377e9;};'use strict';var crypto=require(_0xee91('0x0'));var util=require('util');var compose=require(_0xee91('0x1'));var db=require(_0xee91('0x2'))['db'];var config=require('../../config/environment');function getValueFromLicense(_0x1cf057,_0x5ab9ba){if(_0x1cf057&&_0x5ab9ba){if(_0x5ab9ba[_0xee91('0x3')]&&_0x5ab9ba[_0xee91('0x4')]){var _0xfa730c=_0x5ab9ba['data1'];var _0x435f1a=_0x5ab9ba[_0xee91('0x4')];var _0x31d8f8=_0xfa730c[_0xee91('0x5')]('-')[0x4];var _0x59da33=_0xfa730c[_0xee91('0x5')]('-')[0x0];var _0x4d8bac=crypto[_0xee91('0x6')](_0xee91('0x7'),util['format'](_0xee91('0x8'),_0x31d8f8,_0xfa730c,_0x59da33));var _0x10bea6=_0x4d8bac[_0xee91('0x9')](_0x435f1a,'base64',_0xee91('0xa'));_0x10bea6+=_0x4d8bac[_0xee91('0xb')](_0xee91('0xa'));var _0x28ef43=JSON[_0xee91('0xc')](_0x10bea6);return _0x28ef43['hasOwnProperty'](_0x1cf057)?_0x28ef43[_0x1cf057]:null;}}return null;}function isLimit(_0x6f51ff,_0x4976cd,_0x42fc9e,_0x9e04a0){var _0x6cb09c=_0x4976cd;return compose()[_0xee91('0xd')](function(_0x5e1f25,_0x358bdc,_0x49561c){return db[_0xee91('0xe')][_0xee91('0xf')]({'where':{'id':0x1},'raw':!![]})[_0xee91('0x10')](function(_0x4e6031){var _0x4b41b7=getValueFromLicense(_0x6f51ff,_0x4e6031);return _0x4b41b7?_0x4b41b7:_0x6cb09c;})[_0xee91('0x10')](function(_0xdb7289){_0x6cb09c=_0xdb7289;return _0x42fc9e[_0xee91('0x11')](_0x9e04a0);})['then'](function(_0x322c01){if(_0x322c01>=_0x6cb09c){return _0x358bdc[_0xee91('0x12')](0x193)[_0xee91('0x13')]({'message':util['format']('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x6f51ff)});}_0x49561c();})['catch'](function(_0x423c9b){_0x49561c(_0x423c9b);});});}function isUserLimit(){return isLimit(_0xee91('0x14'),0x1,db[_0xee91('0x15')],{'where':{'$or':[{'role':_0xee91('0x16')},{'role':'user'}]}});}exports[_0xee91('0x17')]=isUserLimit;