Built motion from commit (unavailable).|2.4.18
[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 _0xfdb3=['findOne','then','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','split','format','%s:%s:%s','update','base64','utf8','final','parse','hasOwnProperty','use','License'];(function(_0x764874,_0x3ed544){var _0x29f9d5=function(_0x152dad){while(--_0x152dad){_0x764874['push'](_0x764874['shift']());}};_0x29f9d5(++_0x3ed544);}(_0xfdb3,0x10d));var _0x3fdb=function(_0x1858f6,_0x62fdbb){_0x1858f6=_0x1858f6-0x0;var _0x1c3392=_0xfdb3[_0x1858f6];return _0x1c3392;};'use strict';var crypto=require(_0x3fdb('0x0'));var util=require(_0x3fdb('0x1'));var compose=require(_0x3fdb('0x2'));var db=require(_0x3fdb('0x3'))['db'];var config=require(_0x3fdb('0x4'));function getValueFromLicense(_0x33552e,_0x46225a){if(_0x33552e&&_0x46225a){if(_0x46225a[_0x3fdb('0x5')]&&_0x46225a['license']){var _0x4fbb71=_0x46225a[_0x3fdb('0x5')];var _0x3f1492=_0x46225a['license'];var _0x1fbdf5=_0x4fbb71['split']('-')[0x4];var _0x34c638=_0x4fbb71[_0x3fdb('0x6')]('-')[0x0];var _0x49b986=crypto['createDecipher']('aes-256-ctr',util[_0x3fdb('0x7')](_0x3fdb('0x8'),_0x1fbdf5,_0x4fbb71,_0x34c638));var _0x45a9a4=_0x49b986[_0x3fdb('0x9')](_0x3f1492,_0x3fdb('0xa'),_0x3fdb('0xb'));_0x45a9a4+=_0x49b986[_0x3fdb('0xc')](_0x3fdb('0xb'));var _0x146399=JSON[_0x3fdb('0xd')](_0x45a9a4);return _0x146399[_0x3fdb('0xe')](_0x33552e)?_0x146399[_0x33552e]:null;}}return null;}function isLimit(_0x246104,_0x28c7de,_0x2244ce,_0x284c8f){var _0x64f9d=_0x28c7de;return compose()[_0x3fdb('0xf')](function(_0x4d3902,_0x218b33,_0x5cd4e9){return db[_0x3fdb('0x10')][_0x3fdb('0x11')]({'where':{'id':0x1},'raw':!![]})[_0x3fdb('0x12')](function(_0x44ee75){var _0x173062=getValueFromLicense(_0x246104,_0x44ee75);return _0x173062?_0x173062:_0x64f9d;})['then'](function(_0x46ac0e){_0x64f9d=_0x46ac0e;return _0x2244ce[_0x3fdb('0x13')](_0x284c8f);})['then'](function(_0x3444e7){if(_0x3444e7>=_0x64f9d){return _0x218b33['status'](0x193)[_0x3fdb('0x14')]({'message':util['format'](_0x3fdb('0x15'),_0x246104)});}_0x5cd4e9();})[_0x3fdb('0x16')](function(_0x10ef06){_0x5cd4e9(_0x10ef06);});});}function isUserLimit(){return isLimit(_0x3fdb('0x17'),0x1,db['User'],{'where':{'$or':[{'role':'admin'},{'role':_0x3fdb('0x18')}]}});}exports[_0x3fdb('0x19')]=isUserLimit;