0b9e14793a9938b05cefdd533a2a5a071410c9bb
[motion-next.git] / server / config / license / index.js
1 const a844_0x2253=['Motion\x20License\x20Alert','format','MOTLICENSE','../../api/jira/jira.controller','get','Changed','SERVICE\x20LICENSE\x20STARTED\x20%s','util','info','diff','encryptString','data1','THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED','No\x20UUID\x20found','THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED','then','email','active','uuid','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','error','toUpperCase','Alert','|reason|','YYYY-MM-DD\x20HH:mm','|machineUuid|','DEMO\x20START\x20AT\x20%s','findOne','GET','../../components/encryptor','%s/api/servers/%s/check?version=%s&oldtoken=%s','https://www.xcallymotion.com','admin','fullname','license','./hardware','openIssue','../logger','default','update','message','data2','|email|','Disabled','User','catch','|uuid|','../../../package.json','reject','ipAddress','License','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','%s/api/servers/%s/check?version=%s'];(function(_0x47d878,_0x2253b2){const _0x4ae8fd=function(_0x1f9d00){while(--_0x1f9d00){_0x47d878['push'](_0x47d878['shift']());}};_0x4ae8fd(++_0x2253b2);}(a844_0x2253,0x86));const a844_0x4ae8=function(_0x47d878,_0x2253b2){_0x47d878=_0x47d878-0x0;let _0x4ae8fd=a844_0x2253[_0x47d878];return _0x4ae8fd;};const _0x377f90=a844_0x4ae8;'use strict';const {version}=require(_0x377f90('0x13')),util=require(_0x377f90('0x20')),encryptor=require(_0x377f90('0x1')),moment=require('moment'),rp=require('request-promise-native'),db=require('../../mysqldb')['db'],hardware=require(_0x377f90('0x7')),logger=require(_0x377f90('0x9'))(_0x377f90('0x6')),jira=require(_0x377f90('0x1c')),HOST=_0x377f90('0x3'),TIME=0x3c*0x1388,DAYS=0x7;let GRAY_PERIOD_REASON,ADMIN,oldToken;function httpRequest(_0x1f9d00){return new Promise(function(_0x495c05,_0x153aff){const _0x337594=a844_0x4ae8;let _0x217a8e=util[_0x337594('0x1a')](_0x337594('0x18'),HOST,_0x1f9d00,version);oldToken&&(_0x217a8e=util[_0x337594('0x1a')](_0x337594('0x2'),HOST,_0x1f9d00,version,oldToken));const _0x2a2d7e={'uri':_0x217a8e,'method':_0x337594('0x0'),'timeout':0xea60,'json':!![]};return rp(_0x2a2d7e)[_0x337594('0x28')](function(_0x4bf7e4){_0x495c05(_0x4bf7e4);})['catch'](function(_0x44b84a){_0x153aff(_0x44b84a);});});}function sendJiraAlert(_0x9dddc6,_0x1e6d43,_0x228aa6){const _0x1624e2=_0x377f90;let _0x315af9='||FIELD||VALUE||\x0a';return db[_0x1624e2('0x10')][_0x1624e2('0x34')]({'where':{'role':_0x1624e2('0x4')},'attributes':[_0x1624e2('0x5'),_0x1624e2('0x29')],'raw':!![]})[_0x1624e2('0x28')](function(_0x155bbb){const _0x38be81=_0x1624e2;return ADMIN=_0x155bbb,_0x315af9+=_0x38be81('0x30')+_0x228aa6+'|\x0a',_0x315af9+=_0x38be81('0x12')+_0x9dddc6+'|\x0a',_0x315af9+=_0x38be81('0x32')+_0x1e6d43+'|\x0a',_0x315af9+='|name|'+ADMIN[_0x38be81('0x5')]+'|\x0a',_0x315af9+=_0x38be81('0xe')+ADMIN['email']+'|\x0a',_0x315af9;})[_0x1624e2('0x28')](function(_0x3e158f){const _0x272c2e=_0x1624e2,_0x8a117b=hardware['getFirstInterface']()[_0x272c2e('0x15')];return jira[_0x272c2e('0x8')]({'key':_0x272c2e('0x1b'),'summary':_0x272c2e('0x19'),'description':_0x3e158f,'issuetype':_0x272c2e('0x2f'),'oldToken':_0x9dddc6,'newToken':_0x1e6d43,'email':ADMIN[_0x272c2e('0x29')],'name':ADMIN[_0x272c2e('0x5')],'reason':GRAY_PERIOD_REASON,'ip':_0x8a117b});});}function manageLicense(_0x225936,_0x496563){const _0x585f59=_0x377f90,_0x570c77=_0x496563[_0x585f59('0x1d')]({'plain':!![]});httpRequest(_0x225936)[_0x585f59('0x28')](function(_0x28a07d){const _0x840e09=_0x585f59;oldToken&&(oldToken=undefined);if(_0x28a07d[_0x840e09('0x2a')]){(!_0x570c77[_0x840e09('0x6')]&&_0x570c77['license']!=_0x28a07d[_0x840e09('0x6')]||_0x570c77['license']&&_0x570c77['data2'])&&logger['info'](_0x840e09('0x25'));_0x570c77[_0x840e09('0x6')]&&!_0x570c77[_0x840e09('0xd')]&&_0x570c77[_0x840e09('0x6')]!=_0x28a07d[_0x840e09('0x6')]&&logger['info'](_0x840e09('0x27'));if(_0x570c77['license']&&!_0x570c77['data2']&&_0x570c77[_0x840e09('0x6')]==_0x28a07d['license'])return _0x496563;return _0x496563[_0x840e09('0xb')]({'data1':_0x225936,'data2':null,'license':_0x28a07d[_0x840e09('0x6')]});}else{if(_0x28a07d[_0x840e09('0x6')]||_0x570c77[_0x840e09('0x6')]){if(!_0x570c77[_0x840e09('0xd')])return _0x570c77[_0x840e09('0x24')]==_0x225936?(GRAY_PERIOD_REASON=_0x840e09('0xf'),logger[_0x840e09('0x21')](_0x840e09('0x2c'))):(GRAY_PERIOD_REASON=_0x840e09('0x1e'),oldToken=_0x570c77[_0x840e09('0x24')],logger['info']('NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s',_0x570c77['data1'],_0x225936)),sendJiraAlert(_0x570c77['data1'],_0x28a07d[_0x840e09('0x2b')],GRAY_PERIOD_REASON),logger['info'](_0x840e09('0x17'),GRAY_PERIOD_REASON[_0x840e09('0x2e')](),moment()[_0x840e09('0x1a')]('YYYY-MM-DD\x20HH:mm')),_0x496563[_0x840e09('0xb')]({'data2':encryptor[_0x840e09('0x23')](moment()[_0x840e09('0x1a')](_0x840e09('0x31')))});else{if(moment()[_0x840e09('0x22')](encryptor['decryptString'](_0x570c77[_0x840e09('0xd')]),'days')>DAYS)return logger[_0x840e09('0x21')](_0x840e09('0x33'),moment()[_0x840e09('0x1a')](_0x840e09('0x31'))),_0x496563[_0x840e09('0xb')]({'data1':_0x225936,'data2':null,'license':null});}}else{if(_0x570c77[_0x840e09('0x24')]!=_0x225936)return logger[_0x840e09('0x21')]('NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s',_0x570c77[_0x840e09('0x24')],_0x225936),_0x496563[_0x840e09('0xb')]({'data1':_0x225936,'data2':null,'license':null});}}return _0x496563;})[_0x585f59('0x28')](function(_0x48932e){_0x496563=_0x48932e;})[_0x585f59('0x11')](function(_0x59889f){const _0x5507ff=_0x585f59;logger[_0x5507ff('0x2d')](_0x59889f[_0x5507ff('0xc')]);})['finally'](function(){setTimeout(function(){manageLicense(hardware['getUuid'](),_0x496563);},TIME);});}function defaultLicense(){const _0x32fa08=_0x377f90,_0x1bd007=hardware['getUuid']();return _0x1bd007?db[_0x32fa08('0x16')]['findOrCreate']({'where':{'id':0x1},'defaults':{'data1':_0x1bd007}})['then'](function([_0x5a18c0]){const _0x42d057=_0x32fa08;logger[_0x42d057('0x21')](_0x42d057('0x1f'),_0x1bd007),manageLicense(_0x1bd007,_0x5a18c0);})[_0x32fa08('0x11')](function(_0x12662e){const _0x3e5c61=_0x32fa08;logger[_0x3e5c61('0x2d')](_0x12662e['message']);throw _0x12662e;}):Promise[_0x32fa08('0x14')](new Error(_0x32fa08('0x26')));}exports[_0x377f90('0xa')]=defaultLicense;