Built motion from commit 2e4747fd.|2.6.7
[motion2.git] / server / config / license / util.js
index 3626d3e..e36a4d3 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x2a80=['admin','catch','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','Demo\x20license','Breaking\x20license','License','find','defaults','then','uuid','license','isEmpty','data1','data2','split','decryptString','%s:%s:%s','parse','demo','machineUuid','gray','deadline','add','days','format','grayReason','changed','disabled','message','User','findAll','role','COUNT','sequelize','col','count','user','telephone','telephones','forEach'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x2a80,0x9b));var _0x02a8=function(_0x274fd4,_0x4ab107){_0x274fd4=_0x274fd4-0x0;var _0x23d550=_0x2a80[_0x274fd4];return _0x23d550;};'use strict';var util=require(_0x02a8('0x0'));var _=require(_0x02a8('0x1'));var moment=require(_0x02a8('0x2'));var BPromise=require(_0x02a8('0x3'));var hardware=require(_0x02a8('0x4'));var encryptor=require(_0x02a8('0x5'));var db=require(_0x02a8('0x6'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x02a8('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x02a8('0x8'),'machineUuid':hardware['getUuid'](),'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':_0x02a8('0x9'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x1921aa){return new BPromise(function(_0x37e4c8,_0x8b466b){return db[_0x02a8('0xa')][_0x02a8('0xb')](_[_0x02a8('0xc')](_0x1921aa,{'raw':!![],'where':{'id':0x1}}))[_0x02a8('0xd')](function(_0x328b99){return checkLicense(_0x328b99,null);})[_0x02a8('0xd')](function(_0x3a1f7d){_0x37e4c8(_0x3a1f7d);return;})['catch'](function(_0x520f17){_0x8b466b(_0x520f17);});});}function checkLicense(_0x37bc5f,_0x3d5139){if(!_0x37bc5f){demoLicense[_0x02a8('0xe')]=_0x37bc5f['data1'];return demoLicense;}try{var _0x3e48ac=_0x3d5139||_0x37bc5f[_0x02a8('0xf')];if(_[_0x02a8('0x10')](_0x3e48ac)){throw new Error('License\x20key\x20value\x20not\x20found');}var _0xa69d9b=_0x37bc5f[_0x02a8('0x11')];var _0x42c722=_0x37bc5f[_0x02a8('0x12')];var _0xbba833=_0xa69d9b[_0x02a8('0x13')]('-')[0x4];var _0x29e2a7=_0xa69d9b['split']('-')[0x0];var _0x4b32f2=encryptor[_0x02a8('0x14')](_0x3e48ac,util['format'](_0x02a8('0x15'),_0xbba833,_0xa69d9b,_0x29e2a7));var _0x57eff3=JSON[_0x02a8('0x16')](_0x4b32f2);_0x57eff3[_0x02a8('0x17')]=![];_0x57eff3[_0x02a8('0xe')]=_0xa69d9b;_0x57eff3[_0x02a8('0x18')]=hardware['getUuid']();if(_0x42c722){var _0x845527=encryptor[_0x02a8('0x14')](_0x42c722);_0x57eff3[_0x02a8('0x19')]=_0x845527;_0x57eff3[_0x02a8('0x1a')]=moment(_0x845527)[_0x02a8('0x1b')](0x7,_0x02a8('0x1c'))[_0x02a8('0x1d')]();_0x57eff3[_0x02a8('0x1e')]=_0x57eff3[_0x02a8('0xe')]!=_0x57eff3[_0x02a8('0x18')]?_0x02a8('0x1f'):_0x02a8('0x20');}return _0x57eff3;}catch(_0x2238ed){breakingLicense[_0x02a8('0xe')]=_0x37bc5f[_0x02a8('0x11')];breakingLicense[_0x02a8('0x21')]=_0x2238ed['message'];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x46f9b7,_0x103b31){getLicense()['then'](function(_0x3a217d){return db[_0x02a8('0x22')][_0x02a8('0x23')]({'attributes':[_0x02a8('0x24'),[db['sequelize']['fn'](_0x02a8('0x25'),db[_0x02a8('0x26')][_0x02a8('0x27')]('role')),_0x02a8('0x28')]],'group':'role','where':{'role':{'$or':['admin',_0x02a8('0x29'),_0x02a8('0x2a')]}},'raw':!![]})[_0x02a8('0xd')](function(_0x25641c){var _0xe261ce={'user':_0x3a217d['users']||0x0,'telephone':_0x3a217d[_0x02a8('0x2b')]||0x0};_0x25641c[_0x02a8('0x2c')](function(_0x46dab3){var _0x82fa77=_0x46dab3['role']===_0x02a8('0x2d')?_0x02a8('0x29'):_0x46dab3[_0x02a8('0x24')];_0xe261ce[_0x82fa77]-=_0x46dab3[_0x02a8('0x28')];if(_0xe261ce[_0x82fa77]<0x0)_0xe261ce[_0x82fa77]=0x0;});_0x46f9b7(_0xe261ce);return;});})[_0x02a8('0x2e')](function(_0x13b94c){_0x103b31(_0x13b94c);});});}function checkUserLimits(_0x42fd3c){return new BPromise(function(_0x42f501,_0x1b1d1e){getLimits()[_0x02a8('0xd')](function(_0x165803){var _0xa85649=_[_0x02a8('0x2f')](_['countBy'](_0x42fd3c,_0x02a8('0x24')),[_0x02a8('0x2d'),'user',_0x02a8('0x2a')]);var _0x325e9a=(_0xa85649[_0x02a8('0x2d')]||0x0)+(_0xa85649['user']||0x0);var _0x4adc56=_0xa85649['telephone']||0x0;if(_0x325e9a>_0x165803[_0x02a8('0x29')])return _0x1b1d1e(_0x02a8('0x30'));if(_0x4adc56>_0x165803[_0x02a8('0x2a')])return _0x1b1d1e(_0x02a8('0x31'));return _0x42f501();})[_0x02a8('0x2e')](function(_0x43200f){_0x1b1d1e(_0x43200f);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0x57c0=['role','count','admin','user','telephone','users','telephones','countBy','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','catch','exports','util','lodash','bluebird','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','getUuid','Breaking\x20license','License','find','defaults','then','uuid','data1','isEmpty','License\x20key\x20value\x20not\x20found','split','decryptString','%s:%s:%s','machineUuid','gray','deadline','add','days','format','grayReason','changed','disabled','message','findAll','sequelize','col'];(function(_0x26e3f3,_0x286578){var _0x56618d=function(_0x498a00){while(--_0x498a00){_0x26e3f3['push'](_0x26e3f3['shift']());}};_0x56618d(++_0x286578);}(_0x57c0,0x140));var _0x057c=function(_0x356a00,_0x5e00c9){_0x356a00=_0x356a00-0x0;var _0x18946f=_0x57c0[_0x356a00];return _0x18946f;};'use strict';var util=require(_0x057c('0x0'));var _=require(_0x057c('0x1'));var moment=require('moment');var BPromise=require(_0x057c('0x2'));var hardware=require('./hardware');var encryptor=require(_0x057c('0x3'));var db=require(_0x057c('0x4'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x057c('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':'Demo\x20license','machineUuid':hardware[_0x057c('0x6')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x057c('0x5'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0x057c('0x7'),'machineUuid':hardware['getUuid'](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x599d29){return new BPromise(function(_0x35fbba,_0x6dc746){return db[_0x057c('0x8')][_0x057c('0x9')](_[_0x057c('0xa')](_0x599d29,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x486dd2){return checkLicense(_0x486dd2,null);})[_0x057c('0xb')](function(_0x2051e8){_0x35fbba(_0x2051e8);return;})['catch'](function(_0x58b25a){_0x6dc746(_0x58b25a);});});}function checkLicense(_0x521f40,_0x35b33a){if(!_0x521f40){demoLicense[_0x057c('0xc')]=_0x521f40[_0x057c('0xd')];return demoLicense;}try{var _0xdd1020=_0x35b33a||_0x521f40['license'];if(_[_0x057c('0xe')](_0xdd1020)){throw new Error(_0x057c('0xf'));}var _0x266dd0=_0x521f40[_0x057c('0xd')];var _0x1adc16=_0x521f40['data2'];var _0x21c5d0=_0x266dd0[_0x057c('0x10')]('-')[0x4];var _0x34fd73=_0x266dd0[_0x057c('0x10')]('-')[0x0];var _0x313e12=encryptor[_0x057c('0x11')](_0xdd1020,util['format'](_0x057c('0x12'),_0x21c5d0,_0x266dd0,_0x34fd73));var _0x4e50d6=JSON['parse'](_0x313e12);_0x4e50d6['demo']=![];_0x4e50d6[_0x057c('0xc')]=_0x266dd0;_0x4e50d6[_0x057c('0x13')]=hardware[_0x057c('0x6')]();if(_0x1adc16){var _0x59102a=encryptor[_0x057c('0x11')](_0x1adc16);_0x4e50d6[_0x057c('0x14')]=_0x59102a;_0x4e50d6[_0x057c('0x15')]=moment(_0x59102a)[_0x057c('0x16')](0x7,_0x057c('0x17'))[_0x057c('0x18')]();_0x4e50d6[_0x057c('0x19')]=_0x4e50d6[_0x057c('0xc')]!=_0x4e50d6['machineUuid']?_0x057c('0x1a'):_0x057c('0x1b');}return _0x4e50d6;}catch(_0x4ddbff){breakingLicense['uuid']=_0x521f40[_0x057c('0xd')];breakingLicense[_0x057c('0x1c')]=_0x4ddbff['message'];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x3dd109,_0x131a75){getLicense()[_0x057c('0xb')](function(_0x384479){return db['User'][_0x057c('0x1d')]({'attributes':['role',[db[_0x057c('0x1e')]['fn']('COUNT',db['sequelize'][_0x057c('0x1f')](_0x057c('0x20'))),_0x057c('0x21')]],'group':_0x057c('0x20'),'where':{'role':{'$or':[_0x057c('0x22'),_0x057c('0x23'),_0x057c('0x24')]}},'raw':!![]})['then'](function(_0x3cb056){var _0x415889={'user':_0x384479[_0x057c('0x25')]||0x0,'telephone':_0x384479[_0x057c('0x26')]||0x0};_0x3cb056['forEach'](function(_0x2e613b){var _0x19f90b=_0x2e613b[_0x057c('0x20')]===_0x057c('0x22')?_0x057c('0x23'):_0x2e613b[_0x057c('0x20')];_0x415889[_0x19f90b]-=_0x2e613b[_0x057c('0x21')];if(_0x415889[_0x19f90b]<0x0)_0x415889[_0x19f90b]=0x0;});_0x3dd109(_0x415889);return;});})['catch'](function(_0x1f0132){_0x131a75(_0x1f0132);});});}function checkUserLimits(_0x33fd9a){return new BPromise(function(_0x427453,_0x4ce51b){getLimits()[_0x057c('0xb')](function(_0x59f5f8){var _0x5023af=_['pick'](_[_0x057c('0x27')](_0x33fd9a,_0x057c('0x20')),[_0x057c('0x22'),_0x057c('0x23'),_0x057c('0x24')]);var _0x3d0b7b=(_0x5023af[_0x057c('0x22')]||0x0)+(_0x5023af['user']||0x0);var _0x4b9864=_0x5023af[_0x057c('0x24')]||0x0;if(_0x3d0b7b>_0x59f5f8[_0x057c('0x23')])return _0x4ce51b(_0x057c('0x28'));if(_0x4b9864>_0x59f5f8[_0x057c('0x24')])return _0x4ce51b(_0x057c('0x29'));return _0x427453();})[_0x057c('0x2a')](function(_0x14d1fe){_0x4ce51b(_0x14d1fe);});});}module[_0x057c('0x2b')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file