Built motion from commit 4c281f94.|2.6.31
[motion2.git] / server / config / license / util.js
index 36579ad..6fcae63 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x9030=['catch','uuid','data1','license','License\x20key\x20value\x20not\x20found','split','decryptString','format','parse','demo','machineUuid','gray','add','days','grayReason','changed','message','findAll','COUNT','sequelize','col','role','count','telephone','users','telephones','forEach','countBy','admin','user','License\x20limit\x20reached\x20for\x20users','util','lodash','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','License','then'];(function(_0x2dfd87,_0x388604){var _0x48301c=function(_0x56e1e2){while(--_0x56e1e2){_0x2dfd87['push'](_0x2dfd87['shift']());}};_0x48301c(++_0x388604);}(_0x9030,0xf1));var _0x0903=function(_0x326090,_0x458e99){_0x326090=_0x326090-0x0;var _0x44875d=_0x9030[_0x326090];return _0x44875d;};'use strict';var util=require(_0x0903('0x0'));var _=require(_0x0903('0x1'));var moment=require('moment');var BPromise=require(_0x0903('0x2'));var hardware=require(_0x0903('0x3'));var encryptor=require(_0x0903('0x4'));var db=require(_0x0903('0x5'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x0903('0x6'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0x0903('0x7'),'machineUuid':hardware[_0x0903('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0x0903('0x6'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':'Breaking\x20license','machineUuid':hardware[_0x0903('0x8')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x201122){return new BPromise(function(_0xad52ea,_0x36a7be){return db[_0x0903('0x9')]['find'](_['defaults'](_0x201122,{'raw':!![],'where':{'id':0x1}}))[_0x0903('0xa')](function(_0x51b2eb){return checkLicense(_0x51b2eb,null);})['then'](function(_0x2542c2){_0xad52ea(_0x2542c2);return;})[_0x0903('0xb')](function(_0xf54a36){_0x36a7be(_0xf54a36);});});}function checkLicense(_0xc5a28a,_0x2d7095){if(!_0xc5a28a){demoLicense[_0x0903('0xc')]=_0xc5a28a[_0x0903('0xd')];return demoLicense;}try{var _0x224c0d=_0x2d7095||_0xc5a28a[_0x0903('0xe')];if(_['isEmpty'](_0x224c0d)){throw new Error(_0x0903('0xf'));}var _0x1adff1=_0xc5a28a[_0x0903('0xd')];var _0x22b901=_0xc5a28a['data2'];var _0x51b8e6=_0x1adff1[_0x0903('0x10')]('-')[0x4];var _0x33466b=_0x1adff1['split']('-')[0x0];var _0x36915f=encryptor[_0x0903('0x11')](_0x224c0d,util[_0x0903('0x12')]('%s:%s:%s',_0x51b8e6,_0x1adff1,_0x33466b));var _0x5b76b8=JSON[_0x0903('0x13')](_0x36915f);_0x5b76b8[_0x0903('0x14')]=![];_0x5b76b8[_0x0903('0xc')]=_0x1adff1;_0x5b76b8[_0x0903('0x15')]=hardware['getUuid']();if(_0x22b901){var _0x57966d=encryptor[_0x0903('0x11')](_0x22b901);_0x5b76b8[_0x0903('0x16')]=_0x57966d;_0x5b76b8['deadline']=moment(_0x57966d)[_0x0903('0x17')](0x7,_0x0903('0x18'))['format']();_0x5b76b8[_0x0903('0x19')]=_0x5b76b8[_0x0903('0xc')]!=_0x5b76b8[_0x0903('0x15')]?_0x0903('0x1a'):'disabled';}return _0x5b76b8;}catch(_0x6d4e8e){breakingLicense[_0x0903('0xc')]=_0xc5a28a[_0x0903('0xd')];breakingLicense[_0x0903('0x1b')]=_0x6d4e8e[_0x0903('0x1b')];return breakingLicense;}}function getLimits(){return new BPromise(function(_0x4073d8,_0x4f50e9){getLicense()[_0x0903('0xa')](function(_0x56f88d){return db['User'][_0x0903('0x1c')]({'attributes':['role',[db['sequelize']['fn'](_0x0903('0x1d'),db[_0x0903('0x1e')][_0x0903('0x1f')](_0x0903('0x20'))),_0x0903('0x21')]],'group':_0x0903('0x20'),'where':{'role':{'$or':['admin','user',_0x0903('0x22')]}},'raw':!![]})[_0x0903('0xa')](function(_0x212c65){var _0x14cc0b={'user':_0x56f88d[_0x0903('0x23')]||0x0,'telephone':_0x56f88d[_0x0903('0x24')]||0x0};_0x212c65[_0x0903('0x25')](function(_0x3c7ba0){var _0x2387af=_0x3c7ba0[_0x0903('0x20')]==='admin'?'user':_0x3c7ba0[_0x0903('0x20')];_0x14cc0b[_0x2387af]-=_0x3c7ba0[_0x0903('0x21')];if(_0x14cc0b[_0x2387af]<0x0)_0x14cc0b[_0x2387af]=0x0;});_0x4073d8(_0x14cc0b);return;});})['catch'](function(_0x26694e){_0x4f50e9(_0x26694e);});});}function checkUserLimits(_0xd76a84){return new BPromise(function(_0x5b8f25,_0x37ada6){getLimits()[_0x0903('0xa')](function(_0x1cd9bc){var _0x88598c=_['pick'](_[_0x0903('0x26')](_0xd76a84,_0x0903('0x20')),[_0x0903('0x27'),_0x0903('0x28'),_0x0903('0x22')]);var _0x39f1e2=(_0x88598c[_0x0903('0x27')]||0x0)+(_0x88598c['user']||0x0);var _0x594382=_0x88598c['telephone']||0x0;if(_0x39f1e2>_0x1cd9bc[_0x0903('0x28')])return _0x37ada6(_0x0903('0x29'));if(_0x594382>_0x1cd9bc[_0x0903('0x22')])return _0x37ada6('License\x20limit\x20reached\x20for\x20telephones');return _0x5b8f25();})[_0x0903('0xb')](function(_0x20c136){_0x37ada6(_0x20c136);});});}module['exports']={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file
+var _0xedba=['countBy','user','License\x20limit\x20reached\x20for\x20users','License\x20limit\x20reached\x20for\x20telephones','exports','util','lodash','moment','bluebird','./hardware','../../components/encryptor','../../mysqldb','2027-01-01T00:00:00.000Z','Demo\x20license','getUuid','Breaking\x20license','License','defaults','then','data1','license','data2','split','decryptString','demo','uuid','machineUuid','gray','deadline','add','days','format','grayReason','changed','disabled','message','User','findAll','role','sequelize','col','count','admin','telephone','telephones','catch'];(function(_0x3acce8,_0x5c460c){var _0x1d5f22=function(_0x587915){while(--_0x587915){_0x3acce8['push'](_0x3acce8['shift']());}};_0x1d5f22(++_0x5c460c);}(_0xedba,0x8f));var _0xaedb=function(_0x3869da,_0x5e6ae7){_0x3869da=_0x3869da-0x0;var _0x333273=_0xedba[_0x3869da];return _0x333273;};'use strict';var util=require(_0xaedb('0x0'));var _=require(_0xaedb('0x1'));var moment=require(_0xaedb('0x2'));var BPromise=require(_0xaedb('0x3'));var hardware=require(_0xaedb('0x4'));var encryptor=require(_0xaedb('0x5'));var db=require(_0xaedb('0x6'))['db'];const demoLicense={'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xaedb('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'description':_0xaedb('0x8'),'machineUuid':hardware[_0xaedb('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};const breakingLicense={'breaking':!![],'demo':!![],'agents':0x2,'telephones':0x0,'users':0x1,'expiration':_0xaedb('0x7'),'chat':![],'mail':![],'fax':![],'messaging':![],'whatsapp':![],'cm':![],'dialer':![],'jscripty':![],'openchannel':![],'callysquare':0x2,'webrtc':![],'jaws':![],'custom':![],'update':![],'description':_0xaedb('0xa'),'machineUuid':hardware[_0xaedb('0x9')](),'virtual':0x0,'voice':!![],'screenrecording':![],'preferred':![],'ai':![]};function getLicense(_0x1921cb){return new BPromise(function(_0x3b5697,_0x1be55e){return db[_0xaedb('0xb')]['find'](_[_0xaedb('0xc')](_0x1921cb,{'raw':!![],'where':{'id':0x1}}))['then'](function(_0x3620c1){return checkLicense(_0x3620c1,null);})[_0xaedb('0xd')](function(_0xdc9824){_0x3b5697(_0xdc9824);return;})['catch'](function(_0x1fc0c2){_0x1be55e(_0x1fc0c2);});});}function checkLicense(_0x49fb56,_0x38ba03){if(!_0x49fb56){demoLicense['uuid']=_0x49fb56[_0xaedb('0xe')];return demoLicense;}try{var _0x28bdaa=_0x38ba03||_0x49fb56[_0xaedb('0xf')];if(_['isEmpty'](_0x28bdaa)){throw new Error('License\x20key\x20value\x20not\x20found');}var _0x222010=_0x49fb56[_0xaedb('0xe')];var _0x14a9a0=_0x49fb56[_0xaedb('0x10')];var _0x407688=_0x222010[_0xaedb('0x11')]('-')[0x4];var _0x2f00a9=_0x222010['split']('-')[0x0];var _0x13eca6=encryptor[_0xaedb('0x12')](_0x28bdaa,util['format']('%s:%s:%s',_0x407688,_0x222010,_0x2f00a9));var _0x50b05e=JSON['parse'](_0x13eca6);_0x50b05e[_0xaedb('0x13')]=![];_0x50b05e[_0xaedb('0x14')]=_0x222010;_0x50b05e[_0xaedb('0x15')]=hardware[_0xaedb('0x9')]();if(_0x14a9a0){var _0x58c791=encryptor['decryptString'](_0x14a9a0);_0x50b05e[_0xaedb('0x16')]=_0x58c791;_0x50b05e[_0xaedb('0x17')]=moment(_0x58c791)[_0xaedb('0x18')](0x7,_0xaedb('0x19'))[_0xaedb('0x1a')]();_0x50b05e[_0xaedb('0x1b')]=_0x50b05e['uuid']!=_0x50b05e[_0xaedb('0x15')]?_0xaedb('0x1c'):_0xaedb('0x1d');}return _0x50b05e;}catch(_0x424da4){breakingLicense[_0xaedb('0x14')]=_0x49fb56[_0xaedb('0xe')];breakingLicense[_0xaedb('0x1e')]=_0x424da4['message'];return breakingLicense;}}function getLimits(){return new BPromise(function(_0xa5d986,_0x41edf5){getLicense()[_0xaedb('0xd')](function(_0x2ef0ce){return db[_0xaedb('0x1f')][_0xaedb('0x20')]({'attributes':[_0xaedb('0x21'),[db[_0xaedb('0x22')]['fn']('COUNT',db[_0xaedb('0x22')][_0xaedb('0x23')](_0xaedb('0x21'))),_0xaedb('0x24')]],'group':_0xaedb('0x21'),'where':{'role':{'$or':[_0xaedb('0x25'),'user',_0xaedb('0x26')]}},'raw':!![]})[_0xaedb('0xd')](function(_0x44299f){var _0x32ae2f={'user':_0x2ef0ce['users']||0x0,'telephone':_0x2ef0ce[_0xaedb('0x27')]||0x0};_0x44299f['forEach'](function(_0x561246){var _0x158eea=_0x561246['role']===_0xaedb('0x25')?'user':_0x561246['role'];_0x32ae2f[_0x158eea]-=_0x561246['count'];if(_0x32ae2f[_0x158eea]<0x0)_0x32ae2f[_0x158eea]=0x0;});_0xa5d986(_0x32ae2f);return;});})[_0xaedb('0x28')](function(_0x45ed86){_0x41edf5(_0x45ed86);});});}function checkUserLimits(_0x15fb6c){return new BPromise(function(_0x172905,_0x58ab71){getLimits()[_0xaedb('0xd')](function(_0x164c1e){var _0x59d48e=_['pick'](_[_0xaedb('0x29')](_0x15fb6c,'role'),[_0xaedb('0x25'),_0xaedb('0x2a'),'telephone']);var _0x30b46f=(_0x59d48e[_0xaedb('0x25')]||0x0)+(_0x59d48e[_0xaedb('0x2a')]||0x0);var _0x2d0743=_0x59d48e[_0xaedb('0x26')]||0x0;if(_0x30b46f>_0x164c1e['user'])return _0x58ab71(_0xaedb('0x2b'));if(_0x2d0743>_0x164c1e[_0xaedb('0x26')])return _0x58ab71(_0xaedb('0x2c'));return _0x172905();})[_0xaedb('0x28')](function(_0x556726){_0x58ab71(_0x556726);});});}module[_0xaedb('0x2d')]={'checkLicense':checkLicense,'checkUserLimits':checkUserLimits,'getLicense':getLicense};
\ No newline at end of file