Built motion from commit e6806ed6.|2.6.0
[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 _0x2514=['users','User','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','format','%s:%s:%s','utf8','final','parse','hasOwnProperty','use','License','findOne','then','count','status','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch'];(function(_0x136b8a,_0x45268e){var _0x52b0de=function(_0x4dc88e){while(--_0x4dc88e){_0x136b8a['push'](_0x136b8a['shift']());}};_0x52b0de(++_0x45268e);}(_0x2514,0xe4));var _0x4251=function(_0x42ff3d,_0x8b096f){_0x42ff3d=_0x42ff3d-0x0;var _0x4ff2c0=_0x2514[_0x42ff3d];return _0x4ff2c0;};'use strict';var crypto=require(_0x4251('0x0'));var util=require(_0x4251('0x1'));var compose=require(_0x4251('0x2'));var db=require(_0x4251('0x3'))['db'];var config=require(_0x4251('0x4'));function getValueFromLicense(_0x58f1fb,_0x260b52){if(_0x58f1fb&&_0x260b52){if(_0x260b52[_0x4251('0x5')]&&_0x260b52[_0x4251('0x6')]){var _0x4f4879=_0x260b52[_0x4251('0x5')];var _0x3a6090=_0x260b52[_0x4251('0x6')];var _0x13905f=_0x4f4879['split']('-')[0x4];var _0x3eb282=_0x4f4879[_0x4251('0x7')]('-')[0x0];var _0x1b594b=crypto[_0x4251('0x8')](_0x4251('0x9'),util[_0x4251('0xa')](_0x4251('0xb'),_0x13905f,_0x4f4879,_0x3eb282));var _0x2198f5=_0x1b594b['update'](_0x3a6090,'base64',_0x4251('0xc'));_0x2198f5+=_0x1b594b[_0x4251('0xd')](_0x4251('0xc'));var _0x417608=JSON[_0x4251('0xe')](_0x2198f5);return _0x417608[_0x4251('0xf')](_0x58f1fb)?_0x417608[_0x58f1fb]:null;}}return null;}function isLimit(_0x3723e4,_0x37f456,_0x28151a,_0x417349){var _0x2c896e=_0x37f456;return compose()[_0x4251('0x10')](function(_0x3a3ee8,_0x428afc,_0x2ffe1d){return db[_0x4251('0x11')][_0x4251('0x12')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0x40b4e1){var _0x12e721=getValueFromLicense(_0x3723e4,_0x40b4e1);return _0x12e721?_0x12e721:_0x2c896e;})[_0x4251('0x13')](function(_0x4ac664){_0x2c896e=_0x4ac664;return _0x28151a[_0x4251('0x14')](_0x417349);})[_0x4251('0x13')](function(_0x4b1fbd){if(_0x4b1fbd>=_0x2c896e){return _0x428afc[_0x4251('0x15')](0x193)['json']({'message':util[_0x4251('0xa')](_0x4251('0x16'),_0x3723e4)});}_0x2ffe1d();})[_0x4251('0x17')](function(_0x52300c){_0x2ffe1d(_0x52300c);});});}function isUserLimit(){return isLimit(_0x4251('0x18'),0x1,db[_0x4251('0x19')],{'where':{'$or':[{'role':'admin'},{'role':_0x4251('0x1a')}]}});}exports[_0x4251('0x1b')]=isUserLimit;