Built motion from commit (unavailable).|2.5.1
[motion2.git] / server / config / license / util.js
index 0bfee57..cf7ef10 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xfd1c=['gray','deadline','days','grayReason','machineUuid','changed','message','User','role','sequelize','COUNT','col','count','user','telephones','forEach','admin','countBy','telephone','License\x20limit\x20reached\x20for\x20telephones','util','lodash','moment','../../components/encryptor','../../mysqldb','Demo\x20license','getUuid','2027-01-01T00:00:00.000Z','License','find','defaults','then','catch','uuid','data1','license','isEmpty','License\x20key\x20value\x20not\x20found','data2','split','decryptString','format','parse'];(function(_0x23fb8b,_0x5ad627){var _0x9c821b=function(_0x8e5345){while(--_0x8e5345){_0x23fb8b['push'](_0x23fb8b['shift']());}};_0x9c821b(++_0x5ad627);}(_0xfd1c,0x197));var _0xcfd1=function(_0x143cfd,_0x1a336e){_0x143cfd=_0x143cfd-0x0;var _0x2cb5f5=_0xfd1c[_0x143cfd];return _0x2cb5f5;};'use strict';var util=require(_0xcfd1('0x0'));var _=require(_0xcfd1('0x1'));var moment=require(_0xcfd1('0x2'));var BPromise=require('bluebird');var hardware=require('./hardware');var encryptor=require(_0xcfd1('0x3'));var db=require(_0xcfd1('0x4'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':'2027-01-01T00:00:00.000Z','chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xcfd1('0x5'),'machineUuid':hardware[_0xcfd1('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xcfd1('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':'Breaking\x20license','machineUuid':hardware[_0xcfd1('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x24d4bc){return new BPromise(function(_0x54b2e4,_0x393d98){return db[_0xcfd1('0x8')][_0xcfd1('0x9')](_[_0xcfd1('0xa')](_0x24d4bc,{'raw':!![],'where':{'id':0x1}}))[_0xcfd1('0xb')](function(_0xf260ca){return checkLicense(_0xf260ca,null);})[_0xcfd1('0xb')](function(_0x5d6bcf){_0x54b2e4(_0x5d6bcf);return;})[_0xcfd1('0xc')](function(_0x2c18e6){_0x393d98(_0x2c18e6);});});}function checkLicense(_0x563b59,_0x4dae83){if(!_0x563b59){demoLicense[_0xcfd1('0xd')]=_0x563b59[_0xcfd1('0xe')];return demoLicense;}try{var _0x4d7509=_0x4dae83||_0x563b59[_0xcfd1('0xf')];if(_[_0xcfd1('0x10')](_0x4d7509)){throw new Error(_0xcfd1('0x11'));}var _0x169093=_0x563b59[_0xcfd1('0xe')];var _0x56e035=_0x563b59[_0xcfd1('0x12')];var _0x3201d6=_0x169093[_0xcfd1('0x13')]('-')[0x4];var _0x49fc4c=_0x169093[_0xcfd1('0x13')]('-')[0x0];var _0x3d5fff=encryptor[_0xcfd1('0x14')](_0x4d7509,util[_0xcfd1('0x15')]('%s:%s:%s',_0x3201d6,_0x169093,_0x49fc4c));var _0xc2f08e=JSON[_0xcfd1('0x16')](_0x3d5fff);_0xc2f08e['demo']=![];_0xc2f08e['uuid']=_0x169093;_0xc2f08e['machineUuid']=hardware[_0xcfd1('0x6')]();if(_0x56e035){var _0x30ce00=encryptor[_0xcfd1('0x14')](_0x56e035);_0xc2f08e[_0xcfd1('0x17')]=_0x30ce00;_0xc2f08e[_0xcfd1('0x18')]=moment(_0x30ce00)['add'](0x7,_0xcfd1('0x19'))[_0xcfd1('0x15')]();_0xc2f08e[_0xcfd1('0x1a')]=_0xc2f08e[_0xcfd1('0xd')]!=_0xc2f08e[_0xcfd1('0x1b')]?_0xcfd1('0x1c'):'disabled';}return _0xc2f08e;}catch(_0x6be2de){breakingLicense[_0xcfd1('0xd')]=_0x563b59[_0xcfd1('0xe')];breakingLicense['message']=_0x6be2de[_0xcfd1('0x1d')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x2076d9,_0x262371){getLicense()['then'](function(_0x4be7ad){return db[_0xcfd1('0x1e')]['findAll']({'attributes':[_0xcfd1('0x1f'),[db[_0xcfd1('0x20')]['fn'](_0xcfd1('0x21'),db[_0xcfd1('0x20')][_0xcfd1('0x22')]('role')),_0xcfd1('0x23')]],'group':_0xcfd1('0x1f'),'where':{'role':{'$or':['admin',_0xcfd1('0x24'),'telephone']}},'raw':!![]})[_0xcfd1('0xb')](function(_0x56e742){var _0x5332c1={'user':_0x4be7ad['users']||0x0,'telephone':_0x4be7ad[_0xcfd1('0x25')]||0x0};_0x56e742[_0xcfd1('0x26')](function(_0x130740){var _0x198723=_0x130740[_0xcfd1('0x1f')]===_0xcfd1('0x27')?_0xcfd1('0x24'):_0x130740['role'];_0x5332c1[_0x198723]-=_0x130740[_0xcfd1('0x23')];if(_0x5332c1[_0x198723]<0x0)_0x5332c1[_0x198723]=0x0;});_0x2076d9(_0x5332c1);return;});})['catch'](function(_0x258110){_0x262371(_0x258110);});});}function checkUserLimits(_0x2db3c0){return new BPromise(function(_0x2dc808,_0x1c50e0){getLimits()[_0xcfd1('0xb')](function(_0x309357){var _0x67354f=_['pick'](_[_0xcfd1('0x28')](_0x2db3c0,_0xcfd1('0x1f')),[_0xcfd1('0x27'),_0xcfd1('0x24'),_0xcfd1('0x29')]);var _0x97a34f=(_0x67354f[_0xcfd1('0x27')]||0x0)+(_0x67354f[_0xcfd1('0x24')]||0x0);var _0x1b4247=_0x67354f['telephone']||0x0;if(_0x97a34f>_0x309357['user'])return _0x1c50e0('License\x20limit\x20reached\x20for\x20users');if(_0x1b4247>_0x309357[_0xcfd1('0x29')])return _0x1c50e0(_0xcfd1('0x2a'));return _0x2dc808();})[_0xcfd1('0xc')](function(_0x2d01cb){_0x1c50e0(_0x2d01cb);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0xc59d=['demo','machineUuid','decryptString','deadline','add','days','changed','message','findAll','role','sequelize','col','admin','telephone','users','telephones','user','count','catch','pick','countBy','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','util','lodash','moment','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','find','defaults','then','uuid','license','isEmpty','data1','format','%s:%s:%s'];(function(_0x13f4e9,_0x3f4ca4){var _0xa92ae4=function(_0x2122b0){while(--_0x2122b0){_0x13f4e9['push'](_0x13f4e9['shift']());}};_0xa92ae4(++_0x3f4ca4);}(_0xc59d,0x9c));var _0xdc59=function(_0x5b644e,_0x2e5e07){_0x5b644e=_0x5b644e-0x0;var _0x49c6bf=_0xc59d[_0x5b644e];return _0x49c6bf;};'use strict';var util=require(_0xdc59('0x0'));var _=require(_0xdc59('0x1'));var moment=require(_0xdc59('0x2'));var BPromise=require('bluebird');var hardware=require(_0xdc59('0x3'));var encryptor=require(_0xdc59('0x4'));var db=require(_0xdc59('0x5'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xdc59('0x6'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xdc59('0x7'),'machineUuid':hardware[_0xdc59('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xdc59('0x6'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xdc59('0x9'),'machineUuid':hardware[_0xdc59('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x12dfce){return new BPromise(function(_0x15ed6e,_0x54f53c){return db[_0xdc59('0xa')][_0xdc59('0xb')](_[_0xdc59('0xc')](_0x12dfce,{'raw':!![],'where':{'id':0x1}}))[_0xdc59('0xd')](function(_0x28a74a){return checkLicense(_0x28a74a,null);})['then'](function(_0x14d294){_0x15ed6e(_0x14d294);return;})['catch'](function(_0x552559){_0x54f53c(_0x552559);});});}function checkLicense(_0x4e8832,_0x2df028){if(!_0x4e8832){demoLicense[_0xdc59('0xe')]=_0x4e8832['data1'];return demoLicense;}try{var _0x5f5b90=_0x2df028||_0x4e8832[_0xdc59('0xf')];if(_[_0xdc59('0x10')](_0x5f5b90)){throw new Error('License\x20key\x20value\x20not\x20found');}var _0x2dc131=_0x4e8832[_0xdc59('0x11')];var _0x4f46d6=_0x4e8832['data2'];var _0x33584d=_0x2dc131['split']('-')[0x4];var _0x287341=_0x2dc131['split']('-')[0x0];var _0x5686df=encryptor['decryptString'](_0x5f5b90,util[_0xdc59('0x12')](_0xdc59('0x13'),_0x33584d,_0x2dc131,_0x287341));var _0x290208=JSON['parse'](_0x5686df);_0x290208[_0xdc59('0x14')]=![];_0x290208[_0xdc59('0xe')]=_0x2dc131;_0x290208[_0xdc59('0x15')]=hardware['getUuid']();if(_0x4f46d6){var _0x24e0fd=encryptor[_0xdc59('0x16')](_0x4f46d6);_0x290208['gray']=_0x24e0fd;_0x290208[_0xdc59('0x17')]=moment(_0x24e0fd)[_0xdc59('0x18')](0x7,_0xdc59('0x19'))['format']();_0x290208['grayReason']=_0x290208[_0xdc59('0xe')]!=_0x290208[_0xdc59('0x15')]?_0xdc59('0x1a'):'disabled';}return _0x290208;}catch(_0xfdae31){breakingLicense['uuid']=_0x4e8832[_0xdc59('0x11')];breakingLicense[_0xdc59('0x1b')]=_0xfdae31[_0xdc59('0x1b')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x25599c,_0x5eab31){getLicense()['then'](function(_0x5da800){return db['User'][_0xdc59('0x1c')]({'attributes':[_0xdc59('0x1d'),[db['sequelize']['fn']('COUNT',db[_0xdc59('0x1e')][_0xdc59('0x1f')]('role')),'count']],'group':'role','where':{'role':{'$or':[_0xdc59('0x20'),'user',_0xdc59('0x21')]}},'raw':!![]})[_0xdc59('0xd')](function(_0x2ea518){var _0x6f232={'user':_0x5da800[_0xdc59('0x22')]||0x0,'telephone':_0x5da800[_0xdc59('0x23')]||0x0};_0x2ea518['forEach'](function(_0x4e48ea){var _0x231578=_0x4e48ea['role']==='admin'?_0xdc59('0x24'):_0x4e48ea[_0xdc59('0x1d')];_0x6f232[_0x231578]-=_0x4e48ea[_0xdc59('0x25')];if(_0x6f232[_0x231578]<0x0)_0x6f232[_0x231578]=0x0;});_0x25599c(_0x6f232);return;});})[_0xdc59('0x26')](function(_0x1af5b3){_0x5eab31(_0x1af5b3);});});}function checkUserLimits(_0x4d8860){return new BPromise(function(_0x4c574a,_0x2a024b){getLimits()[_0xdc59('0xd')](function(_0x264f59){var _0x3443d5=_[_0xdc59('0x27')](_[_0xdc59('0x28')](_0x4d8860,_0xdc59('0x1d')),[_0xdc59('0x20'),'user',_0xdc59('0x21')]);var _0x4cc8a8=(_0x3443d5[_0xdc59('0x20')]||0x0)+(_0x3443d5[_0xdc59('0x24')]||0x0);var _0x52db3f=_0x3443d5[_0xdc59('0x21')]||0x0;if(_0x4cc8a8>_0x264f59[_0xdc59('0x24')])return _0x2a024b(_0xdc59('0x29'));if(_0x52db3f>_0x264f59[_0xdc59('0x21')])return _0x2a024b(_0xdc59('0x2a'));return _0x4c574a();})[_0xdc59('0x26')](function(_0x345d7d){_0x2a024b(_0x345d7d);});});}module[_0xdc59('0x2b')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file