Built motion from commit (unavailable).|2.5.30
[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 _0x4199=['crypto','util','composable-middleware','../../mysqldb','license','data1','split','aes-256-ctr','format','update','base64','utf8','final','parse','License','findOne','count','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','user','isUserLimit'];(function(_0x18a2ce,_0x57e9da){var _0x59a8cc=function(_0x306a9a){while(--_0x306a9a){_0x18a2ce['push'](_0x18a2ce['shift']());}};_0x59a8cc(++_0x57e9da);}(_0x4199,0xf2));var _0x9419=function(_0x16589b,_0x5a8ff4){_0x16589b=_0x16589b-0x0;var _0x32539e=_0x4199[_0x16589b];return _0x32539e;};'use strict';var crypto=require(_0x9419('0x0'));var util=require(_0x9419('0x1'));var compose=require(_0x9419('0x2'));var db=require(_0x9419('0x3'))['db'];var config=require('../../config/environment');function getValueFromLicense(_0x161d75,_0x5beb58){if(_0x161d75&&_0x5beb58){if(_0x5beb58['data1']&&_0x5beb58[_0x9419('0x4')]){var _0x1a512d=_0x5beb58[_0x9419('0x5')];var _0x1e4c09=_0x5beb58['license'];var _0x304a19=_0x1a512d[_0x9419('0x6')]('-')[0x4];var _0x19665a=_0x1a512d['split']('-')[0x0];var _0xf2158b=crypto['createDecipher'](_0x9419('0x7'),util[_0x9419('0x8')]('%s:%s:%s',_0x304a19,_0x1a512d,_0x19665a));var _0x1a753e=_0xf2158b[_0x9419('0x9')](_0x1e4c09,_0x9419('0xa'),_0x9419('0xb'));_0x1a753e+=_0xf2158b[_0x9419('0xc')](_0x9419('0xb'));var _0x25396d=JSON[_0x9419('0xd')](_0x1a753e);return _0x25396d['hasOwnProperty'](_0x161d75)?_0x25396d[_0x161d75]:null;}}return null;}function isLimit(_0x438ede,_0x16c3c2,_0x5ebbbc,_0x50b76e){var _0x3dee32=_0x16c3c2;return compose()['use'](function(_0x50f29c,_0x21c241,_0x5134e5){return db[_0x9419('0xe')][_0x9419('0xf')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0x1bbd72){var _0xc0da84=getValueFromLicense(_0x438ede,_0x1bbd72);return _0xc0da84?_0xc0da84:_0x3dee32;})['then'](function(_0x3fd96c){_0x3dee32=_0x3fd96c;return _0x5ebbbc[_0x9419('0x10')](_0x50b76e);})['then'](function(_0x24c05a){if(_0x24c05a>=_0x3dee32){return _0x21c241['status'](0x193)[_0x9419('0x11')]({'message':util[_0x9419('0x8')](_0x9419('0x12'),_0x438ede)});}_0x5134e5();})['catch'](function(_0x56c85c){_0x5134e5(_0x56c85c);});});}function isUserLimit(){return isLimit(_0x9419('0x13'),0x1,db['User'],{'where':{'$or':[{'role':'admin'},{'role':_0x9419('0x14')}]}});}exports[_0x9419('0x15')]=isUserLimit;