4219c5a76e441ade8370851633a167869445891a
[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 _0x674a=['parse','hasOwnProperty','use','License','then','count','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User','admin','user','isUserLimit','crypto','util','composable-middleware','../../config/environment','license','split','createDecipher','aes-256-ctr','update','base64','utf8','final'];(function(_0x439c2f,_0x5841b1){var _0x395b21=function(_0x31d4ab){while(--_0x31d4ab){_0x439c2f['push'](_0x439c2f['shift']());}};_0x395b21(++_0x5841b1);}(_0x674a,0x17a));var _0xa674=function(_0x4f5c78,_0xa41bd4){_0x4f5c78=_0x4f5c78-0x0;var _0x212702=_0x674a[_0x4f5c78];return _0x212702;};'use strict';var crypto=require(_0xa674('0x0'));var util=require(_0xa674('0x1'));var compose=require(_0xa674('0x2'));var db=require('../../mysqldb')['db'];var config=require(_0xa674('0x3'));function getValueFromLicense(_0x2f185a,_0x281196){if(_0x2f185a&&_0x281196){if(_0x281196['data1']&&_0x281196[_0xa674('0x4')]){var _0x265638=_0x281196['data1'];var _0x13c197=_0x281196['license'];var _0x14b9c1=_0x265638[_0xa674('0x5')]('-')[0x4];var _0x50b720=_0x265638[_0xa674('0x5')]('-')[0x0];var _0x3e9dfa=crypto[_0xa674('0x6')](_0xa674('0x7'),util['format']('%s:%s:%s',_0x14b9c1,_0x265638,_0x50b720));var _0x49f3ae=_0x3e9dfa[_0xa674('0x8')](_0x13c197,_0xa674('0x9'),_0xa674('0xa'));_0x49f3ae+=_0x3e9dfa[_0xa674('0xb')](_0xa674('0xa'));var _0x3c1254=JSON[_0xa674('0xc')](_0x49f3ae);return _0x3c1254[_0xa674('0xd')](_0x2f185a)?_0x3c1254[_0x2f185a]:null;}}return null;}function isLimit(_0x420735,_0x43e62a,_0x401b21,_0x4dedef){var _0x1683f7=_0x43e62a;return compose()[_0xa674('0xe')](function(_0xd778d4,_0x124481,_0x3640c4){return db[_0xa674('0xf')]['findOne']({'where':{'id':0x1},'raw':!![]})['then'](function(_0x4db1bd){var _0xf2af6=getValueFromLicense(_0x420735,_0x4db1bd);return _0xf2af6?_0xf2af6:_0x1683f7;})[_0xa674('0x10')](function(_0x483860){_0x1683f7=_0x483860;return _0x401b21[_0xa674('0x11')](_0x4dedef);})[_0xa674('0x10')](function(_0x3d07b4){if(_0x3d07b4>=_0x1683f7){return _0x124481['status'](0x193)[_0xa674('0x12')]({'message':util[_0xa674('0x13')](_0xa674('0x14'),_0x420735)});}_0x3640c4();})['catch'](function(_0x3cb7ad){_0x3640c4(_0x3cb7ad);});});}function isUserLimit(){return isLimit(_0xa674('0x15'),0x1,db[_0xa674('0x16')],{'where':{'$or':[{'role':_0xa674('0x17')},{'role':_0xa674('0x18')}]}});}exports[_0xa674('0x19')]=isUserLimit;