Built motion from commit 9d1906d1.|2.5.40
[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 _0xc2f0=['admin','user','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','update','utf8','final','parse','hasOwnProperty','use','License','findOne','count','then','status','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','User'];(function(_0x41e9e0,_0x198dc6){var _0x34611e=function(_0x3a5297){while(--_0x3a5297){_0x41e9e0['push'](_0x41e9e0['shift']());}};_0x34611e(++_0x198dc6);}(_0xc2f0,0xaa));var _0x0c2f=function(_0x25c5c1,_0x25a347){_0x25c5c1=_0x25c5c1-0x0;var _0x271cc4=_0xc2f0[_0x25c5c1];return _0x271cc4;};'use strict';var crypto=require(_0x0c2f('0x0'));var util=require(_0x0c2f('0x1'));var compose=require(_0x0c2f('0x2'));var db=require(_0x0c2f('0x3'))['db'];var config=require(_0x0c2f('0x4'));function getValueFromLicense(_0x166643,_0x42da1f){if(_0x166643&&_0x42da1f){if(_0x42da1f[_0x0c2f('0x5')]&&_0x42da1f[_0x0c2f('0x6')]){var _0x448274=_0x42da1f[_0x0c2f('0x5')];var _0x564641=_0x42da1f[_0x0c2f('0x6')];var _0x2c66b1=_0x448274[_0x0c2f('0x7')]('-')[0x4];var _0x412fca=_0x448274[_0x0c2f('0x7')]('-')[0x0];var _0x1ea7de=crypto[_0x0c2f('0x8')](_0x0c2f('0x9'),util['format']('%s:%s:%s',_0x2c66b1,_0x448274,_0x412fca));var _0x3558bc=_0x1ea7de[_0x0c2f('0xa')](_0x564641,'base64',_0x0c2f('0xb'));_0x3558bc+=_0x1ea7de[_0x0c2f('0xc')](_0x0c2f('0xb'));var _0x3c39f9=JSON[_0x0c2f('0xd')](_0x3558bc);return _0x3c39f9[_0x0c2f('0xe')](_0x166643)?_0x3c39f9[_0x166643]:null;}}return null;}function isLimit(_0x11f0fb,_0x8cd08,_0x23dcbd,_0x46cb3d){var _0x3015be=_0x8cd08;return compose()[_0x0c2f('0xf')](function(_0x247d6c,_0x45efa3,_0x1adaa6){return db[_0x0c2f('0x10')][_0x0c2f('0x11')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0x3b172f){var _0x29578d=getValueFromLicense(_0x11f0fb,_0x3b172f);return _0x29578d?_0x29578d:_0x3015be;})['then'](function(_0x329581){_0x3015be=_0x329581;return _0x23dcbd[_0x0c2f('0x12')](_0x46cb3d);})[_0x0c2f('0x13')](function(_0x4deaf7){if(_0x4deaf7>=_0x3015be){return _0x45efa3[_0x0c2f('0x14')](0x193)[_0x0c2f('0x15')]({'message':util[_0x0c2f('0x16')](_0x0c2f('0x17'),_0x11f0fb)});}_0x1adaa6();})[_0x0c2f('0x18')](function(_0x3db901){_0x1adaa6(_0x3db901);});});}function isUserLimit(){return isLimit('users',0x1,db[_0x0c2f('0x19')],{'where':{'$or':[{'role':_0x0c2f('0x1a')},{'role':_0x0c2f('0x1b')}]}});}exports['isUserLimit']=isUserLimit;