Built motion from commit (unavailable).|2.5.3
[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 _0xe730=['Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','User','admin','user','isUserLimit','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','update','utf8','parse','hasOwnProperty','use','findOne','then','count','json'];(function(_0x2704be,_0x2555d4){var _0x21d7b5=function(_0x5f2a1b){while(--_0x5f2a1b){_0x2704be['push'](_0x2704be['shift']());}};_0x21d7b5(++_0x2555d4);}(_0xe730,0xd6));var _0x0e73=function(_0x5f0e07,_0x10e305){_0x5f0e07=_0x5f0e07-0x0;var _0x16d632=_0xe730[_0x5f0e07];return _0x16d632;};'use strict';var crypto=require('crypto');var util=require(_0x0e73('0x0'));var compose=require(_0x0e73('0x1'));var db=require(_0x0e73('0x2'))['db'];var config=require(_0x0e73('0x3'));function getValueFromLicense(_0x3248d3,_0x379cb6){if(_0x3248d3&&_0x379cb6){if(_0x379cb6[_0x0e73('0x4')]&&_0x379cb6[_0x0e73('0x5')]){var _0x1e3e58=_0x379cb6[_0x0e73('0x4')];var _0x2b4f4a=_0x379cb6[_0x0e73('0x5')];var _0x8332f2=_0x1e3e58[_0x0e73('0x6')]('-')[0x4];var _0x5ce06a=_0x1e3e58[_0x0e73('0x6')]('-')[0x0];var _0x38bee7=crypto[_0x0e73('0x7')](_0x0e73('0x8'),util[_0x0e73('0x9')](_0x0e73('0xa'),_0x8332f2,_0x1e3e58,_0x5ce06a));var _0x290c4d=_0x38bee7[_0x0e73('0xb')](_0x2b4f4a,'base64',_0x0e73('0xc'));_0x290c4d+=_0x38bee7['final'](_0x0e73('0xc'));var _0x9e387a=JSON[_0x0e73('0xd')](_0x290c4d);return _0x9e387a[_0x0e73('0xe')](_0x3248d3)?_0x9e387a[_0x3248d3]:null;}}return null;}function isLimit(_0x3a11ff,_0x188c0a,_0xcc5de7,_0x4a133f){var _0x3918dd=_0x188c0a;return compose()[_0x0e73('0xf')](function(_0x530ca7,_0x1f77e0,_0x36d45c){return db['License'][_0x0e73('0x10')]({'where':{'id':0x1},'raw':!![]})[_0x0e73('0x11')](function(_0x89582){var _0x2584d6=getValueFromLicense(_0x3a11ff,_0x89582);return _0x2584d6?_0x2584d6:_0x3918dd;})[_0x0e73('0x11')](function(_0x193b71){_0x3918dd=_0x193b71;return _0xcc5de7[_0x0e73('0x12')](_0x4a133f);})[_0x0e73('0x11')](function(_0x481256){if(_0x481256>=_0x3918dd){return _0x1f77e0['status'](0x193)[_0x0e73('0x13')]({'message':util[_0x0e73('0x9')](_0x0e73('0x14'),_0x3a11ff)});}_0x36d45c();})[_0x0e73('0x15')](function(_0xee2d7d){_0x36d45c(_0xee2d7d);});});}function isUserLimit(){return isLimit('users',0x1,db[_0x0e73('0x16')],{'where':{'$or':[{'role':_0x0e73('0x17')},{'role':_0x0e73('0x18')}]}});}exports[_0x0e73('0x19')]=isUserLimit;