Built motion from commit 19a84241.|2.5.34
[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 _0xac10=['User','user','isUserLimit','util','../../config/environment','data1','license','split','createDecipher','format','%s:%s:%s','base64','final','parse','hasOwnProperty','use','License','then','count','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users'];(function(_0x56dc42,_0x156c1b){var _0x383dc7=function(_0x225668){while(--_0x225668){_0x56dc42['push'](_0x56dc42['shift']());}};_0x383dc7(++_0x156c1b);}(_0xac10,0x123));var _0x0ac1=function(_0x1accf6,_0x4a9854){_0x1accf6=_0x1accf6-0x0;var _0x24e446=_0xac10[_0x1accf6];return _0x24e446;};'use strict';var crypto=require('crypto');var util=require(_0x0ac1('0x0'));var compose=require('composable-middleware');var db=require('../../mysqldb')['db'];var config=require(_0x0ac1('0x1'));function getValueFromLicense(_0x22acd5,_0x2ab0c5){if(_0x22acd5&&_0x2ab0c5){if(_0x2ab0c5[_0x0ac1('0x2')]&&_0x2ab0c5[_0x0ac1('0x3')]){var _0x483c22=_0x2ab0c5[_0x0ac1('0x2')];var _0x10a1d8=_0x2ab0c5[_0x0ac1('0x3')];var _0x26168e=_0x483c22[_0x0ac1('0x4')]('-')[0x4];var _0x44ac54=_0x483c22[_0x0ac1('0x4')]('-')[0x0];var _0x510ca0=crypto[_0x0ac1('0x5')]('aes-256-ctr',util[_0x0ac1('0x6')](_0x0ac1('0x7'),_0x26168e,_0x483c22,_0x44ac54));var _0x1516d2=_0x510ca0['update'](_0x10a1d8,_0x0ac1('0x8'),'utf8');_0x1516d2+=_0x510ca0[_0x0ac1('0x9')]('utf8');var _0x183534=JSON[_0x0ac1('0xa')](_0x1516d2);return _0x183534[_0x0ac1('0xb')](_0x22acd5)?_0x183534[_0x22acd5]:null;}}return null;}function isLimit(_0x2a9134,_0x553743,_0x47271a,_0x505b2a){var _0x221fa4=_0x553743;return compose()[_0x0ac1('0xc')](function(_0x343ba4,_0x1b9ca3,_0x363298){return db[_0x0ac1('0xd')]['findOne']({'where':{'id':0x1},'raw':!![]})[_0x0ac1('0xe')](function(_0x22df0d){var _0x5cc17c=getValueFromLicense(_0x2a9134,_0x22df0d);return _0x5cc17c?_0x5cc17c:_0x221fa4;})['then'](function(_0x50142d){_0x221fa4=_0x50142d;return _0x47271a[_0x0ac1('0xf')](_0x505b2a);})['then'](function(_0x4ecaf4){if(_0x4ecaf4>=_0x221fa4){return _0x1b9ca3[_0x0ac1('0x10')](0x193)[_0x0ac1('0x11')]({'message':util[_0x0ac1('0x6')](_0x0ac1('0x12'),_0x2a9134)});}_0x363298();})[_0x0ac1('0x13')](function(_0x5ce201){_0x363298(_0x5ce201);});});}function isUserLimit(){return isLimit(_0x0ac1('0x14'),0x1,db[_0x0ac1('0x15')],{'where':{'$or':[{'role':'admin'},{'role':_0x0ac1('0x16')}]}});}exports[_0x0ac1('0x17')]=isUserLimit;