Built motion from commit a679711e.|2.6.15
[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 _0x0353=['user','isUserLimit','util','composable-middleware','../../config/environment','license','data1','split','format','%s:%s:%s','update','base64','utf8','final','hasOwnProperty','use','License','findOne','then','count','Maximum\x20%s\x20limit\x20have\x20been\x20reached','catch','users','User','admin'];(function(_0x28d8bd,_0x2a9333){var _0x4eacd4=function(_0x52d2a0){while(--_0x52d2a0){_0x28d8bd['push'](_0x28d8bd['shift']());}};_0x4eacd4(++_0x2a9333);}(_0x0353,0x1dd));var _0x3035=function(_0x31cb5f,_0x2df766){_0x31cb5f=_0x31cb5f-0x0;var _0x586042=_0x0353[_0x31cb5f];return _0x586042;};'use strict';var crypto=require('crypto');var util=require(_0x3035('0x0'));var compose=require(_0x3035('0x1'));var db=require('../../mysqldb')['db'];var config=require(_0x3035('0x2'));function getValueFromLicense(_0x3d53f4,_0x12be89){if(_0x3d53f4&&_0x12be89){if(_0x12be89['data1']&&_0x12be89[_0x3035('0x3')]){var _0x2c1c09=_0x12be89[_0x3035('0x4')];var _0x36bb8c=_0x12be89[_0x3035('0x3')];var _0x30cac6=_0x2c1c09['split']('-')[0x4];var _0x24726a=_0x2c1c09[_0x3035('0x5')]('-')[0x0];var _0x346887=crypto['createDecipher']('aes-256-ctr',util[_0x3035('0x6')](_0x3035('0x7'),_0x30cac6,_0x2c1c09,_0x24726a));var _0x25589b=_0x346887[_0x3035('0x8')](_0x36bb8c,_0x3035('0x9'),_0x3035('0xa'));_0x25589b+=_0x346887[_0x3035('0xb')]('utf8');var _0xac1715=JSON['parse'](_0x25589b);return _0xac1715[_0x3035('0xc')](_0x3d53f4)?_0xac1715[_0x3d53f4]:null;}}return null;}function isLimit(_0x33a525,_0x3483f5,_0x452ab2,_0x29b2d4){var _0x47cb20=_0x3483f5;return compose()[_0x3035('0xd')](function(_0x81f3e3,_0x36acab,_0x57657c){return db[_0x3035('0xe')][_0x3035('0xf')]({'where':{'id':0x1},'raw':!![]})[_0x3035('0x10')](function(_0x1cedbb){var _0x28985b=getValueFromLicense(_0x33a525,_0x1cedbb);return _0x28985b?_0x28985b:_0x47cb20;})[_0x3035('0x10')](function(_0x17cd35){_0x47cb20=_0x17cd35;return _0x452ab2[_0x3035('0x11')](_0x29b2d4);})[_0x3035('0x10')](function(_0x3243fc){if(_0x3243fc>=_0x47cb20){return _0x36acab['status'](0x193)['json']({'message':util['format'](_0x3035('0x12'),_0x33a525)});}_0x57657c();})[_0x3035('0x13')](function(_0x5e6857){_0x57657c(_0x5e6857);});});}function isUserLimit(){return isLimit(_0x3035('0x14'),0x1,db[_0x3035('0x15')],{'where':{'$or':[{'role':_0x3035('0x16')},{'role':_0x3035('0x17')}]}});}exports[_0x3035('0x18')]=isUserLimit;