Built motion from commit (unavailable).|2.5.1
[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 _0x3d4e=['admin','user','isUserLimit','crypto','composable-middleware','../../mysqldb','../../config/environment','data1','split','createDecipher','aes-256-ctr','format','update','base64','utf8','final','hasOwnProperty','use','License','findOne','count','then','status','json','Maximum\x20%s\x20limit\x20have\x20been\x20reached','users','User'];(function(_0x70c97a,_0xd4d263){var _0x5cb362=function(_0x163f30){while(--_0x163f30){_0x70c97a['push'](_0x70c97a['shift']());}};_0x5cb362(++_0xd4d263);}(_0x3d4e,0xa5));var _0xe3d4=function(_0x28109f,_0x57bc0d){_0x28109f=_0x28109f-0x0;var _0x24c79f=_0x3d4e[_0x28109f];return _0x24c79f;};'use strict';var crypto=require(_0xe3d4('0x0'));var util=require('util');var compose=require(_0xe3d4('0x1'));var db=require(_0xe3d4('0x2'))['db'];var config=require(_0xe3d4('0x3'));function getValueFromLicense(_0x1be75f,_0x2dc923){if(_0x1be75f&&_0x2dc923){if(_0x2dc923[_0xe3d4('0x4')]&&_0x2dc923['license']){var _0x201b83=_0x2dc923[_0xe3d4('0x4')];var _0x3e6d72=_0x2dc923['license'];var _0x49870b=_0x201b83['split']('-')[0x4];var _0x579a3a=_0x201b83[_0xe3d4('0x5')]('-')[0x0];var _0x2b2d97=crypto[_0xe3d4('0x6')](_0xe3d4('0x7'),util[_0xe3d4('0x8')]('%s:%s:%s',_0x49870b,_0x201b83,_0x579a3a));var _0x2a7e73=_0x2b2d97[_0xe3d4('0x9')](_0x3e6d72,_0xe3d4('0xa'),_0xe3d4('0xb'));_0x2a7e73+=_0x2b2d97[_0xe3d4('0xc')]('utf8');var _0x2fcca5=JSON['parse'](_0x2a7e73);return _0x2fcca5[_0xe3d4('0xd')](_0x1be75f)?_0x2fcca5[_0x1be75f]:null;}}return null;}function isLimit(_0x755552,_0x53e9e8,_0x3e182d,_0x3b5810){var _0x1425e0=_0x53e9e8;return compose()[_0xe3d4('0xe')](function(_0x5b2b9a,_0x557d91,_0x3fa3a7){return db[_0xe3d4('0xf')][_0xe3d4('0x10')]({'where':{'id':0x1},'raw':!![]})['then'](function(_0x1ed742){var _0x592b04=getValueFromLicense(_0x755552,_0x1ed742);return _0x592b04?_0x592b04:_0x1425e0;})['then'](function(_0x3696fa){_0x1425e0=_0x3696fa;return _0x3e182d[_0xe3d4('0x11')](_0x3b5810);})[_0xe3d4('0x12')](function(_0x1a6955){if(_0x1a6955>=_0x1425e0){return _0x557d91[_0xe3d4('0x13')](0x193)[_0xe3d4('0x14')]({'message':util['format'](_0xe3d4('0x15'),_0x755552)});}_0x3fa3a7();})['catch'](function(_0x26c53e){_0x3fa3a7(_0x26c53e);});});}function isUserLimit(){return isLimit(_0xe3d4('0x16'),0x1,db[_0xe3d4('0x17')],{'where':{'$or':[{'role':_0xe3d4('0x18')},{'role':_0xe3d4('0x19')}]}});}exports[_0xe3d4('0x1a')]=isUserLimit;