Built motion from commit a61a4a20.|2.5.46
[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 _0x9db1=['catch','users','User','admin','user','isUserLimit','crypto','util','composable-middleware','../../mysqldb','../../config/environment','data1','license','split','createDecipher','aes-256-ctr','update','utf8','final','hasOwnProperty','findOne','then','count','json','format','Maximum\x20%s\x20limit\x20have\x20been\x20reached'];(function(_0x3bd876,_0x265b97){var _0x3240af=function(_0x24d342){while(--_0x24d342){_0x3bd876['push'](_0x3bd876['shift']());}};_0x3240af(++_0x265b97);}(_0x9db1,0xf0));var _0x19db=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x9db1[_0x3dd15e];return _0x231fd0;};'use strict';var crypto=require(_0x19db('0x0'));var util=require(_0x19db('0x1'));var compose=require(_0x19db('0x2'));var db=require(_0x19db('0x3'))['db'];var config=require(_0x19db('0x4'));function getValueFromLicense(_0x1524d4,_0x320916){if(_0x1524d4&&_0x320916){if(_0x320916['data1']&&_0x320916['license']){var _0x4aecd9=_0x320916[_0x19db('0x5')];var _0x9865a7=_0x320916[_0x19db('0x6')];var _0x163c6f=_0x4aecd9['split']('-')[0x4];var _0x388014=_0x4aecd9[_0x19db('0x7')]('-')[0x0];var _0x26fa2c=crypto[_0x19db('0x8')](_0x19db('0x9'),util['format']('%s:%s:%s',_0x163c6f,_0x4aecd9,_0x388014));var _0x3b9e6e=_0x26fa2c[_0x19db('0xa')](_0x9865a7,'base64',_0x19db('0xb'));_0x3b9e6e+=_0x26fa2c[_0x19db('0xc')](_0x19db('0xb'));var _0x3a7213=JSON['parse'](_0x3b9e6e);return _0x3a7213[_0x19db('0xd')](_0x1524d4)?_0x3a7213[_0x1524d4]:null;}}return null;}function isLimit(_0x1df26e,_0xe71fbd,_0x5a821b,_0x91acb3){var _0x2e8df8=_0xe71fbd;return compose()['use'](function(_0x44ccaa,_0x50891c,_0x498f5b){return db['License'][_0x19db('0xe')]({'where':{'id':0x1},'raw':!![]})[_0x19db('0xf')](function(_0x24f6ad){var _0xd21617=getValueFromLicense(_0x1df26e,_0x24f6ad);return _0xd21617?_0xd21617:_0x2e8df8;})[_0x19db('0xf')](function(_0x5117be){_0x2e8df8=_0x5117be;return _0x5a821b[_0x19db('0x10')](_0x91acb3);})['then'](function(_0x3c6255){if(_0x3c6255>=_0x2e8df8){return _0x50891c['status'](0x193)[_0x19db('0x11')]({'message':util[_0x19db('0x12')](_0x19db('0x13'),_0x1df26e)});}_0x498f5b();})[_0x19db('0x14')](function(_0x198e38){_0x498f5b(_0x198e38);});});}function isUserLimit(){return isLimit(_0x19db('0x15'),0x1,db[_0x19db('0x16')],{'where':{'$or':[{'role':_0x19db('0x17')},{'role':_0x19db('0x18')}]}});}exports[_0x19db('0x19')]=isUserLimit;