Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / config / license / util.js
index eaf723d..9c6f095 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x6283=['defaults','then','catch','uuid','data1','license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','decryptString','format','%s:%s:%s','parse','demo','machineUuid','deadline','days','grayReason','disabled','message','findAll','sequelize','COUNT','role','count','user','telephones','forEach','admin','pick','telephone','exports','util','bluebird','./hardware','../../components/encryptor','2027-01-01T00:00:00.000Z','getUuid','License','find'];(function(_0x367e5b,_0x5721e4){var _0x4b909e=function(_0x22c6a4){while(--_0x22c6a4){_0x367e5b['push'](_0x367e5b['shift']());}};_0x4b909e(++_0x5721e4);}(_0x6283,0xee));var _0x3628=function(_0x1e20e0,_0x19e190){_0x1e20e0=_0x1e20e0-0x0;var _0x4c198b=_0x6283[_0x1e20e0];return _0x4c198b;};'use strict';var util=require(_0x3628('0x0'));var _=require('lodash');var moment=require('moment');var BPromise=require(_0x3628('0x1'));var hardware=require(_0x3628('0x2'));var encryptor=require(_0x3628('0x3'));var db=require('../../mysqldb')['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x3628('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':'Demo\x20license','machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x3628('0x4'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':'Breaking\x20license','machineUuid':hardware[_0x3628('0x5')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x50aedd){return new BPromise(function(_0x6f4224,_0xad8f59){return db[_0x3628('0x6')][_0x3628('0x7')](_[_0x3628('0x8')](_0x50aedd,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x37afc0){return checkLicense(_0x37afc0,null);})[_0x3628('0x9')](function(_0x581c64){_0x6f4224(_0x581c64);return;})[_0x3628('0xa')](function(_0x2e0ca9){_0xad8f59(_0x2e0ca9);});});}function checkLicense(_0x4710f7,_0x1e9414){if(!_0x4710f7){demoLicense[_0x3628('0xb')]=_0x4710f7[_0x3628('0xc')];return demoLicense;}try{var _0x40dda0=_0x1e9414||_0x4710f7[_0x3628('0xd')];if(_[_0x3628('0xe')](_0x40dda0)){throw new Error(_0x3628('0xf'));}var _0xbd61c9=_0x4710f7[_0x3628('0xc')];var _0x161227=_0x4710f7[_0x3628('0x10')];var _0x4ef117=_0xbd61c9[_0x3628('0x11')]('-')[0x4];var _0x3a1849=_0xbd61c9[_0x3628('0x11')]('-')[0x0];var _0x2bdd08=encryptor[_0x3628('0x12')](_0x40dda0,util[_0x3628('0x13')](_0x3628('0x14'),_0x4ef117,_0xbd61c9,_0x3a1849));var _0xaf69bf=JSON[_0x3628('0x15')](_0x2bdd08);_0xaf69bf[_0x3628('0x16')]=![];_0xaf69bf[_0x3628('0xb')]=_0xbd61c9;_0xaf69bf[_0x3628('0x17')]=hardware[_0x3628('0x5')]();if(_0x161227){var _0x45ec6d=encryptor[_0x3628('0x12')](_0x161227);_0xaf69bf['gray']=_0x45ec6d;_0xaf69bf[_0x3628('0x18')]=moment(_0x45ec6d)['add'](0x7,_0x3628('0x19'))[_0x3628('0x13')]();_0xaf69bf[_0x3628('0x1a')]=_0xaf69bf[_0x3628('0xb')]!=_0xaf69bf[_0x3628('0x17')]?'changed':_0x3628('0x1b');}return _0xaf69bf;}catch(_0x4e9033){breakingLicense[_0x3628('0xb')]=_0x4710f7[_0x3628('0xc')];breakingLicense[_0x3628('0x1c')]=_0x4e9033[_0x3628('0x1c')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x2c79b6,_0x2ae63c){getLicense()[_0x3628('0x9')](function(_0x211e6b){return db['User'][_0x3628('0x1d')]({'attributes':['role',[db[_0x3628('0x1e')]['fn'](_0x3628('0x1f'),db['sequelize']['col'](_0x3628('0x20'))),_0x3628('0x21')]],'group':'role','where':{'role':{'$or':['admin',_0x3628('0x22'),'telephone']}},'raw':!![]})[_0x3628('0x9')](function(_0x2a5132){var _0x14bd15={'user':_0x211e6b['users']||0x0,'telephone':_0x211e6b[_0x3628('0x23')]||0x0};_0x2a5132[_0x3628('0x24')](function(_0x533037){var _0x24a9dd=_0x533037['role']===_0x3628('0x25')?_0x3628('0x22'):_0x533037[_0x3628('0x20')];_0x14bd15[_0x24a9dd]-=_0x533037['count'];if(_0x14bd15[_0x24a9dd]<0x0)_0x14bd15[_0x24a9dd]=0x0;});_0x2c79b6(_0x14bd15);return;});})[_0x3628('0xa')](function(_0x6d3b71){_0x2ae63c(_0x6d3b71);});});}function checkUserLimits(_0x4d5720){return new BPromise(function(_0x53fe45,_0x44779b){getLimits()[_0x3628('0x9')](function(_0x51a6f5){var _0x126282=_[_0x3628('0x26')](_['countBy'](_0x4d5720,'role'),[_0x3628('0x25'),_0x3628('0x22'),_0x3628('0x27')]);var _0x2be1ec=(_0x126282[_0x3628('0x25')]||0x0)+(_0x126282['user']||0x0);var _0x3ff842=_0x126282[_0x3628('0x27')]||0x0;if(_0x2be1ec>_0x51a6f5['user'])return _0x44779b('License\x20limit\x20reached\x20for\x20users');if(_0x3ff842>_0x51a6f5[_0x3628('0x27')])return _0x44779b('License\x20limit\x20reached\x20for\x20telephones');return _0x53fe45();})[_0x3628('0xa')](function(_0x45d318){_0x44779b(_0x45d318);});});}module[_0x3628('0x28')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0x949e=['role','count','admin','user','telephone','users','telephones','forEach','pick','countBy','License\x20limit\x20reached\x20for\x20telephones','exports','util','lodash','moment','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','getUuid','then','catch','uuid','data1','license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','format','%s:%s:%s','demo','machineUuid','decryptString','gray','days','grayReason','changed','message','findAll','sequelize','col'];(function(_0x2f6541,_0x363cba){var _0x4d76d8=function(_0x86404){while(--_0x86404){_0x2f6541['push'](_0x2f6541['shift']());}};_0x4d76d8(++_0x363cba);}(_0x949e,0x164));var _0xe949=function(_0x5d2c21,_0x4ed7cf){_0x5d2c21=_0x5d2c21-0x0;var _0x583297=_0x949e[_0x5d2c21];return _0x583297;};'use strict';var util=require(_0xe949('0x0'));var _=require(_0xe949('0x1'));var moment=require(_0xe949('0x2'));var BPromise=require(_0xe949('0x3'));var hardware=require(_0xe949('0x4'));var encryptor=require(_0xe949('0x5'));var db=require(_0xe949('0x6'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xe949('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':'Demo\x20license','machineUuid':hardware[_0xe949('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xe949('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':'Breaking\x20license','machineUuid':hardware[_0xe949('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x335c15){return new BPromise(function(_0x5c123d,_0x1ae0b1){return db['License']['find'](_['defaults'](_0x335c15,{'raw':!![],'where':{'id':0x1}}))[_0xe949('0x9')](function(_0x4b78dd){return checkLicense(_0x4b78dd,null);})[_0xe949('0x9')](function(_0x130825){_0x5c123d(_0x130825);return;})[_0xe949('0xa')](function(_0x2b8dc6){_0x1ae0b1(_0x2b8dc6);});});}function checkLicense(_0x3e58f5,_0x1e9f6d){if(!_0x3e58f5){demoLicense[_0xe949('0xb')]=_0x3e58f5[_0xe949('0xc')];return demoLicense;}try{var _0x2f8366=_0x1e9f6d||_0x3e58f5[_0xe949('0xd')];if(_[_0xe949('0xe')](_0x2f8366)){throw new Error(_0xe949('0xf'));}var _0x1f6e40=_0x3e58f5[_0xe949('0xc')];var _0x10b5ff=_0x3e58f5[_0xe949('0x10')];var _0x28f411=_0x1f6e40[_0xe949('0x11')]('-')[0x4];var _0x4f6169=_0x1f6e40['split']('-')[0x0];var _0x38775a=encryptor['decryptString'](_0x2f8366,util[_0xe949('0x12')](_0xe949('0x13'),_0x28f411,_0x1f6e40,_0x4f6169));var _0x1a25d9=JSON['parse'](_0x38775a);_0x1a25d9[_0xe949('0x14')]=![];_0x1a25d9[_0xe949('0xb')]=_0x1f6e40;_0x1a25d9[_0xe949('0x15')]=hardware[_0xe949('0x8')]();if(_0x10b5ff){var _0x2d4c24=encryptor[_0xe949('0x16')](_0x10b5ff);_0x1a25d9[_0xe949('0x17')]=_0x2d4c24;_0x1a25d9['deadline']=moment(_0x2d4c24)['add'](0x7,_0xe949('0x18'))[_0xe949('0x12')]();_0x1a25d9[_0xe949('0x19')]=_0x1a25d9[_0xe949('0xb')]!=_0x1a25d9[_0xe949('0x15')]?_0xe949('0x1a'):'disabled';}return _0x1a25d9;}catch(_0x5b750b){breakingLicense['uuid']=_0x3e58f5[_0xe949('0xc')];breakingLicense[_0xe949('0x1b')]=_0x5b750b[_0xe949('0x1b')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x590a85,_0x5b6d14){getLicense()[_0xe949('0x9')](function(_0x51d988){return db['User'][_0xe949('0x1c')]({'attributes':['role',[db[_0xe949('0x1d')]['fn']('COUNT',db[_0xe949('0x1d')][_0xe949('0x1e')](_0xe949('0x1f'))),_0xe949('0x20')]],'group':_0xe949('0x1f'),'where':{'role':{'$or':[_0xe949('0x21'),_0xe949('0x22'),_0xe949('0x23')]}},'raw':!![]})[_0xe949('0x9')](function(_0x5ec03c){var _0xde6f11={'user':_0x51d988[_0xe949('0x24')]||0x0,'telephone':_0x51d988[_0xe949('0x25')]||0x0};_0x5ec03c[_0xe949('0x26')](function(_0x522760){var _0x468439=_0x522760[_0xe949('0x1f')]===_0xe949('0x21')?_0xe949('0x22'):_0x522760[_0xe949('0x1f')];_0xde6f11[_0x468439]-=_0x522760[_0xe949('0x20')];if(_0xde6f11[_0x468439]<0x0)_0xde6f11[_0x468439]=0x0;});_0x590a85(_0xde6f11);return;});})[_0xe949('0xa')](function(_0x2294a2){_0x5b6d14(_0x2294a2);});});}function checkUserLimits(_0x14dac4){return new BPromise(function(_0x2a2035,_0x400f58){getLimits()[_0xe949('0x9')](function(_0xdb1ebf){var _0x283577=_[_0xe949('0x27')](_[_0xe949('0x28')](_0x14dac4,_0xe949('0x1f')),['admin',_0xe949('0x22'),_0xe949('0x23')]);var _0x38b843=(_0x283577[_0xe949('0x21')]||0x0)+(_0x283577[_0xe949('0x22')]||0x0);var _0x2e2175=_0x283577['telephone']||0x0;if(_0x38b843>_0xdb1ebf[_0xe949('0x22')])return _0x400f58('License\x20limit\x20reached\x20for\x20users');if(_0x2e2175>_0xdb1ebf['telephone'])return _0x400f58(_0xe949('0x29'));return _0x2a2035();})[_0xe949('0xa')](function(_0x8c1f2e){_0x400f58(_0x8c1f2e);});});}module[_0xe949('0x2a')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file