5703357ea35a670fdb6f62c6133492eff7673404
[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 _0xc34d=['json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User','admin','user','isUserLimit','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','%s:%s:%s','update','base64','utf8','final','parse','findOne','then','count'];(function(_0x46f357,_0xb3f6a5){var _0x382767=function(_0x3825ec){while(--_0x3825ec){_0x46f357['push'](_0x46f357['shift']());}};_0x382767(++_0xb3f6a5);}(_0xc34d,0x15a));var _0xdc34=function(_0x3d76cf,_0x426809){_0x3d76cf=_0x3d76cf-0x0;var _0x423990=_0xc34d[_0x3d76cf];return _0x423990;};'use strict';var crypto=require('crypto');var util=require(_0xdc34('0x0'));var compose=require(_0xdc34('0x1'));var db=require(_0xdc34('0x2'))['db'];var config=require(_0xdc34('0x3'));function getValueFromLicense(_0xd5fed3,_0x1a447c){if(_0xd5fed3&&_0x1a447c){if(_0x1a447c[_0xdc34('0x4')]&&_0x1a447c[_0xdc34('0x5')]){var _0xa1bdce=_0x1a447c[_0xdc34('0x4')];var _0x3f815e=_0x1a447c['license'];var _0x2c6612=_0xa1bdce[_0xdc34('0x6')]('-')[0x4];var _0x317b6a=_0xa1bdce['split']('-')[0x0];var _0x44ffee=crypto[_0xdc34('0x7')](_0xdc34('0x8'),util['format'](_0xdc34('0x9'),_0x2c6612,_0xa1bdce,_0x317b6a));var _0x48b1a9=_0x44ffee[_0xdc34('0xa')](_0x3f815e,_0xdc34('0xb'),_0xdc34('0xc'));_0x48b1a9+=_0x44ffee[_0xdc34('0xd')](_0xdc34('0xc'));var _0x4053d2=JSON[_0xdc34('0xe')](_0x48b1a9);return _0x4053d2['hasOwnProperty'](_0xd5fed3)?_0x4053d2[_0xd5fed3]:null;}}return null;}function isLimit(_0x44ff46,_0x323445,_0x15ec15,_0x2f83e4){var _0x465900=_0x323445;return compose()['use'](function(_0x1a0392,_0x123536,_0x2043c0){return db['License'][_0xdc34('0xf')]({'where':{'id':0x1},'raw':!![]})[_0xdc34('0x10')](function(_0x49ae11){var _0x5f3b00=getValueFromLicense(_0x44ff46,_0x49ae11);return _0x5f3b00?_0x5f3b00:_0x465900;})[_0xdc34('0x10')](function(_0xe6bdc2){_0x465900=_0xe6bdc2;return _0x15ec15[_0xdc34('0x11')](_0x2f83e4);})[_0xdc34('0x10')](function(_0x44fc57){if(_0x44fc57>=_0x465900){return _0x123536['status'](0x193)[_0xdc34('0x12')]({'message':util[_0xdc34('0x13')](_0xdc34('0x14'),_0x44ff46)});}_0x2043c0();})['catch'](function(_0x143520){_0x2043c0(_0x143520);});});}function isUserLimit(){return isLimit(_0xdc34('0x15'),0x1,db[_0xdc34('0x16')],{'where':{'$or':[{'role':_0xdc34('0x17')},{'role':_0xdc34('0x18')}]}});}exports[_0xdc34('0x19')]=isUserLimit;