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 _0x88a0=['aes-256-ctr','format','%s:%s:%s','update','utf8','final','hasOwnProperty','use','License','findOne','then','count','json','catch','users','User','admin','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher'];(function(_0x2b07f1,_0x1e538d){var _0x2e76fb=function(_0x245aa7){while(--_0x245aa7){_0x2b07f1['push'](_0x2b07f1['shift']());}};_0x2e76fb(++_0x1e538d);}(_0x88a0,0x124));var _0x088a=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0x88a0[_0x2dafbe];return _0x58a45a;};'use strict';var crypto=require('crypto');var util=require(_0x088a('0x0'));var compose=require(_0x088a('0x1'));var db=require(_0x088a('0x2'))['db'];var config=require(_0x088a('0x3'));function getValueFromLicense(_0x5874f0,_0xf7e006){if(_0x5874f0&&_0xf7e006){if(_0xf7e006[_0x088a('0x4')]&&_0xf7e006[_0x088a('0x5')]){var _0x4fbded=_0xf7e006[_0x088a('0x4')];var _0x46f307=_0xf7e006['license'];var _0x4b4c08=_0x4fbded[_0x088a('0x6')]('-')[0x4];var _0x145b45=_0x4fbded[_0x088a('0x6')]('-')[0x0];var _0x3e039d=crypto[_0x088a('0x7')](_0x088a('0x8'),util[_0x088a('0x9')](_0x088a('0xa'),_0x4b4c08,_0x4fbded,_0x145b45));var _0x2fbd88=_0x3e039d[_0x088a('0xb')](_0x46f307,'base64',_0x088a('0xc'));_0x2fbd88+=_0x3e039d[_0x088a('0xd')](_0x088a('0xc'));var _0x20c7f3=JSON['parse'](_0x2fbd88);return _0x20c7f3[_0x088a('0xe')](_0x5874f0)?_0x20c7f3[_0x5874f0]:null;}}return null;}function isLimit(_0x14bc0c,_0x1dbd4b,_0x2ca67f,_0x49859b){var _0x59d45a=_0x1dbd4b;return compose()[_0x088a('0xf')](function(_0x1b4320,_0x1ffbe6,_0x183384){return db[_0x088a('0x10')][_0x088a('0x11')]({'where':{'id':0x1},'raw':!![]})[_0x088a('0x12')](function(_0x5f3b24){var _0x177b7c=getValueFromLicense(_0x14bc0c,_0x5f3b24);return _0x177b7c?_0x177b7c:_0x59d45a;})[_0x088a('0x12')](function(_0x4a3031){_0x59d45a=_0x4a3031;return _0x2ca67f[_0x088a('0x13')](_0x49859b);})[_0x088a('0x12')](function(_0x4c9c61){if(_0x4c9c61>=_0x59d45a){return _0x1ffbe6['status'](0x193)[_0x088a('0x14')]({'message':util[_0x088a('0x9')]('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x14bc0c)});}_0x183384();})[_0x088a('0x15')](function(_0x530f7d){_0x183384(_0x530f7d);});});}function isUserLimit(){return isLimit(_0x088a('0x16'),0x1,db[_0x088a('0x17')],{'where':{'$or':[{'role':_0x088a('0x18')},{'role':'user'}]}});}exports['isUserLimit']=isUserLimit;