Built motion from commit dbf3a7e2.|2.6.30
[motion2.git] / server / config / license / util.js
index b088cf5..bff2f34 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x180d=['demo','machineUuid','gray','add','days','disabled','message','User','role','sequelize','COUNT','col','count','user','telephone','users','telephones','forEach','admin','pick','countBy','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','lodash','moment','bluebird','./hardware','../../mysqldb','Demo\x20license','getUuid','Breaking\x20license','find','defaults','then','catch','uuid','data1','license','isEmpty','License\x20key\x20value\x20not\x20found','split','decryptString','format'];(function(_0x5e56de,_0x189fa7){var _0x26c6ec=function(_0x2ed7cf){while(--_0x2ed7cf){_0x5e56de['push'](_0x5e56de['shift']());}};_0x26c6ec(++_0x189fa7);}(_0x180d,0x120));var _0xd180=function(_0x1ccdf7,_0x215d5a){_0x1ccdf7=_0x1ccdf7-0x0;var _0x52a0ae=_0x180d[_0x1ccdf7];return _0x52a0ae;};'use strict';var util=require('util');var _=require(_0xd180('0x0'));var moment=require(_0xd180('0x1'));var BPromise=require(_0xd180('0x2'));var hardware=require(_0xd180('0x3'));var encryptor=require('../../components/encryptor');var db=require(_0xd180('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':_0xd180('0x5'),'machineUuid':hardware[_0xd180('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'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':![],'update':![],'description':_0xd180('0x7'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x350607){return new BPromise(function(_0x518e50,_0xa58fbf){return db['License'][_0xd180('0x8')](_[_0xd180('0x9')](_0x350607,{'raw':!![],'where':{'id':0x1}}))[_0xd180('0xa')](function(_0x2e82a5){return checkLicense(_0x2e82a5,null);})['then'](function(_0x468461){_0x518e50(_0x468461);return;})[_0xd180('0xb')](function(_0x14790f){_0xa58fbf(_0x14790f);});});}function checkLicense(_0x3e4f5a,_0x1884d7){if(!_0x3e4f5a){demoLicense[_0xd180('0xc')]=_0x3e4f5a[_0xd180('0xd')];return demoLicense;}try{var _0x12a8c8=_0x1884d7||_0x3e4f5a[_0xd180('0xe')];if(_[_0xd180('0xf')](_0x12a8c8)){throw new Error(_0xd180('0x10'));}var _0x1c0d34=_0x3e4f5a['data1'];var _0x20b0f2=_0x3e4f5a['data2'];var _0x375cfb=_0x1c0d34[_0xd180('0x11')]('-')[0x4];var _0x5ca9b5=_0x1c0d34[_0xd180('0x11')]('-')[0x0];var _0x257ffe=encryptor[_0xd180('0x12')](_0x12a8c8,util[_0xd180('0x13')]('%s:%s:%s',_0x375cfb,_0x1c0d34,_0x5ca9b5));var _0xf35175=JSON['parse'](_0x257ffe);_0xf35175[_0xd180('0x14')]=![];_0xf35175[_0xd180('0xc')]=_0x1c0d34;_0xf35175[_0xd180('0x15')]=hardware[_0xd180('0x6')]();if(_0x20b0f2){var _0x1f7dce=encryptor[_0xd180('0x12')](_0x20b0f2);_0xf35175[_0xd180('0x16')]=_0x1f7dce;_0xf35175['deadline']=moment(_0x1f7dce)[_0xd180('0x17')](0x7,_0xd180('0x18'))[_0xd180('0x13')]();_0xf35175['grayReason']=_0xf35175[_0xd180('0xc')]!=_0xf35175[_0xd180('0x15')]?'changed':_0xd180('0x19');}return _0xf35175;}catch(_0x140572){breakingLicense[_0xd180('0xc')]=_0x3e4f5a[_0xd180('0xd')];breakingLicense['message']=_0x140572[_0xd180('0x1a')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0xe93030,_0x19a5fb){getLicense()['then'](function(_0xf7ef5e){return db[_0xd180('0x1b')]['findAll']({'attributes':[_0xd180('0x1c'),[db[_0xd180('0x1d')]['fn'](_0xd180('0x1e'),db[_0xd180('0x1d')][_0xd180('0x1f')](_0xd180('0x1c'))),_0xd180('0x20')]],'group':_0xd180('0x1c'),'where':{'role':{'$or':['admin',_0xd180('0x21'),_0xd180('0x22')]}},'raw':!![]})['then'](function(_0x19eb2d){var _0x2fc4f3={'user':_0xf7ef5e[_0xd180('0x23')]||0x0,'telephone':_0xf7ef5e[_0xd180('0x24')]||0x0};_0x19eb2d[_0xd180('0x25')](function(_0x1efe30){var _0xb3791d=_0x1efe30[_0xd180('0x1c')]===_0xd180('0x26')?_0xd180('0x21'):_0x1efe30['role'];_0x2fc4f3[_0xb3791d]-=_0x1efe30['count'];if(_0x2fc4f3[_0xb3791d]<0x0)_0x2fc4f3[_0xb3791d]=0x0;});_0xe93030(_0x2fc4f3);return;});})[_0xd180('0xb')](function(_0x2eca16){_0x19a5fb(_0x2eca16);});});}function checkUserLimits(_0x2270f7){return new BPromise(function(_0x20ab0d,_0x804205){getLimits()[_0xd180('0xa')](function(_0x29edc9){var _0x2075c=_[_0xd180('0x27')](_[_0xd180('0x28')](_0x2270f7,_0xd180('0x1c')),[_0xd180('0x26'),_0xd180('0x21'),'telephone']);var _0x2b32ce=(_0x2075c['admin']||0x0)+(_0x2075c[_0xd180('0x21')]||0x0);var _0x795aaa=_0x2075c['telephone']||0x0;if(_0x2b32ce>_0x29edc9[_0xd180('0x21')])return _0x804205(_0xd180('0x29'));if(_0x795aaa>_0x29edc9[_0xd180('0x22')])return _0x804205(_0xd180('0x2a'));return _0x20ab0d();})[_0xd180('0xb')](function(_0x459d56){_0x804205(_0x459d56);});});}module[_0xd180('0x2b')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0x46c3=['isEmpty','License\x20key\x20value\x20not\x20found','data2','split','format','%s:%s:%s','parse','demo','decryptString','gray','add','grayReason','machineUuid','disabled','message','User','sequelize','COUNT','col','role','count','admin','user','telephone','users','forEach','pick','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','util','lodash','moment','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','getUuid','Breaking\x20license','License','find','defaults','then','catch','uuid','data1'];(function(_0x4316a1,_0x434909){var _0x40138a=function(_0x162eb7){while(--_0x162eb7){_0x4316a1['push'](_0x4316a1['shift']());}};_0x40138a(++_0x434909);}(_0x46c3,0xd5));var _0x346c=function(_0x5715a9,_0x1d64bd){_0x5715a9=_0x5715a9-0x0;var _0x876a92=_0x46c3[_0x5715a9];return _0x876a92;};'use strict';var util=require(_0x346c('0x0'));var _=require(_0x346c('0x1'));var moment=require(_0x346c('0x2'));var BPromise=require(_0x346c('0x3'));var hardware=require(_0x346c('0x4'));var encryptor=require(_0x346c('0x5'));var db=require(_0x346c('0x6'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x346c('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':'Demo\x20license','machineUuid':hardware[_0x346c('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x346c('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x346c('0x9'),'machineUuid':hardware[_0x346c('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x4e3f96){return new BPromise(function(_0x28ba8d,_0x536dea){return db[_0x346c('0xa')][_0x346c('0xb')](_[_0x346c('0xc')](_0x4e3f96,{'raw':!![],'where':{'id':0x1}}))[_0x346c('0xd')](function(_0x5ebc78){return checkLicense(_0x5ebc78,null);})[_0x346c('0xd')](function(_0x4a4ce3){_0x28ba8d(_0x4a4ce3);return;})[_0x346c('0xe')](function(_0xb577c4){_0x536dea(_0xb577c4);});});}function checkLicense(_0x263e25,_0xe2cfdb){if(!_0x263e25){demoLicense[_0x346c('0xf')]=_0x263e25[_0x346c('0x10')];return demoLicense;}try{var _0x5555b7=_0xe2cfdb||_0x263e25['license'];if(_[_0x346c('0x11')](_0x5555b7)){throw new Error(_0x346c('0x12'));}var _0x29f0c2=_0x263e25[_0x346c('0x10')];var _0x50f1fd=_0x263e25[_0x346c('0x13')];var _0x87a1e8=_0x29f0c2[_0x346c('0x14')]('-')[0x4];var _0x4fe928=_0x29f0c2['split']('-')[0x0];var _0x2c8420=encryptor['decryptString'](_0x5555b7,util[_0x346c('0x15')](_0x346c('0x16'),_0x87a1e8,_0x29f0c2,_0x4fe928));var _0x4cef87=JSON[_0x346c('0x17')](_0x2c8420);_0x4cef87[_0x346c('0x18')]=![];_0x4cef87['uuid']=_0x29f0c2;_0x4cef87['machineUuid']=hardware['getUuid']();if(_0x50f1fd){var _0x19f922=encryptor[_0x346c('0x19')](_0x50f1fd);_0x4cef87[_0x346c('0x1a')]=_0x19f922;_0x4cef87['deadline']=moment(_0x19f922)[_0x346c('0x1b')](0x7,'days')[_0x346c('0x15')]();_0x4cef87[_0x346c('0x1c')]=_0x4cef87[_0x346c('0xf')]!=_0x4cef87[_0x346c('0x1d')]?'changed':_0x346c('0x1e');}return _0x4cef87;}catch(_0x491983){breakingLicense['uuid']=_0x263e25[_0x346c('0x10')];breakingLicense['message']=_0x491983[_0x346c('0x1f')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x2d977e,_0x206cab){getLicense()['then'](function(_0x498eab){return db[_0x346c('0x20')]['findAll']({'attributes':['role',[db[_0x346c('0x21')]['fn'](_0x346c('0x22'),db[_0x346c('0x21')][_0x346c('0x23')](_0x346c('0x24'))),_0x346c('0x25')]],'group':_0x346c('0x24'),'where':{'role':{'$or':[_0x346c('0x26'),_0x346c('0x27'),_0x346c('0x28')]}},'raw':!![]})[_0x346c('0xd')](function(_0x30d163){var _0x2e5e0f={'user':_0x498eab[_0x346c('0x29')]||0x0,'telephone':_0x498eab['telephones']||0x0};_0x30d163[_0x346c('0x2a')](function(_0x398fc5){var _0x5273d6=_0x398fc5['role']===_0x346c('0x26')?_0x346c('0x27'):_0x398fc5['role'];_0x2e5e0f[_0x5273d6]-=_0x398fc5[_0x346c('0x25')];if(_0x2e5e0f[_0x5273d6]<0x0)_0x2e5e0f[_0x5273d6]=0x0;});_0x2d977e(_0x2e5e0f);return;});})[_0x346c('0xe')](function(_0x10c6a2){_0x206cab(_0x10c6a2);});});}function checkUserLimits(_0x1cdcb1){return new BPromise(function(_0x809daf,_0x3db07c){getLimits()['then'](function(_0x1df76b){var _0x346ba2=_[_0x346c('0x2b')](_['countBy'](_0x1cdcb1,_0x346c('0x24')),[_0x346c('0x26'),_0x346c('0x27'),_0x346c('0x28')]);var _0x100e8b=(_0x346ba2[_0x346c('0x26')]||0x0)+(_0x346ba2[_0x346c('0x27')]||0x0);var _0x3a5e03=_0x346ba2[_0x346c('0x28')]||0x0;if(_0x100e8b>_0x1df76b[_0x346c('0x27')])return _0x3db07c(_0x346c('0x2c'));if(_0x3a5e03>_0x1df76b[_0x346c('0x28')])return _0x3db07c(_0x346c('0x2d'));return _0x809daf();})['catch'](function(_0x237563){_0x3db07c(_0x237563);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file