Built motion from commit (unavailable).|2.5.10
[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 _0x96ee=['findOne','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','user','crypto','util','composable-middleware','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','base64','utf8','parse','use'];(function(_0x29ac56,_0x12a049){var _0x460338=function(_0x481dd9){while(--_0x481dd9){_0x29ac56['push'](_0x29ac56['shift']());}};_0x460338(++_0x12a049);}(_0x96ee,0x1e5));var _0xe96e=function(_0x19c315,_0x2b2e84){_0x19c315=_0x19c315-0x0;var _0x3dc378=_0x96ee[_0x19c315];return _0x3dc378;};'use strict';var crypto=require(_0xe96e('0x0'));var util=require(_0xe96e('0x1'));var compose=require(_0xe96e('0x2'));var db=require('../../mysqldb')['db'];var config=require(_0xe96e('0x3'));function getValueFromLicense(_0x16018c,_0xd709ce){if(_0x16018c&&_0xd709ce){if(_0xd709ce[_0xe96e('0x4')]&&_0xd709ce[_0xe96e('0x5')]){var _0x4b3d06=_0xd709ce[_0xe96e('0x4')];var _0x1aa91f=_0xd709ce['license'];var _0x3e6ead=_0x4b3d06[_0xe96e('0x6')]('-')[0x4];var _0x23f713=_0x4b3d06[_0xe96e('0x6')]('-')[0x0];var _0x36487f=crypto[_0xe96e('0x7')](_0xe96e('0x8'),util[_0xe96e('0x9')](_0xe96e('0xa'),_0x3e6ead,_0x4b3d06,_0x23f713));var _0x9f84e=_0x36487f['update'](_0x1aa91f,_0xe96e('0xb'),_0xe96e('0xc'));_0x9f84e+=_0x36487f['final'](_0xe96e('0xc'));var _0x551a1c=JSON[_0xe96e('0xd')](_0x9f84e);return _0x551a1c['hasOwnProperty'](_0x16018c)?_0x551a1c[_0x16018c]:null;}}return null;}function isLimit(_0x4c52c4,_0x207dfa,_0x3d11c0,_0xdc715){var _0x3b7562=_0x207dfa;return compose()[_0xe96e('0xe')](function(_0x45c472,_0x25cb56,_0x5cdc80){return db['License'][_0xe96e('0xf')]({'where':{'id':0x1},'raw':!![]})[_0xe96e('0x10')](function(_0x245eff){var _0x5d06c3=getValueFromLicense(_0x4c52c4,_0x245eff);return _0x5d06c3?_0x5d06c3:_0x3b7562;})[_0xe96e('0x10')](function(_0x45fd8e){_0x3b7562=_0x45fd8e;return _0x3d11c0['count'](_0xdc715);})[_0xe96e('0x10')](function(_0x4611f7){if(_0x4611f7>=_0x3b7562){return _0x25cb56[_0xe96e('0x11')](0x193)[_0xe96e('0x12')]({'message':util['format'](_0xe96e('0x13'),_0x4c52c4)});}_0x5cdc80();})[_0xe96e('0x14')](function(_0x19af92){_0x5cdc80(_0x19af92);});});}function isUserLimit(){return isLimit(_0xe96e('0x15'),0x1,db[_0xe96e('0x16')],{'where':{'$or':[{'role':_0xe96e('0x17')},{'role':_0xe96e('0x18')}]}});}exports['isUserLimit']=isUserLimit;