Built motion from commit e02f907f.|2.6.14
[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 _0x2d34=['../../config/environment','split','createDecipher','%s:%s:%s','update','utf8','final','parse','hasOwnProperty','then','count','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin','user','isUserLimit','util','composable-middleware','../../mysqldb'];(function(_0x2d1623,_0x18c3e8){var _0x50d246=function(_0x139331){while(--_0x139331){_0x2d1623['push'](_0x2d1623['shift']());}};_0x50d246(++_0x18c3e8);}(_0x2d34,0x156));var _0x42d3=function(_0x3a14b7,_0x3cd9d5){_0x3a14b7=_0x3a14b7-0x0;var _0x37b5cd=_0x2d34[_0x3a14b7];return _0x37b5cd;};'use strict';var crypto=require('crypto');var util=require(_0x42d3('0x0'));var compose=require(_0x42d3('0x1'));var db=require(_0x42d3('0x2'))['db'];var config=require(_0x42d3('0x3'));function getValueFromLicense(_0x45ee46,_0x1f96dd){if(_0x45ee46&&_0x1f96dd){if(_0x1f96dd['data1']&&_0x1f96dd['license']){var _0x298a50=_0x1f96dd['data1'];var _0xe80ef9=_0x1f96dd['license'];var _0x12e12b=_0x298a50['split']('-')[0x4];var _0x544b44=_0x298a50[_0x42d3('0x4')]('-')[0x0];var _0x34f057=crypto[_0x42d3('0x5')]('aes-256-ctr',util['format'](_0x42d3('0x6'),_0x12e12b,_0x298a50,_0x544b44));var _0xead1c1=_0x34f057[_0x42d3('0x7')](_0xe80ef9,'base64',_0x42d3('0x8'));_0xead1c1+=_0x34f057[_0x42d3('0x9')](_0x42d3('0x8'));var _0x81523d=JSON[_0x42d3('0xa')](_0xead1c1);return _0x81523d[_0x42d3('0xb')](_0x45ee46)?_0x81523d[_0x45ee46]:null;}}return null;}function isLimit(_0x2600f4,_0x8fe88c,_0x2aab00,_0x389f58){var _0x13fd5b=_0x8fe88c;return compose()['use'](function(_0x1347d0,_0x3f56fd,_0x4fc61f){return db['License']['findOne']({'where':{'id':0x1},'raw':!![]})[_0x42d3('0xc')](function(_0x2fa398){var _0x4d41ae=getValueFromLicense(_0x2600f4,_0x2fa398);return _0x4d41ae?_0x4d41ae:_0x13fd5b;})[_0x42d3('0xc')](function(_0x460abe){_0x13fd5b=_0x460abe;return _0x2aab00[_0x42d3('0xd')](_0x389f58);})[_0x42d3('0xc')](function(_0x1cb8d7){if(_0x1cb8d7>=_0x13fd5b){return _0x3f56fd['status'](0x193)[_0x42d3('0xe')]({'message':util[_0x42d3('0xf')](_0x42d3('0x10'),_0x2600f4)});}_0x4fc61f();})[_0x42d3('0x11')](function(_0xc9a998){_0x4fc61f(_0xc9a998);});});}function isUserLimit(){return isLimit(_0x42d3('0x12'),0x1,db[_0x42d3('0x13')],{'where':{'$or':[{'role':_0x42d3('0x14')},{'role':_0x42d3('0x15')}]}});}exports[_0x42d3('0x16')]=isUserLimit;