2bc15069422717d2d23485499f2903aca2a7fa38
[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 _0xda3c=['use','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','crypto','util','composable-middleware','../../config/environment','data1','license','split','aes-256-ctr','format','%s:%s:%s','update','base64','utf8','parse','hasOwnProperty'];(function(_0x1216f7,_0x443714){var _0x1a1850=function(_0x2081eb){while(--_0x2081eb){_0x1216f7['push'](_0x1216f7['shift']());}};_0x1a1850(++_0x443714);}(_0xda3c,0x1d1));var _0xcda3=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xda3c[_0x321bb2];return _0x9c12ed;};'use strict';var crypto=require(_0xcda3('0x0'));var util=require(_0xcda3('0x1'));var compose=require(_0xcda3('0x2'));var db=require('../../mysqldb')['db'];var config=require(_0xcda3('0x3'));function getValueFromLicense(_0x3661c3,_0x49cb57){if(_0x3661c3&&_0x49cb57){if(_0x49cb57[_0xcda3('0x4')]&&_0x49cb57['license']){var _0x884a02=_0x49cb57[_0xcda3('0x4')];var _0x455b81=_0x49cb57[_0xcda3('0x5')];var _0x226c4e=_0x884a02['split']('-')[0x4];var _0x2e568c=_0x884a02[_0xcda3('0x6')]('-')[0x0];var _0x311fa7=crypto['createDecipher'](_0xcda3('0x7'),util[_0xcda3('0x8')](_0xcda3('0x9'),_0x226c4e,_0x884a02,_0x2e568c));var _0x3ce395=_0x311fa7[_0xcda3('0xa')](_0x455b81,_0xcda3('0xb'),_0xcda3('0xc'));_0x3ce395+=_0x311fa7['final'](_0xcda3('0xc'));var _0xe18d69=JSON[_0xcda3('0xd')](_0x3ce395);return _0xe18d69[_0xcda3('0xe')](_0x3661c3)?_0xe18d69[_0x3661c3]:null;}}return null;}function isLimit(_0x490ee7,_0x40246a,_0xee4bc,_0x2a3fa4){var _0x3a4470=_0x40246a;return compose()[_0xcda3('0xf')](function(_0x30cd69,_0x1e4f62,_0xa62158){return db['License']['findOne']({'where':{'id':0x1},'raw':!![]})[_0xcda3('0x10')](function(_0x1cc848){var _0x589b3b=getValueFromLicense(_0x490ee7,_0x1cc848);return _0x589b3b?_0x589b3b:_0x3a4470;})[_0xcda3('0x10')](function(_0x2c275e){_0x3a4470=_0x2c275e;return _0xee4bc['count'](_0x2a3fa4);})['then'](function(_0x4f2e03){if(_0x4f2e03>=_0x3a4470){return _0x1e4f62[_0xcda3('0x11')](0x193)[_0xcda3('0x12')]({'message':util[_0xcda3('0x8')](_0xcda3('0x13'),_0x490ee7)});}_0xa62158();})[_0xcda3('0x14')](function(_0x1e676f){_0xa62158(_0x1e676f);});});}function isUserLimit(){return isLimit(_0xcda3('0x15'),0x1,db[_0xcda3('0x16')],{'where':{'$or':[{'role':_0xcda3('0x17')},{'role':'user'}]}});}exports['isUserLimit']=isUserLimit;