Built motion from commit (unavailable).|2.5.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 _0x3200=['split','aes-256-ctr','format','%s:%s:%s','update','final','utf8','parse','hasOwnProperty','use','License','findOne','then','count','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','User','admin','isUserLimit','composable-middleware','../../mysqldb','data1','license'];(function(_0x1bfe51,_0x4bebab){var _0x503b1e=function(_0x356083){while(--_0x356083){_0x1bfe51['push'](_0x1bfe51['shift']());}};_0x503b1e(++_0x4bebab);}(_0x3200,0x128));var _0x0320=function(_0x3b3da5,_0x2f7de6){_0x3b3da5=_0x3b3da5-0x0;var _0x142712=_0x3200[_0x3b3da5];return _0x142712;};'use strict';var crypto=require('crypto');var util=require('util');var compose=require(_0x0320('0x0'));var db=require(_0x0320('0x1'))['db'];var config=require('../../config/environment');function getValueFromLicense(_0xa8ddd1,_0x43ec0b){if(_0xa8ddd1&&_0x43ec0b){if(_0x43ec0b[_0x0320('0x2')]&&_0x43ec0b[_0x0320('0x3')]){var _0x17852f=_0x43ec0b[_0x0320('0x2')];var _0x4bc4bb=_0x43ec0b['license'];var _0x89a74b=_0x17852f[_0x0320('0x4')]('-')[0x4];var _0x1e7b7b=_0x17852f['split']('-')[0x0];var _0x2eb204=crypto['createDecipher'](_0x0320('0x5'),util[_0x0320('0x6')](_0x0320('0x7'),_0x89a74b,_0x17852f,_0x1e7b7b));var _0x2bf59a=_0x2eb204[_0x0320('0x8')](_0x4bc4bb,'base64','utf8');_0x2bf59a+=_0x2eb204[_0x0320('0x9')](_0x0320('0xa'));var _0x435cf1=JSON[_0x0320('0xb')](_0x2bf59a);return _0x435cf1[_0x0320('0xc')](_0xa8ddd1)?_0x435cf1[_0xa8ddd1]:null;}}return null;}function isLimit(_0x18cba7,_0x33e933,_0x3e9771,_0x27788e){var _0xd674dd=_0x33e933;return compose()[_0x0320('0xd')](function(_0x120c45,_0x9e2008,_0x17d5a7){return db[_0x0320('0xe')][_0x0320('0xf')]({'where':{'id':0x1},'raw':!![]})[_0x0320('0x10')](function(_0x2b0860){var _0x4561ec=getValueFromLicense(_0x18cba7,_0x2b0860);return _0x4561ec?_0x4561ec:_0xd674dd;})[_0x0320('0x10')](function(_0x58864d){_0xd674dd=_0x58864d;return _0x3e9771[_0x0320('0x11')](_0x27788e);})[_0x0320('0x10')](function(_0x4eba7b){if(_0x4eba7b>=_0xd674dd){return _0x9e2008[_0x0320('0x12')](0x193)[_0x0320('0x13')]({'message':util[_0x0320('0x6')](_0x0320('0x14'),_0x18cba7)});}_0x17d5a7();})[_0x0320('0x15')](function(_0x3dc608){_0x17d5a7(_0x3dc608);});});}function isUserLimit(){return isLimit('users',0x1,db[_0x0320('0x16')],{'where':{'$or':[{'role':_0x0320('0x17')},{'role':'user'}]}});}exports[_0x0320('0x18')]=isUserLimit;