core-version.js
1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const MINIMUM_VERSION = 'v1.34.3-1-g86cdf97';
const util = require('util');
const naturalCompare = require('natural-compare-lite');
const logger = require('tektrans-logger');
const matrix = require('komodo-sdk/matrix');
const coreMatrixRequest = util.promisify(require('./matrix'));
let _isSufficient = false;
matrix.core_version_is_sufficient = false;
matrix.core_version_requirement = MINIMUM_VERSION;
function logIfDev(...args) {
matrix.NODE_ENV !== 'production' && logger.verbose(...args);
}
async function getCoreVersion() {
logIfDev('CORE-VERSION: checking core version');
try {
var coreMatrix = await coreMatrixRequest();
}
catch(e) {
logger.verbose('Error requsting CORE version. ' + e.toString())
}
if (!coreMatrix || !coreMatrix.version_active) {
setTimeout(
function() {
getCoreVersion();
},
5000
)
return;
}
_isSufficient = naturalCompare(MINIMUM_VERSION, coreMatrix.version_active) <= 0;
matrix.core_version_is_sufficient = _isSufficient;
logger.info('CORE-VERSION', {version_active: coreMatrix.version_active, minimum_version: MINIMUM_VERSION, sufficient: _isSufficient});
if (!_isSufficient) {
setTimeout(
function() {
getCoreVersion();
},
5000
)
}
}
getCoreVersion();
function isSufficient() {
return _isSufficient;
}
module.exports = isSufficient();