Built motion from commit 753c950e.|2.5.42
[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 _0x5559=['data1','aes-256-ctr','format','%s:%s:%s','update','base64','utf8','parse','hasOwnProperty','use','License','then','count','status','json','catch','users','User','admin','user','isUserLimit','crypto','util','../../config/environment'];(function(_0x15dc92,_0x45a995){var _0x21a6bb=function(_0x440ecd){while(--_0x440ecd){_0x15dc92['push'](_0x15dc92['shift']());}};_0x21a6bb(++_0x45a995);}(_0x5559,0xbd));var _0x9555=function(_0x5011ce,_0x56cefb){_0x5011ce=_0x5011ce-0x0;var _0x387448=_0x5559[_0x5011ce];return _0x387448;};'use strict';var crypto=require(_0x9555('0x0'));var util=require(_0x9555('0x1'));var compose=require('composable-middleware');var db=require('../../mysqldb')['db'];var config=require(_0x9555('0x2'));function getValueFromLicense(_0x20bdaa,_0x18c021){if(_0x20bdaa&&_0x18c021){if(_0x18c021[_0x9555('0x3')]&&_0x18c021['license']){var _0x4fa20c=_0x18c021['data1'];var _0x46e2b5=_0x18c021['license'];var _0x2ae9f0=_0x4fa20c['split']('-')[0x4];var _0x20c030=_0x4fa20c['split']('-')[0x0];var _0x465721=crypto['createDecipher'](_0x9555('0x4'),util[_0x9555('0x5')](_0x9555('0x6'),_0x2ae9f0,_0x4fa20c,_0x20c030));var _0x185000=_0x465721[_0x9555('0x7')](_0x46e2b5,_0x9555('0x8'),'utf8');_0x185000+=_0x465721['final'](_0x9555('0x9'));var _0x11b062=JSON[_0x9555('0xa')](_0x185000);return _0x11b062[_0x9555('0xb')](_0x20bdaa)?_0x11b062[_0x20bdaa]:null;}}return null;}function isLimit(_0x46eb22,_0x33fb09,_0x260d4c,_0x3b13fa){var _0x37ad4b=_0x33fb09;return compose()[_0x9555('0xc')](function(_0x45f122,_0x506975,_0x21fa25){return db[_0x9555('0xd')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0x9555('0xe')](function(_0x220a34){var _0x5c0be7=getValueFromLicense(_0x46eb22,_0x220a34);return _0x5c0be7?_0x5c0be7:_0x37ad4b;})[_0x9555('0xe')](function(_0x35b6bd){_0x37ad4b=_0x35b6bd;return _0x260d4c[_0x9555('0xf')](_0x3b13fa);})[_0x9555('0xe')](function(_0x569f92){if(_0x569f92>=_0x37ad4b){return _0x506975[_0x9555('0x10')](0x193)[_0x9555('0x11')]({'message':util[_0x9555('0x5')]('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x46eb22)});}_0x21fa25();})[_0x9555('0x12')](function(_0x58c87d){_0x21fa25(_0x58c87d);});});}function isUserLimit(){return isLimit(_0x9555('0x13'),0x1,db[_0x9555('0x14')],{'where':{'$or':[{'role':_0x9555('0x15')},{'role':_0x9555('0x16')}]}});}exports[_0x9555('0x17')]=isUserLimit;