Built motion from commit (unavailable).|2.5.4
[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 _0x5a35=['../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','base64','final','parse','use','License','findOne','then','count','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb'];(function(_0x5a75f6,_0x1296cd){var _0x46daeb=function(_0x36ce2c){while(--_0x36ce2c){_0x5a75f6['push'](_0x5a75f6['shift']());}};_0x46daeb(++_0x1296cd);}(_0x5a35,0xa4));var _0x55a3=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x5a35[_0x2641f9];return _0x585741;};'use strict';var crypto=require(_0x55a3('0x0'));var util=require(_0x55a3('0x1'));var compose=require(_0x55a3('0x2'));var db=require(_0x55a3('0x3'))['db'];var config=require(_0x55a3('0x4'));function getValueFromLicense(_0x44f28c,_0x1df0a6){if(_0x44f28c&&_0x1df0a6){if(_0x1df0a6[_0x55a3('0x5')]&&_0x1df0a6[_0x55a3('0x6')]){var _0x1ccb0a=_0x1df0a6[_0x55a3('0x5')];var _0x2cffba=_0x1df0a6['license'];var _0x5d7766=_0x1ccb0a[_0x55a3('0x7')]('-')[0x4];var _0x3293c1=_0x1ccb0a['split']('-')[0x0];var _0xaad2b8=crypto[_0x55a3('0x8')](_0x55a3('0x9'),util[_0x55a3('0xa')](_0x55a3('0xb'),_0x5d7766,_0x1ccb0a,_0x3293c1));var _0x3f5295=_0xaad2b8['update'](_0x2cffba,_0x55a3('0xc'),'utf8');_0x3f5295+=_0xaad2b8[_0x55a3('0xd')]('utf8');var _0xa0d019=JSON[_0x55a3('0xe')](_0x3f5295);return _0xa0d019['hasOwnProperty'](_0x44f28c)?_0xa0d019[_0x44f28c]:null;}}return null;}function isLimit(_0x42fc00,_0x265de5,_0x43144f,_0x1be69d){var _0x219b44=_0x265de5;return compose()[_0x55a3('0xf')](function(_0x1f5c3e,_0x52c9ac,_0x2b029a){return db[_0x55a3('0x10')][_0x55a3('0x11')]({'where':{'id':0x1},'raw':!![]})[_0x55a3('0x12')](function(_0x3333b8){var _0x187fa7=getValueFromLicense(_0x42fc00,_0x3333b8);return _0x187fa7?_0x187fa7:_0x219b44;})[_0x55a3('0x12')](function(_0x550e8c){_0x219b44=_0x550e8c;return _0x43144f[_0x55a3('0x13')](_0x1be69d);})[_0x55a3('0x12')](function(_0xe7d0fc){if(_0xe7d0fc>=_0x219b44){return _0x52c9ac[_0x55a3('0x14')](0x193)[_0x55a3('0x15')]({'message':util[_0x55a3('0xa')](_0x55a3('0x16'),_0x42fc00)});}_0x2b029a();})[_0x55a3('0x17')](function(_0x4368d0){_0x2b029a(_0x4368d0);});});}function isUserLimit(){return isLimit(_0x55a3('0x18'),0x1,db[_0x55a3('0x19')],{'where':{'$or':[{'role':'admin'},{'role':_0x55a3('0x1a')}]}});}exports[_0x55a3('0x1b')]=isUserLimit;