aa5b04a67c7c05803fa0cdad14429342263d11fd
[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 _0xa03f=['then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','admin','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','license','data1','split','format','%s:%s:%s','update','base64','utf8','final','parse','hasOwnProperty','use','findOne'];(function(_0x13f526,_0xf0f6ad){var _0x5096e7=function(_0x2e56ec){while(--_0x2e56ec){_0x13f526['push'](_0x13f526['shift']());}};_0x5096e7(++_0xf0f6ad);}(_0xa03f,0x174));var _0xfa03=function(_0x217b47,_0x13c2ac){_0x217b47=_0x217b47-0x0;var _0x2f0a01=_0xa03f[_0x217b47];return _0x2f0a01;};'use strict';var crypto=require(_0xfa03('0x0'));var util=require(_0xfa03('0x1'));var compose=require(_0xfa03('0x2'));var db=require(_0xfa03('0x3'))['db'];var config=require(_0xfa03('0x4'));function getValueFromLicense(_0xf2e0e4,_0x226d46){if(_0xf2e0e4&&_0x226d46){if(_0x226d46['data1']&&_0x226d46[_0xfa03('0x5')]){var _0x297911=_0x226d46[_0xfa03('0x6')];var _0x4b809a=_0x226d46[_0xfa03('0x5')];var _0x24cd75=_0x297911[_0xfa03('0x7')]('-')[0x4];var _0x9b1c32=_0x297911[_0xfa03('0x7')]('-')[0x0];var _0x187419=crypto['createDecipher']('aes-256-ctr',util[_0xfa03('0x8')](_0xfa03('0x9'),_0x24cd75,_0x297911,_0x9b1c32));var _0x3be309=_0x187419[_0xfa03('0xa')](_0x4b809a,_0xfa03('0xb'),_0xfa03('0xc'));_0x3be309+=_0x187419[_0xfa03('0xd')](_0xfa03('0xc'));var _0x40c2ff=JSON[_0xfa03('0xe')](_0x3be309);return _0x40c2ff[_0xfa03('0xf')](_0xf2e0e4)?_0x40c2ff[_0xf2e0e4]:null;}}return null;}function isLimit(_0x4ebf54,_0x507550,_0x10c08b,_0x5f22f3){var _0x13d728=_0x507550;return compose()[_0xfa03('0x10')](function(_0x46ab73,_0xc74e3c,_0x4b29ac){return db['License'][_0xfa03('0x11')]({'where':{'id':0x1},'raw':!![]})[_0xfa03('0x12')](function(_0x29e086){var _0x527254=getValueFromLicense(_0x4ebf54,_0x29e086);return _0x527254?_0x527254:_0x13d728;})[_0xfa03('0x12')](function(_0x4a2769){_0x13d728=_0x4a2769;return _0x10c08b[_0xfa03('0x13')](_0x5f22f3);})['then'](function(_0x5d3e43){if(_0x5d3e43>=_0x13d728){return _0xc74e3c['status'](0x193)[_0xfa03('0x14')]({'message':util['format'](_0xfa03('0x15'),_0x4ebf54)});}_0x4b29ac();})[_0xfa03('0x16')](function(_0xbca71f){_0x4b29ac(_0xbca71f);});});}function isUserLimit(){return isLimit(_0xfa03('0x17'),0x1,db['User'],{'where':{'$or':[{'role':_0xfa03('0x18')},{'role':'user'}]}});}exports[_0xfa03('0x19')]=isUserLimit;