Built motion from commit 3a7e82ea.|2.6.29
[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 _0xbcf6=['format','%s:%s:%s','update','utf8','parse','hasOwnProperty','use','License','findOne','then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','createDecipher'];(function(_0x40a045,_0x516f0e){var _0x1a687c=function(_0x48c9fe){while(--_0x48c9fe){_0x40a045['push'](_0x40a045['shift']());}};_0x1a687c(++_0x516f0e);}(_0xbcf6,0x88));var _0x6bcf=function(_0x4ed786,_0x74f270){_0x4ed786=_0x4ed786-0x0;var _0x2f0243=_0xbcf6[_0x4ed786];return _0x2f0243;};'use strict';var crypto=require(_0x6bcf('0x0'));var util=require(_0x6bcf('0x1'));var compose=require(_0x6bcf('0x2'));var db=require(_0x6bcf('0x3'))['db'];var config=require(_0x6bcf('0x4'));function getValueFromLicense(_0x41c231,_0xb9724f){if(_0x41c231&&_0xb9724f){if(_0xb9724f[_0x6bcf('0x5')]&&_0xb9724f['license']){var _0x46eeb3=_0xb9724f[_0x6bcf('0x5')];var _0x3b74b4=_0xb9724f[_0x6bcf('0x6')];var _0x54c52e=_0x46eeb3['split']('-')[0x4];var _0x466b25=_0x46eeb3['split']('-')[0x0];var _0x9f3da=crypto[_0x6bcf('0x7')]('aes-256-ctr',util[_0x6bcf('0x8')](_0x6bcf('0x9'),_0x54c52e,_0x46eeb3,_0x466b25));var _0x1a1219=_0x9f3da[_0x6bcf('0xa')](_0x3b74b4,'base64',_0x6bcf('0xb'));_0x1a1219+=_0x9f3da['final'](_0x6bcf('0xb'));var _0x430d68=JSON[_0x6bcf('0xc')](_0x1a1219);return _0x430d68[_0x6bcf('0xd')](_0x41c231)?_0x430d68[_0x41c231]:null;}}return null;}function isLimit(_0x1ce552,_0x301eab,_0x3634df,_0x56a8bf){var _0x429fdd=_0x301eab;return compose()[_0x6bcf('0xe')](function(_0x70d650,_0x1e2c81,_0x1b310e){return db[_0x6bcf('0xf')][_0x6bcf('0x10')]({'where':{'id':0x1},'raw':!![]})[_0x6bcf('0x11')](function(_0x3e35cc){var _0x1d5412=getValueFromLicense(_0x1ce552,_0x3e35cc);return _0x1d5412?_0x1d5412:_0x429fdd;})[_0x6bcf('0x11')](function(_0x8fca2f){_0x429fdd=_0x8fca2f;return _0x3634df[_0x6bcf('0x12')](_0x56a8bf);})[_0x6bcf('0x11')](function(_0x2d2cb4){if(_0x2d2cb4>=_0x429fdd){return _0x1e2c81['status'](0x193)[_0x6bcf('0x13')]({'message':util[_0x6bcf('0x8')](_0x6bcf('0x14'),_0x1ce552)});}_0x1b310e();})[_0x6bcf('0x15')](function(_0x7f3d1f){_0x1b310e(_0x7f3d1f);});});}function isUserLimit(){return isLimit('users',0x1,db['User'],{'where':{'$or':[{'role':'admin'},{'role':_0x6bcf('0x16')}]}});}exports[_0x6bcf('0x17')]=isUserLimit;