settings: add ipv6

This commit is contained in:
Girish Ramakrishnan
2022-01-06 08:58:46 -08:00
parent c74556fa3b
commit cc61ee00be
2 changed files with 32 additions and 0 deletions

View File

@@ -16,6 +16,9 @@ exports = module.exports = {
getDynamicDnsConfig,
setDynamicDnsConfig,
getIPv6Config,
setIPv6Config,
getReverseProxyConfig, // no setter yet since we have no UI for this
getUnstableAppsConfig,
@@ -90,6 +93,7 @@ exports = module.exports = {
// booleans. if you add an entry here, be sure to fix list()
DYNAMIC_DNS_KEY: 'dynamic_dns',
UNSTABLE_APPS_KEY: 'unstable_apps',
IPV6_KEY: 'ipv6',
DEMO_KEY: 'demo',
// json. if you add an entry here, be sure to fix list()
@@ -167,6 +171,7 @@ const gDefaults = (function () {
result[exports.TIME_ZONE_KEY] = 'America/Los_Angeles';
result[exports.CLOUDRON_NAME_KEY] = 'Cloudron';
result[exports.DYNAMIC_DNS_KEY] = false;
result[exports.IPV6_KEY] = false;
result[exports.UNSTABLE_APPS_KEY] = true;
result[exports.LICENSE_KEY] = '';
result[exports.LANGUAGE_KEY] = 'en';
@@ -364,6 +369,19 @@ async function setDynamicDnsConfig(enabled) {
notifyChange(exports.DYNAMIC_DNS_KEY, enabled);
}
async function getIPv6Config() {
const enabled = await get(exports.IPV6_KEY);
if (enabled === null) return gDefaults[exports.IPV6_KEY];
return !!enabled; // db holds string values only
}
async function setIPv6Config(enabled) {
assert.strictEqual(typeof enabled, 'boolean');
await set(exports.IPV6_KEY, enabled ? 'enabled' : ''); // db holds string values only
notifyChange(exports.IPV6_KEY, enabled);
}
async function getUnstableAppsConfig() {
const result = await get(exports.UNSTABLE_APPS_KEY);
if (result === null) return gDefaults[exports.UNSTABLE_APPS_KEY];
@@ -735,6 +753,7 @@ async function list() {
// convert booleans
result[exports.DYNAMIC_DNS_KEY] = !!result[exports.DYNAMIC_DNS_KEY];
result[exports.IPV6_KEY] = !!result[exports.IPV6_KEY];
result[exports.UNSTABLE_APPS_KEY] = !!result[exports.UNSTABLE_APPS_KEY];
result[exports.DEMO_KEY] = !!result[exports.DEMO_KEY];