6d051c7c2f48bf569e05563630e00383174b5c72
[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 _0x5ded=['User','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','aes-256-ctr','format','%s:%s:%s','update','utf8','parse','hasOwnProperty','use','License','findOne','then','count','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch'];(function(_0x4d4e7c,_0x1a8689){var _0x408125=function(_0x4db103){while(--_0x4db103){_0x4d4e7c['push'](_0x4d4e7c['shift']());}};_0x408125(++_0x1a8689);}(_0x5ded,0x67));var _0xd5de=function(_0x432295,_0x3de054){_0x432295=_0x432295-0x0;var _0x5a44e0=_0x5ded[_0x432295];return _0x5a44e0;};'use strict';var crypto=require(_0xd5de('0x0'));var util=require(_0xd5de('0x1'));var compose=require(_0xd5de('0x2'));var db=require(_0xd5de('0x3'))['db'];var config=require(_0xd5de('0x4'));function getValueFromLicense(_0x38bc6f,_0x3c0a82){if(_0x38bc6f&&_0x3c0a82){if(_0x3c0a82['data1']&&_0x3c0a82['license']){var _0x48c06a=_0x3c0a82[_0xd5de('0x5')];var _0x457ca7=_0x3c0a82['license'];var _0x2eda03=_0x48c06a['split']('-')[0x4];var _0x2fa2dc=_0x48c06a['split']('-')[0x0];var _0x28b7f7=crypto['createDecipher'](_0xd5de('0x6'),util[_0xd5de('0x7')](_0xd5de('0x8'),_0x2eda03,_0x48c06a,_0x2fa2dc));var _0x4e8c2c=_0x28b7f7[_0xd5de('0x9')](_0x457ca7,'base64',_0xd5de('0xa'));_0x4e8c2c+=_0x28b7f7['final'](_0xd5de('0xa'));var _0x2081c3=JSON[_0xd5de('0xb')](_0x4e8c2c);return _0x2081c3[_0xd5de('0xc')](_0x38bc6f)?_0x2081c3[_0x38bc6f]:null;}}return null;}function isLimit(_0xb9b612,_0x15d438,_0x3ec5bc,_0x380042){var _0x1cde2c=_0x15d438;return compose()[_0xd5de('0xd')](function(_0x4f5d6f,_0x3b39b3,_0x1ead59){return db[_0xd5de('0xe')][_0xd5de('0xf')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0x218287){var _0x428eff=getValueFromLicense(_0xb9b612,_0x218287);return _0x428eff?_0x428eff:_0x1cde2c;})[_0xd5de('0x10')](function(_0x4134c0){_0x1cde2c=_0x4134c0;return _0x3ec5bc[_0xd5de('0x11')](_0x380042);})['then'](function(_0x4f8c49){if(_0x4f8c49>=_0x1cde2c){return _0x3b39b3[_0xd5de('0x12')](0x193)[_0xd5de('0x13')]({'message':util[_0xd5de('0x7')](_0xd5de('0x14'),_0xb9b612)});}_0x1ead59();})[_0xd5de('0x15')](function(_0x558210){_0x1ead59(_0x558210);});});}function isUserLimit(){return isLimit('users',0x1,db[_0xd5de('0x16')],{'where':{'$or':[{'role':'admin'},{'role':_0xd5de('0x17')}]}});}exports[_0xd5de('0x18')]=isUserLimit;