restruct feature config and add harvester version fallback logic

This commit is contained in:
andy.lee
2024-11-12 11:50:32 +01:00
committed by Francesco Torchia
parent 4c981f6380
commit 78ca1e2f49
2 changed files with 32 additions and 43 deletions
+6 -4
View File
@@ -12,13 +12,15 @@ export function serverVersion(getters) {
const v = getters['harvester/byId'](HCI.SETTING, 'server-version')?.value;
return `v${ semver.major(v) }.${ semver.minor(v) }.${ semver.patch(v) }`;
} catch (error) {}
return '';
} catch (error) {
// fallback to the latest version
return Object.keys(RELEASE_FEATURES).sort((a, b) => semver.compare(a, b)).pop();
}
}
export const featureEnabled = (getters, featureKey) => {
const version = serverVersion(getters);
const releasedFeatures = RELEASE_FEATURES[version] || [];
return !!RELEASE_FEATURES[version]?.[featureKey] || false;
return releasedFeatures.includes(featureKey);
};