4876b940c5ec6b4bc2615f7868df920803699881
[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 _0x5442=['admin','user','isUserLimit','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','%s:%s:%s','update','base64','utf8','final','parse','use','findOne','then','count','status','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User'];(function(_0x5a177d,_0x265240){var _0x3a1eae=function(_0x45bd03){while(--_0x45bd03){_0x5a177d['push'](_0x5a177d['shift']());}};_0x3a1eae(++_0x265240);}(_0x5442,0x8f));var _0x2544=function(_0x59bcb1,_0x5a4b6c){_0x59bcb1=_0x59bcb1-0x0;var _0x4a737f=_0x5442[_0x59bcb1];return _0x4a737f;};'use strict';var crypto=require('crypto');var util=require(_0x2544('0x0'));var compose=require(_0x2544('0x1'));var db=require(_0x2544('0x2'))['db'];var config=require(_0x2544('0x3'));function getValueFromLicense(_0x1afb0c,_0x439347){if(_0x1afb0c&&_0x439347){if(_0x439347[_0x2544('0x4')]&&_0x439347[_0x2544('0x5')]){var _0x515fcb=_0x439347[_0x2544('0x4')];var _0x38a496=_0x439347[_0x2544('0x5')];var _0x2ecf79=_0x515fcb[_0x2544('0x6')]('-')[0x4];var _0x25d9a1=_0x515fcb[_0x2544('0x6')]('-')[0x0];var _0x4757ab=crypto[_0x2544('0x7')](_0x2544('0x8'),util['format'](_0x2544('0x9'),_0x2ecf79,_0x515fcb,_0x25d9a1));var _0xfd7ea3=_0x4757ab[_0x2544('0xa')](_0x38a496,_0x2544('0xb'),_0x2544('0xc'));_0xfd7ea3+=_0x4757ab[_0x2544('0xd')](_0x2544('0xc'));var _0x1d7190=JSON[_0x2544('0xe')](_0xfd7ea3);return _0x1d7190['hasOwnProperty'](_0x1afb0c)?_0x1d7190[_0x1afb0c]:null;}}return null;}function isLimit(_0x22e3b0,_0x3d78fe,_0x45d914,_0x56e068){var _0x1c9957=_0x3d78fe;return compose()[_0x2544('0xf')](function(_0x330146,_0x53aba5,_0x2d395e){return db['License'][_0x2544('0x10')]({'where':{'id':0x1},'raw':!![]})[_0x2544('0x11')](function(_0x3c98dc){var _0x420e6a=getValueFromLicense(_0x22e3b0,_0x3c98dc);return _0x420e6a?_0x420e6a:_0x1c9957;})[_0x2544('0x11')](function(_0x595d20){_0x1c9957=_0x595d20;return _0x45d914[_0x2544('0x12')](_0x56e068);})[_0x2544('0x11')](function(_0xcdbece){if(_0xcdbece>=_0x1c9957){return _0x53aba5[_0x2544('0x13')](0x193)[_0x2544('0x14')]({'message':util[_0x2544('0x15')](_0x2544('0x16'),_0x22e3b0)});}_0x2d395e();})['catch'](function(_0x43d9d7){_0x2d395e(_0x43d9d7);});});}function isUserLimit(){return isLimit(_0x2544('0x17'),0x1,db[_0x2544('0x18')],{'where':{'$or':[{'role':_0x2544('0x19')},{'role':_0x2544('0x1a')}]}});}exports[_0x2544('0x1b')]=isUserLimit;