6d1ca3cb41a463518d1d896fc2069798163162ba
[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 _0xd350=['json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User','admin','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','update','utf8','parse','hasOwnProperty','use','findOne','then','status'];(function(_0x1b5a11,_0x99d469){var _0x2cc65b=function(_0x36e196){while(--_0x36e196){_0x1b5a11['push'](_0x1b5a11['shift']());}};_0x2cc65b(++_0x99d469);}(_0xd350,0xa9));var _0x0d35=function(_0x17e771,_0x55fd17){_0x17e771=_0x17e771-0x0;var _0x1f3a6d=_0xd350[_0x17e771];return _0x1f3a6d;};'use strict';var crypto=require(_0x0d35('0x0'));var util=require(_0x0d35('0x1'));var compose=require(_0x0d35('0x2'));var db=require(_0x0d35('0x3'))['db'];var config=require(_0x0d35('0x4'));function getValueFromLicense(_0x226e05,_0xda2a2a){if(_0x226e05&&_0xda2a2a){if(_0xda2a2a[_0x0d35('0x5')]&&_0xda2a2a[_0x0d35('0x6')]){var _0x5ead1d=_0xda2a2a[_0x0d35('0x5')];var _0x51c0b4=_0xda2a2a[_0x0d35('0x6')];var _0x427dde=_0x5ead1d[_0x0d35('0x7')]('-')[0x4];var _0x42d80c=_0x5ead1d[_0x0d35('0x7')]('-')[0x0];var _0x4e4c39=crypto[_0x0d35('0x8')](_0x0d35('0x9'),util[_0x0d35('0xa')](_0x0d35('0xb'),_0x427dde,_0x5ead1d,_0x42d80c));var _0x6636b8=_0x4e4c39[_0x0d35('0xc')](_0x51c0b4,'base64',_0x0d35('0xd'));_0x6636b8+=_0x4e4c39['final']('utf8');var _0x32dc8a=JSON[_0x0d35('0xe')](_0x6636b8);return _0x32dc8a[_0x0d35('0xf')](_0x226e05)?_0x32dc8a[_0x226e05]:null;}}return null;}function isLimit(_0x5eaf28,_0x13a598,_0x35fbcc,_0x16fcb2){var _0x4f124e=_0x13a598;return compose()[_0x0d35('0x10')](function(_0x48fcb2,_0x39940b,_0x5634b4){return db['License'][_0x0d35('0x11')]({'where':{'id':0x1},'raw':!![]})[_0x0d35('0x12')](function(_0x496c7e){var _0x546ada=getValueFromLicense(_0x5eaf28,_0x496c7e);return _0x546ada?_0x546ada:_0x4f124e;})[_0x0d35('0x12')](function(_0x24d3a3){_0x4f124e=_0x24d3a3;return _0x35fbcc['count'](_0x16fcb2);})[_0x0d35('0x12')](function(_0x4a2418){if(_0x4a2418>=_0x4f124e){return _0x39940b[_0x0d35('0x13')](0x193)[_0x0d35('0x14')]({'message':util['format'](_0x0d35('0x15'),_0x5eaf28)});}_0x5634b4();})['catch'](function(_0x70b3e2){_0x5634b4(_0x70b3e2);});});}function isUserLimit(){return isLimit(_0x0d35('0x16'),0x1,db[_0x0d35('0x17')],{'where':{'$or':[{'role':_0x0d35('0x18')},{'role':_0x0d35('0x19')}]}});}exports[_0x0d35('0x1a')]=isUserLimit;