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 _0x83cc=['data1','license','split','createDecipher','format','%s:%s:%s','update','base64','final','parse','hasOwnProperty','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','admin','isUserLimit','util'];(function(_0x73e4cf,_0x2a8375){var _0x1e1bf8=function(_0xca0967){while(--_0xca0967){_0x73e4cf['push'](_0x73e4cf['shift']());}};_0x1e1bf8(++_0x2a8375);}(_0x83cc,0x18f));var _0xc83c=function(_0x5a4b16,_0x294bb1){_0x5a4b16=_0x5a4b16-0x0;var _0x5236dc=_0x83cc[_0x5a4b16];return _0x5236dc;};'use strict';var crypto=require('crypto');var util=require(_0xc83c('0x0'));var compose=require('composable-middleware');var db=require('../../mysqldb')['db'];var config=require('../../config/environment');function getValueFromLicense(_0x3c5d5f,_0x491eea){if(_0x3c5d5f&&_0x491eea){if(_0x491eea[_0xc83c('0x1')]&&_0x491eea['license']){var _0x975cc6=_0x491eea[_0xc83c('0x1')];var _0x704329=_0x491eea[_0xc83c('0x2')];var _0x31f40a=_0x975cc6['split']('-')[0x4];var _0x1aca76=_0x975cc6[_0xc83c('0x3')]('-')[0x0];var _0x44a043=crypto[_0xc83c('0x4')]('aes-256-ctr',util[_0xc83c('0x5')](_0xc83c('0x6'),_0x31f40a,_0x975cc6,_0x1aca76));var _0x3a4af4=_0x44a043[_0xc83c('0x7')](_0x704329,_0xc83c('0x8'),'utf8');_0x3a4af4+=_0x44a043[_0xc83c('0x9')]('utf8');var _0x551a42=JSON[_0xc83c('0xa')](_0x3a4af4);return _0x551a42[_0xc83c('0xb')](_0x3c5d5f)?_0x551a42[_0x3c5d5f]:null;}}return null;}function isLimit(_0x1bd543,_0x5859b2,_0xc1f76a,_0x3f1054){var _0x548887=_0x5859b2;return compose()['use'](function(_0x3ef3c5,_0x280bb7,_0x304202){return db['License']['findOne']({'where':{'id':0x1},'raw':!![]})[_0xc83c('0xc')](function(_0x362fa8){var _0x347e7e=getValueFromLicense(_0x1bd543,_0x362fa8);return _0x347e7e?_0x347e7e:_0x548887;})[_0xc83c('0xc')](function(_0x8fbec7){_0x548887=_0x8fbec7;return _0xc1f76a['count'](_0x3f1054);})[_0xc83c('0xc')](function(_0x22245a){if(_0x22245a>=_0x548887){return _0x280bb7[_0xc83c('0xd')](0x193)[_0xc83c('0xe')]({'message':util['format'](_0xc83c('0xf'),_0x1bd543)});}_0x304202();})[_0xc83c('0x10')](function(_0x37da36){_0x304202(_0x37da36);});});}function isUserLimit(){return isLimit(_0xc83c('0x11'),0x1,db['User'],{'where':{'$or':[{'role':_0xc83c('0x12')},{'role':'user'}]}});}exports[_0xc83c('0x13')]=isUserLimit;