Built motion from commit 129fb4d95212661e48f0db455e75d668addbaddf. Version 3.0.0...
[motion-next.git] / server / config / license / index.js
1 const a1005_0x2aa2=['message','diff','error','YYYY-MM-DD\x20HH:mm','|email|','format','Motion\x20License\x20Alert','email','request-promise-native','get','catch','license','getUuid','DEMO\x20START\x20AT\x20%s','getFirstInterface','reject','../../../package.json','fullname','openIssue','update','User','data1','finally','days','../logger','uuid','../../mysqldb','THE\x20LICENSE\x20HAS\x20BEEN\x20DISABLED','https://www.xcallymotion.com','GET','No\x20UUID\x20found','|uuid|','../../components/encryptor','findOrCreate','decryptString','then','active','|name|','%s/api/servers/%s/check?version=%s&oldtoken=%s','%s/api/servers/%s/check?version=%s','info','THE\x20LICENSE\x20HAS\x20BEEN\x20ENABLED','%s\x20-\x20GRAY\x20PERIOD\x20STARTED\x20AT\x20%s','||FIELD||VALUE||\x0a','data2','NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s','default','./hardware','SERVICE\x20LICENSE\x20STARTED\x20%s','THE\x20LICENSE\x20HAS\x20BEEN\x20UPDATED','encryptString'];(function(_0x468b7f,_0x551a6a){const _0x2aa25b=function(_0x54df36){while(--_0x54df36){_0x468b7f['push'](_0x468b7f['shift']());}};_0x2aa25b(++_0x551a6a);}(a1005_0x2aa2,0xde));const a1005_0x54df=function(_0x468b7f,_0x551a6a){_0x468b7f=_0x468b7f-0x1a8;let _0x2aa25b=a1005_0x2aa2[_0x468b7f];return _0x2aa25b;};const a1005_0x46259e=a1005_0x54df;'use strict';const {version}=require(a1005_0x46259e(0x1d9)),util=require('util'),encryptor=require(a1005_0x46259e(0x1b6)),moment=require('moment'),rp=require(a1005_0x46259e(0x1d1)),{db}=require(a1005_0x46259e(0x1b0)),hardware=require(a1005_0x46259e(0x1c5)),logger=require(a1005_0x46259e(0x1ae))(a1005_0x46259e(0x1d4)),jira=require('../../api/jira/jira.controller'),HOST=a1005_0x46259e(0x1b2),TIME=0x3c*0x1388,DAYS=0x7;let GRAY_PERIOD_REASON,ADMIN,oldToken;function httpRequest(_0x16b587){return new Promise(function(_0x10bcb4,_0x577d9a){const _0x3c5bae=a1005_0x54df;let _0xdacaf2=util[_0x3c5bae(0x1ce)](_0x3c5bae(0x1bd),HOST,_0x16b587,version);oldToken&&(_0xdacaf2=util[_0x3c5bae(0x1ce)](_0x3c5bae(0x1bc),HOST,_0x16b587,version,oldToken));const _0x4fdb16={'uri':_0xdacaf2,'method':_0x3c5bae(0x1b3),'timeout':0xea60,'json':!![]};return rp(_0x4fdb16)[_0x3c5bae(0x1b9)](function(_0xfc1a1e){_0x10bcb4(_0xfc1a1e);})[_0x3c5bae(0x1d3)](function(_0x45798f){_0x577d9a(_0x45798f);});});}function sendJiraAlert(_0x1021f7,_0xd50b4e,_0x80ab8a){const _0xa63001=a1005_0x46259e;let _0x1d6291=_0xa63001(0x1c1);return db[_0xa63001(0x1aa)]['findOne']({'where':{'role':'admin'},'attributes':[_0xa63001(0x1da),_0xa63001(0x1d0)],'raw':!![]})[_0xa63001(0x1b9)](function(_0x443909){const _0x32d2ec=_0xa63001;return ADMIN=_0x443909,_0x1d6291+='|reason|'+_0x80ab8a+'|\x0a',_0x1d6291+=_0x32d2ec(0x1b5)+_0x1021f7+'|\x0a',_0x1d6291+='|machineUuid|'+_0xd50b4e+'|\x0a',_0x1d6291+=_0x32d2ec(0x1bb)+ADMIN[_0x32d2ec(0x1da)]+'|\x0a',_0x1d6291+=_0x32d2ec(0x1cd)+ADMIN[_0x32d2ec(0x1d0)]+'|\x0a',_0x1d6291;})['then'](function(_0x401586){const _0x3db68a=_0xa63001,_0x3251a9=hardware[_0x3db68a(0x1d7)]()['ipAddress'];return jira[_0x3db68a(0x1a8)]({'key':'MOTLICENSE','summary':_0x3db68a(0x1cf),'description':_0x401586,'issuetype':'Alert','oldToken':_0x1021f7,'newToken':_0xd50b4e,'email':ADMIN[_0x3db68a(0x1d0)],'name':ADMIN['fullname'],'reason':GRAY_PERIOD_REASON,'ip':_0x3251a9});});}function manageLicense(_0x1c4074,_0x1a771b){const _0x4f8f8d=a1005_0x46259e,_0x1e9102=_0x1a771b[_0x4f8f8d(0x1d2)]({'plain':!![]});httpRequest(_0x1c4074)[_0x4f8f8d(0x1b9)](function(_0x14f55f){const _0xbebde0=_0x4f8f8d;oldToken&&(oldToken=undefined);if(_0x14f55f[_0xbebde0(0x1ba)]){(!_0x1e9102[_0xbebde0(0x1d4)]&&_0x1e9102[_0xbebde0(0x1d4)]!=_0x14f55f[_0xbebde0(0x1d4)]||_0x1e9102[_0xbebde0(0x1d4)]&&_0x1e9102['data2'])&&logger[_0xbebde0(0x1be)](_0xbebde0(0x1bf));_0x1e9102[_0xbebde0(0x1d4)]&&!_0x1e9102[_0xbebde0(0x1c2)]&&_0x1e9102['license']!=_0x14f55f[_0xbebde0(0x1d4)]&&logger[_0xbebde0(0x1be)](_0xbebde0(0x1c7));if(_0x1e9102['license']&&!_0x1e9102[_0xbebde0(0x1c2)]&&_0x1e9102['license']==_0x14f55f['license'])return _0x1a771b;return _0x1a771b['update']({'data1':_0x1c4074,'data2':null,'license':_0x14f55f[_0xbebde0(0x1d4)]});}else{if(_0x14f55f[_0xbebde0(0x1d4)]||_0x1e9102[_0xbebde0(0x1d4)]){if(!_0x1e9102['data2'])return _0x1e9102['data1']==_0x1c4074?(GRAY_PERIOD_REASON='Disabled',logger['info'](_0xbebde0(0x1b1))):(GRAY_PERIOD_REASON='Changed',oldToken=_0x1e9102[_0xbebde0(0x1ab)],logger['info'](_0xbebde0(0x1c3),_0x1e9102[_0xbebde0(0x1ab)],_0x1c4074)),sendJiraAlert(_0x1e9102['data1'],_0x14f55f[_0xbebde0(0x1af)],GRAY_PERIOD_REASON),logger['info'](_0xbebde0(0x1c0),GRAY_PERIOD_REASON['toUpperCase'](),moment()[_0xbebde0(0x1ce)](_0xbebde0(0x1cc))),_0x1a771b[_0xbebde0(0x1a9)]({'data2':encryptor[_0xbebde0(0x1c8)](moment()[_0xbebde0(0x1ce)](_0xbebde0(0x1cc)))});else{if(moment()[_0xbebde0(0x1ca)](encryptor[_0xbebde0(0x1b8)](_0x1e9102['data2']),_0xbebde0(0x1ad))>DAYS)return logger[_0xbebde0(0x1be)](_0xbebde0(0x1d6),moment()[_0xbebde0(0x1ce)](_0xbebde0(0x1cc))),_0x1a771b[_0xbebde0(0x1a9)]({'data1':_0x1c4074,'data2':null,'license':null});}}else{if(_0x1e9102[_0xbebde0(0x1ab)]!=_0x1c4074)return logger[_0xbebde0(0x1be)]('NEW\x20UUID\x20DETECTED:\x20FROM\x20%s\x20TO\x20%s',_0x1e9102[_0xbebde0(0x1ab)],_0x1c4074),_0x1a771b[_0xbebde0(0x1a9)]({'data1':_0x1c4074,'data2':null,'license':null});}}return _0x1a771b;})[_0x4f8f8d(0x1b9)](function(_0xd2bffc){_0x1a771b=_0xd2bffc;})[_0x4f8f8d(0x1d3)](function(_0x4caf75){const _0x322df5=_0x4f8f8d;logger[_0x322df5(0x1cb)](_0x4caf75[_0x322df5(0x1c9)]);})[_0x4f8f8d(0x1ac)](function(){setTimeout(function(){const _0x3dd216=a1005_0x54df;manageLicense(hardware[_0x3dd216(0x1d5)](),_0x1a771b);},TIME);});}function defaultLicense(){const _0x539545=a1005_0x46259e,_0x28f43d=hardware[_0x539545(0x1d5)]();return _0x28f43d?db['License'][_0x539545(0x1b7)]({'where':{'id':0x1},'defaults':{'data1':_0x28f43d}})[_0x539545(0x1b9)](function([_0x20c886]){const _0x4fb18c=_0x539545;logger[_0x4fb18c(0x1be)](_0x4fb18c(0x1c6),_0x28f43d),manageLicense(_0x28f43d,_0x20c886);})[_0x539545(0x1d3)](function(_0xbb8a4f){const _0x2b8474=_0x539545;logger['error'](_0xbb8a4f[_0x2b8474(0x1c9)]);throw _0xbb8a4f;}):Promise[_0x539545(0x1d8)](new Error(_0x539545(0x1b4)));}exports[a1005_0x46259e(0x1c4)]=defaultLicense;