Built motion from commit (unavailable).|2.5.11
[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 _0xf3db=['utf8','final','parse','hasOwnProperty','use','License','then','count','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','license','data1','split','createDecipher','aes-256-ctr','format','%s:%s:%s','update'];(function(_0x53b1f1,_0x4b3c7b){var _0x1230cc=function(_0x25d6f3){while(--_0x25d6f3){_0x53b1f1['push'](_0x53b1f1['shift']());}};_0x1230cc(++_0x4b3c7b);}(_0xf3db,0x152));var _0xbf3d=function(_0x913ee,_0x1dcbff){_0x913ee=_0x913ee-0x0;var _0x19fbd9=_0xf3db[_0x913ee];return _0x19fbd9;};'use strict';var crypto=require(_0xbf3d('0x0'));var util=require(_0xbf3d('0x1'));var compose=require(_0xbf3d('0x2'));var db=require(_0xbf3d('0x3'))['db'];var config=require(_0xbf3d('0x4'));function getValueFromLicense(_0x3ab387,_0x297ad0){if(_0x3ab387&&_0x297ad0){if(_0x297ad0['data1']&&_0x297ad0[_0xbf3d('0x5')]){var _0x2701ed=_0x297ad0[_0xbf3d('0x6')];var _0x140a03=_0x297ad0[_0xbf3d('0x5')];var _0x10f054=_0x2701ed[_0xbf3d('0x7')]('-')[0x4];var _0x4dd166=_0x2701ed[_0xbf3d('0x7')]('-')[0x0];var _0x5231ee=crypto[_0xbf3d('0x8')](_0xbf3d('0x9'),util[_0xbf3d('0xa')](_0xbf3d('0xb'),_0x10f054,_0x2701ed,_0x4dd166));var _0xe1e5df=_0x5231ee[_0xbf3d('0xc')](_0x140a03,'base64',_0xbf3d('0xd'));_0xe1e5df+=_0x5231ee[_0xbf3d('0xe')](_0xbf3d('0xd'));var _0x3d43e7=JSON[_0xbf3d('0xf')](_0xe1e5df);return _0x3d43e7[_0xbf3d('0x10')](_0x3ab387)?_0x3d43e7[_0x3ab387]:null;}}return null;}function isLimit(_0x548e93,_0x57170d,_0x5a5e38,_0x40c099){var _0x28da90=_0x57170d;return compose()[_0xbf3d('0x11')](function(_0x5dcb1f,_0x35d022,_0x55855f){return db[_0xbf3d('0x12')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0xbf3d('0x13')](function(_0x41df55){var _0x4c2658=getValueFromLicense(_0x548e93,_0x41df55);return _0x4c2658?_0x4c2658:_0x28da90;})['then'](function(_0x5427fd){_0x28da90=_0x5427fd;return _0x5a5e38[_0xbf3d('0x14')](_0x40c099);})['then'](function(_0x1edd9e){if(_0x1edd9e>=_0x28da90){return _0x35d022[_0xbf3d('0x15')](0x193)[_0xbf3d('0x16')]({'message':util[_0xbf3d('0xa')](_0xbf3d('0x17'),_0x548e93)});}_0x55855f();})[_0xbf3d('0x18')](function(_0x26ac1f){_0x55855f(_0x26ac1f);});});}function isUserLimit(){return isLimit('users',0x1,db['User'],{'where':{'$or':[{'role':'admin'},{'role':_0xbf3d('0x19')}]}});}exports[_0xbf3d('0x1a')]=isUserLimit;