c243a6c9cea097efb50d1dadc74e5d847689dfc5
[motion-next.git] / server / config / license / index.js
1 const a844_0x599f=['format','../../mysqldb','|reason|','decryptString','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','error','data1','./hardware','info','active','license','fullname','||FIELD||VALUE||\x0a','User','ipAddress','getUuid','reject','message','|name|','findOrCreate','then','encryptString','Alert','YYYY-MM-DD\x20HH:mm','SERVICE\x20LICENSE\x20STARTED\x20%s','openIssue','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','email','admin','../logger','|email|','DEMO\x20START\x20AT\x20%s','%s/api/servers/%s/check?version=%s&oldtoken=%s','util','request-promise-native','get','toUpperCase','update','Changed','|uuid|','../../components/encryptor','Motion\x20License\x20Alert','data2','days','uuid','catch','GET','finally','getFirstInterface','|machineUuid|','moment'];(function(_0x5ebaa4,_0x599fb8){const _0x5c133b=function(_0x1cbbe2){while(--_0x1cbbe2){_0x5ebaa4['push'](_0x5ebaa4['shift']());}};_0x5c133b(++_0x599fb8);}(a844_0x599f,0x7e));const a844_0x5c13=function(_0x5ebaa4,_0x599fb8){_0x5ebaa4=_0x5ebaa4-0x0;let _0x5c133b=a844_0x599f[_0x5ebaa4];return _0x5c133b;};const _0x115cf0=a844_0x5c13;'use strict';const {version}=require('../../../package.json'),util=require(_0x115cf0('0x9')),encryptor=require(_0x115cf0('0x10')),moment=require(_0x115cf0('0x1a')),rp=require(_0x115cf0('0xa')),db=require(_0x115cf0('0x1c'))['db'],hardware=require(_0x115cf0('0x22')),logger=require(_0x115cf0('0x5'))('license'),jira=require('../../api/jira/jira.controller'),HOST='https://www.xcallymotion.com',TIME=0x3c*0x1388,DAYS=0x7;let GRAY_PERIOD_REASON,ADMIN,oldToken;function httpRequest(_0x1cbbe2){return new Promise(function(_0x4943ef,_0x137715){const _0x5b09b9=a844_0x5c13;let _0xbb137f=util[_0x5b09b9('0x1b')]('%s/api/servers/%s/check?version=%s',HOST,_0x1cbbe2,version);oldToken&&(_0xbb137f=util[_0x5b09b9('0x1b')](_0x5b09b9('0x8'),HOST,_0x1cbbe2,version,oldToken));const _0x2f0249={'uri':_0xbb137f,'method':_0x5b09b9('0x16'),'timeout':0xea60,'json':!![]};return rp(_0x2f0249)[_0x5b09b9('0x2f')](function(_0xf53b47){_0x4943ef(_0xf53b47);})[_0x5b09b9('0x15')](function(_0x38cfc1){_0x137715(_0x38cfc1);});});}function sendJiraAlert(_0x54aff2,_0x352502,_0x44c601){const _0xeb7bd7=_0x115cf0;let _0x26c65a=_0xeb7bd7('0x27');return db[_0xeb7bd7('0x28')]['findOne']({'where':{'role':_0xeb7bd7('0x4')},'attributes':[_0xeb7bd7('0x26'),_0xeb7bd7('0x3')],'raw':!![]})[_0xeb7bd7('0x2f')](function(_0x5e78ba){const _0x140099=_0xeb7bd7;return ADMIN=_0x5e78ba,_0x26c65a+=_0x140099('0x1d')+_0x44c601+'|\x0a',_0x26c65a+=_0x140099('0xf')+_0x54aff2+'|\x0a',_0x26c65a+=_0x140099('0x19')+_0x352502+'|\x0a',_0x26c65a+=_0x140099('0x2d')+ADMIN['fullname']+'|\x0a',_0x26c65a+=_0x140099('0x6')+ADMIN['email']+'|\x0a',_0x26c65a;})[_0xeb7bd7('0x2f')](function(_0x2d8409){const _0x1c67d1=_0xeb7bd7,_0x13157f=hardware[_0x1c67d1('0x18')]()[_0x1c67d1('0x29')];return jira[_0x1c67d1('0x1')]({'key':'MOTLICENSE','summary':_0x1c67d1('0x11'),'description':_0x2d8409,'issuetype':_0x1c67d1('0x31'),'oldToken':_0x54aff2,'newToken':_0x352502,'email':ADMIN[_0x1c67d1('0x3')],'name':ADMIN['fullname'],'reason':GRAY_PERIOD_REASON,'ip':_0x13157f});});}function manageLicense(_0x27c02c,_0x47dbd1){const _0x565621=_0x115cf0,_0x18ebf8=_0x47dbd1[_0x565621('0xb')]({'plain':!![]});httpRequest(_0x27c02c)[_0x565621('0x2f')](function(_0x1b8ce5){const _0xc72d0f=_0x565621;oldToken&&(oldToken=undefined);if(_0x1b8ce5[_0xc72d0f('0x24')]){(!_0x18ebf8[_0xc72d0f('0x25')]&&_0x18ebf8[_0xc72d0f('0x25')]!=_0x1b8ce5[_0xc72d0f('0x25')]||_0x18ebf8[_0xc72d0f('0x25')]&&_0x18ebf8[_0xc72d0f('0x12')])&&logger[_0xc72d0f('0x23')]('THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED');_0x18ebf8[_0xc72d0f('0x25')]&&!_0x18ebf8[_0xc72d0f('0x12')]&&_0x18ebf8[_0xc72d0f('0x25')]!=_0x1b8ce5[_0xc72d0f('0x25')]&&logger[_0xc72d0f('0x23')]('THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED');if(_0x18ebf8['license']&&!_0x18ebf8[_0xc72d0f('0x12')]&&_0x18ebf8[_0xc72d0f('0x25')]==_0x1b8ce5[_0xc72d0f('0x25')])return _0x47dbd1;return _0x47dbd1[_0xc72d0f('0xd')]({'data1':_0x27c02c,'data2':null,'license':_0x1b8ce5[_0xc72d0f('0x25')]});}else{if(_0x1b8ce5['license']||_0x18ebf8['license']){if(!_0x18ebf8['data2'])return _0x18ebf8[_0xc72d0f('0x21')]==_0x27c02c?(GRAY_PERIOD_REASON='Disabled',logger[_0xc72d0f('0x23')](_0xc72d0f('0x2'))):(GRAY_PERIOD_REASON=_0xc72d0f('0xe'),oldToken=_0x18ebf8['data1'],logger[_0xc72d0f('0x23')](_0xc72d0f('0x1f'),_0x18ebf8[_0xc72d0f('0x21')],_0x27c02c)),sendJiraAlert(_0x18ebf8[_0xc72d0f('0x21')],_0x1b8ce5[_0xc72d0f('0x14')],GRAY_PERIOD_REASON),logger[_0xc72d0f('0x23')]('%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s',GRAY_PERIOD_REASON[_0xc72d0f('0xc')](),moment()[_0xc72d0f('0x1b')](_0xc72d0f('0x32'))),_0x47dbd1[_0xc72d0f('0xd')]({'data2':encryptor[_0xc72d0f('0x30')](moment()[_0xc72d0f('0x1b')](_0xc72d0f('0x32')))});else{if(moment()['diff'](encryptor[_0xc72d0f('0x1e')](_0x18ebf8['data2']),_0xc72d0f('0x13'))>DAYS)return logger[_0xc72d0f('0x23')](_0xc72d0f('0x7'),moment()['format'](_0xc72d0f('0x32'))),_0x47dbd1['update']({'data1':_0x27c02c,'data2':null,'license':null});}}else{if(_0x18ebf8[_0xc72d0f('0x21')]!=_0x27c02c)return logger[_0xc72d0f('0x23')](_0xc72d0f('0x1f'),_0x18ebf8[_0xc72d0f('0x21')],_0x27c02c),_0x47dbd1[_0xc72d0f('0xd')]({'data1':_0x27c02c,'data2':null,'license':null});}}return _0x47dbd1;})[_0x565621('0x2f')](function(_0x407ace){_0x47dbd1=_0x407ace;})[_0x565621('0x15')](function(_0x450588){const _0x37dce0=_0x565621;logger[_0x37dce0('0x20')](_0x450588[_0x37dce0('0x2c')]);})[_0x565621('0x17')](function(){setTimeout(function(){const _0x48ea71=a844_0x5c13;manageLicense(hardware[_0x48ea71('0x2a')](),_0x47dbd1);},TIME);});}function defaultLicense(){const _0x426dd6=_0x115cf0,_0x18b2bf=hardware[_0x426dd6('0x2a')]();return _0x18b2bf?db['License'][_0x426dd6('0x2e')]({'where':{'id':0x1},'defaults':{'data1':_0x18b2bf}})[_0x426dd6('0x2f')](function([_0x2d4756]){const _0x7711c0=_0x426dd6;logger[_0x7711c0('0x23')](_0x7711c0('0x0'),_0x18b2bf),manageLicense(_0x18b2bf,_0x2d4756);})[_0x426dd6('0x15')](function(_0x423770){const _0x896cfd=_0x426dd6;logger[_0x896cfd('0x20')](_0x423770[_0x896cfd('0x2c')]);throw _0x423770;}):Promise[_0x426dd6('0x2b')](new Error('No\x20UUID\x20found'));}exports['default']=defaultLicense;