88d4a66d88ba321c679846c505077221079bf252
[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 _0x9895=['format','%s:%s:%s','update','base64','utf8','final','parse','use','License','findOne','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','user','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split'];(function(_0x39bcb9,_0x3f03ae){var _0x139ebe=function(_0x5a0876){while(--_0x5a0876){_0x39bcb9['push'](_0x39bcb9['shift']());}};_0x139ebe(++_0x3f03ae);}(_0x9895,0xd0));var _0x5989=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x9895[_0x2641f9];return _0x585741;};'use strict';var crypto=require(_0x5989('0x0'));var util=require(_0x5989('0x1'));var compose=require(_0x5989('0x2'));var db=require(_0x5989('0x3'))['db'];var config=require(_0x5989('0x4'));function getValueFromLicense(_0x2dec0a,_0x4be7f0){if(_0x2dec0a&&_0x4be7f0){if(_0x4be7f0['data1']&&_0x4be7f0['license']){var _0x1dbce3=_0x4be7f0[_0x5989('0x5')];var _0x384d1e=_0x4be7f0[_0x5989('0x6')];var _0x3a9388=_0x1dbce3[_0x5989('0x7')]('-')[0x4];var _0xc3a61d=_0x1dbce3[_0x5989('0x7')]('-')[0x0];var _0x51dda9=crypto['createDecipher']('aes-256-ctr',util[_0x5989('0x8')](_0x5989('0x9'),_0x3a9388,_0x1dbce3,_0xc3a61d));var _0x172077=_0x51dda9[_0x5989('0xa')](_0x384d1e,_0x5989('0xb'),_0x5989('0xc'));_0x172077+=_0x51dda9[_0x5989('0xd')](_0x5989('0xc'));var _0x39e4e9=JSON[_0x5989('0xe')](_0x172077);return _0x39e4e9['hasOwnProperty'](_0x2dec0a)?_0x39e4e9[_0x2dec0a]:null;}}return null;}function isLimit(_0x5c78de,_0x6e02e1,_0x1a0103,_0x3bc52c){var _0x25d06d=_0x6e02e1;return compose()[_0x5989('0xf')](function(_0x124ff6,_0x4602ee,_0x45dae2){return db[_0x5989('0x10')][_0x5989('0x11')]({'where':{'id':0x1},'raw':!![]})[_0x5989('0x12')](function(_0x4198cd){var _0x4a96e7=getValueFromLicense(_0x5c78de,_0x4198cd);return _0x4a96e7?_0x4a96e7:_0x25d06d;})[_0x5989('0x12')](function(_0x50eb7c){_0x25d06d=_0x50eb7c;return _0x1a0103['count'](_0x3bc52c);})[_0x5989('0x12')](function(_0x44696d){if(_0x44696d>=_0x25d06d){return _0x4602ee[_0x5989('0x13')](0x193)[_0x5989('0x14')]({'message':util[_0x5989('0x8')](_0x5989('0x15'),_0x5c78de)});}_0x45dae2();})[_0x5989('0x16')](function(_0x3476df){_0x45dae2(_0x3476df);});});}function isUserLimit(){return isLimit(_0x5989('0x17'),0x1,db[_0x5989('0x18')],{'where':{'$or':[{'role':_0x5989('0x19')},{'role':_0x5989('0x1a')}]}});}exports['isUserLimit']=isUserLimit;