Built motion from commit (unavailable).|2.4.4
[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 _0xb22c=['../../mysqldb','../../config/environment','data1','license','split','createDecipher','format','base64','utf8','final','parse','hasOwnProperty','use','License','findOne','then','count','status','catch','users','User','admin','user','isUserLimit','util','composable-middleware'];(function(_0x895343,_0x343e78){var _0x4a53c2=function(_0x1ad450){while(--_0x1ad450){_0x895343['push'](_0x895343['shift']());}};_0x4a53c2(++_0x343e78);}(_0xb22c,0x66));var _0xcb22=function(_0x33bda7,_0x47eefd){_0x33bda7=_0x33bda7-0x0;var _0x403041=_0xb22c[_0x33bda7];return _0x403041;};'use strict';var crypto=require('crypto');var util=require(_0xcb22('0x0'));var compose=require(_0xcb22('0x1'));var db=require(_0xcb22('0x2'))['db'];var config=require(_0xcb22('0x3'));function getValueFromLicense(_0xb07501,_0x1eeaca){if(_0xb07501&&_0x1eeaca){if(_0x1eeaca[_0xcb22('0x4')]&&_0x1eeaca[_0xcb22('0x5')]){var _0x1c4a14=_0x1eeaca['data1'];var _0x97ed6e=_0x1eeaca[_0xcb22('0x5')];var _0x4728c3=_0x1c4a14[_0xcb22('0x6')]('-')[0x4];var _0x2e572b=_0x1c4a14['split']('-')[0x0];var _0x40caa8=crypto[_0xcb22('0x7')]('aes-256-ctr',util[_0xcb22('0x8')]('%s:%s:%s',_0x4728c3,_0x1c4a14,_0x2e572b));var _0x43de0f=_0x40caa8['update'](_0x97ed6e,_0xcb22('0x9'),_0xcb22('0xa'));_0x43de0f+=_0x40caa8[_0xcb22('0xb')](_0xcb22('0xa'));var _0x37dd8f=JSON[_0xcb22('0xc')](_0x43de0f);return _0x37dd8f[_0xcb22('0xd')](_0xb07501)?_0x37dd8f[_0xb07501]:null;}}return null;}function isLimit(_0x3a03a5,_0x48c31a,_0x596005,_0x1442ed){var _0x9ae8ac=_0x48c31a;return compose()[_0xcb22('0xe')](function(_0x16219d,_0x3000cc,_0x60ec3){return db[_0xcb22('0xf')][_0xcb22('0x10')]({'where':{'id':0x1},'raw':!![]})[_0xcb22('0x11')](function(_0x50c4e8){var _0x43e44a=getValueFromLicense(_0x3a03a5,_0x50c4e8);return _0x43e44a?_0x43e44a:_0x9ae8ac;})[_0xcb22('0x11')](function(_0x15d617){_0x9ae8ac=_0x15d617;return _0x596005[_0xcb22('0x12')](_0x1442ed);})[_0xcb22('0x11')](function(_0x1bd18e){if(_0x1bd18e>=_0x9ae8ac){return _0x3000cc[_0xcb22('0x13')](0x193)['json']({'message':util[_0xcb22('0x8')]('Maximum\x20%s\x20limit\x20have\x20been\x20reached',_0x3a03a5)});}_0x60ec3();})[_0xcb22('0x14')](function(_0x777761){_0x60ec3(_0x777761);});});}function isUserLimit(){return isLimit(_0xcb22('0x15'),0x1,db[_0xcb22('0x16')],{'where':{'$or':[{'role':_0xcb22('0x17')},{'role':_0xcb22('0x18')}]}});}exports[_0xcb22('0x19')]=isUserLimit;