d0467103eeefc9cc087aa127215a67bb3c4bcb29
[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 _0x1535=['hasOwnProperty','then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','isUserLimit','crypto','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','update','base64','utf8','final','parse'];(function(_0xbad23c,_0x1a8fe9){var _0x5dbc5c=function(_0x4bf9d0){while(--_0x4bf9d0){_0xbad23c['push'](_0xbad23c['shift']());}};_0x5dbc5c(++_0x1a8fe9);}(_0x1535,0x68));var _0x5153=function(_0x599c68,_0x48674b){_0x599c68=_0x599c68-0x0;var _0xa1d3fb=_0x1535[_0x599c68];return _0xa1d3fb;};'use strict';var crypto=require(_0x5153('0x0'));var util=require('util');var compose=require(_0x5153('0x1'));var db=require(_0x5153('0x2'))['db'];var config=require(_0x5153('0x3'));function getValueFromLicense(_0x4eacb2,_0x2caa84){if(_0x4eacb2&&_0x2caa84){if(_0x2caa84[_0x5153('0x4')]&&_0x2caa84[_0x5153('0x5')]){var _0x484e22=_0x2caa84[_0x5153('0x4')];var _0x564a75=_0x2caa84[_0x5153('0x5')];var _0x5e48aa=_0x484e22[_0x5153('0x6')]('-')[0x4];var _0x36616a=_0x484e22[_0x5153('0x6')]('-')[0x0];var _0x44f2f7=crypto[_0x5153('0x7')](_0x5153('0x8'),util[_0x5153('0x9')](_0x5153('0xa'),_0x5e48aa,_0x484e22,_0x36616a));var _0x7bd44e=_0x44f2f7[_0x5153('0xb')](_0x564a75,_0x5153('0xc'),_0x5153('0xd'));_0x7bd44e+=_0x44f2f7[_0x5153('0xe')]('utf8');var _0x210d6e=JSON[_0x5153('0xf')](_0x7bd44e);return _0x210d6e[_0x5153('0x10')](_0x4eacb2)?_0x210d6e[_0x4eacb2]:null;}}return null;}function isLimit(_0x1107bf,_0x6f3009,_0xd0d32c,_0x4ce26b){var _0x476d31=_0x6f3009;return compose()['use'](function(_0x197dd6,_0x45285c,_0x20a642){return db['License']['findOne']({'where':{'id':0x1},'raw':!![]})[_0x5153('0x11')](function(_0xaf243b){var _0x393327=getValueFromLicense(_0x1107bf,_0xaf243b);return _0x393327?_0x393327:_0x476d31;})[_0x5153('0x11')](function(_0x56cde8){_0x476d31=_0x56cde8;return _0xd0d32c[_0x5153('0x12')](_0x4ce26b);})[_0x5153('0x11')](function(_0x716b15){if(_0x716b15>=_0x476d31){return _0x45285c['status'](0x193)[_0x5153('0x13')]({'message':util[_0x5153('0x9')](_0x5153('0x14'),_0x1107bf)});}_0x20a642();})[_0x5153('0x15')](function(_0x452965){_0x20a642(_0x452965);});});}function isUserLimit(){return isLimit(_0x5153('0x16'),0x1,db['User'],{'where':{'$or':[{'role':'admin'},{'role':'user'}]}});}exports[_0x5153('0x17')]=isUserLimit;