Built motion from commit (unavailable).|2.5.24
[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 _0x188d=['status','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User','admin','user','isUserLimit','crypto','data1','license','split','aes-256-ctr','update','base64','utf8','final','use','License','findOne','then','count'];(function(_0x3f6734,_0x5d12de){var _0xff78c0=function(_0x2cbb2c){while(--_0x2cbb2c){_0x3f6734['push'](_0x3f6734['shift']());}};_0xff78c0(++_0x5d12de);}(_0x188d,0xaa));var _0xd188=function(_0xe6f4ef,_0x4e34cc){_0xe6f4ef=_0xe6f4ef-0x0;var _0x4f3447=_0x188d[_0xe6f4ef];return _0x4f3447;};'use strict';var crypto=require(_0xd188('0x0'));var util=require('util');var compose=require('composable-middleware');var db=require('../../mysqldb')['db'];var config=require('../../config/environment');function getValueFromLicense(_0x3aac0a,_0x2e334f){if(_0x3aac0a&&_0x2e334f){if(_0x2e334f[_0xd188('0x1')]&&_0x2e334f['license']){var _0x2df6b0=_0x2e334f[_0xd188('0x1')];var _0x53bc03=_0x2e334f[_0xd188('0x2')];var _0x15b15d=_0x2df6b0[_0xd188('0x3')]('-')[0x4];var _0x1b5fea=_0x2df6b0[_0xd188('0x3')]('-')[0x0];var _0x136d1d=crypto['createDecipher'](_0xd188('0x4'),util['format']('%s:%s:%s',_0x15b15d,_0x2df6b0,_0x1b5fea));var _0x47f419=_0x136d1d[_0xd188('0x5')](_0x53bc03,_0xd188('0x6'),_0xd188('0x7'));_0x47f419+=_0x136d1d[_0xd188('0x8')](_0xd188('0x7'));var _0xbbed87=JSON['parse'](_0x47f419);return _0xbbed87['hasOwnProperty'](_0x3aac0a)?_0xbbed87[_0x3aac0a]:null;}}return null;}function isLimit(_0x3e8573,_0x35a2f4,_0x32a0ab,_0x5de013){var _0x4d731e=_0x35a2f4;return compose()[_0xd188('0x9')](function(_0x451c4d,_0x5f01b4,_0x29ebe0){return db[_0xd188('0xa')][_0xd188('0xb')]({'where':{'id':0x1},'raw':!![]})[_0xd188('0xc')](function(_0x441269){var _0x891647=getValueFromLicense(_0x3e8573,_0x441269);return _0x891647?_0x891647:_0x4d731e;})[_0xd188('0xc')](function(_0x324ff6){_0x4d731e=_0x324ff6;return _0x32a0ab[_0xd188('0xd')](_0x5de013);})[_0xd188('0xc')](function(_0x35ff5e){if(_0x35ff5e>=_0x4d731e){return _0x5f01b4[_0xd188('0xe')](0x193)[_0xd188('0xf')]({'message':util[_0xd188('0x10')](_0xd188('0x11'),_0x3e8573)});}_0x29ebe0();})['catch'](function(_0x30f691){_0x29ebe0(_0x30f691);});});}function isUserLimit(){return isLimit(_0xd188('0x12'),0x1,db[_0xd188('0x13')],{'where':{'$or':[{'role':_0xd188('0x14')},{'role':_0xd188('0x15')}]}});}exports[_0xd188('0x16')]=isUserLimit;