Return database values in GET endpoints; add overrides info route; remove comments

- GET endpoints now return raw database values (not overridden values)
- Created /api/admin/overrides route that returns which fields are overridden by env vars
- Removed comments from POST endpoints
- Admin panel can now show database values and display indicators for overridden fields

Co-authored-by: kaaax0815 <32197462+kaaax0815@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2025-11-14 13:52:54 +00:00
parent 11ab71b5d2
commit 268916782d
8 changed files with 27 additions and 18 deletions
+1 -2
View File
@@ -1,5 +1,4 @@
export default definePermissionEventHandler('admin', 'any', async () => { export default definePermissionEventHandler('admin', 'any', async () => {
const generalConfig = await Database.general.getConfig(); const generalConfig = await Database.general.getConfig();
const generalConfigWithOverrides = applyGeneralOverrides(generalConfig); return generalConfig;
return generalConfigWithOverrides;
}); });
-3
View File
@@ -8,9 +8,6 @@ export default definePermissionEventHandler(
event, event,
validateZod(GeneralUpdateSchema, event) validateZod(GeneralUpdateSchema, event)
); );
// Allow all updates to be saved to database
// Overrides will be applied when reading/using the values
await Database.general.update(data); await Database.general.update(data);
return { success: true }; return { success: true };
} }
@@ -8,9 +8,6 @@ export default definePermissionEventHandler(
event, event,
validateZod(InterfaceCidrUpdateSchema, event) validateZod(InterfaceCidrUpdateSchema, event)
); );
// Allow all updates to be saved to database
// Overrides will be applied when reading/using the values
await Database.interfaces.updateCidr(data); await Database.interfaces.updateCidr(data);
await WireGuard.saveConfig(); await WireGuard.saveConfig();
return { success: true }; return { success: true };
+1 -2
View File
@@ -1,9 +1,8 @@
export default definePermissionEventHandler('admin', 'any', async () => { export default definePermissionEventHandler('admin', 'any', async () => {
const wgInterface = await Database.interfaces.get(); const wgInterface = await Database.interfaces.get();
const wgInterfaceWithOverrides = applyInterfaceOverrides(wgInterface);
return { return {
...wgInterfaceWithOverrides, ...wgInterface,
privateKey: undefined, privateKey: undefined,
}; };
}); });
@@ -8,9 +8,6 @@ export default definePermissionEventHandler(
event, event,
validateZod(InterfaceUpdateSchema, event) validateZod(InterfaceUpdateSchema, event)
); );
// Allow all updates to be saved to database
// Overrides will be applied when reading/using the values
await Database.interfaces.update(data); await Database.interfaces.update(data);
await WireGuard.saveConfig(); await WireGuard.saveConfig();
return { success: true }; return { success: true };
+24
View File
@@ -0,0 +1,24 @@
export default definePermissionEventHandler('admin', 'any', async () => {
return {
interface: {
port: WG_OVERRIDE_ENV.PORT !== undefined,
device: WG_OVERRIDE_ENV.DEVICE !== undefined,
mtu: WG_OVERRIDE_ENV.MTU !== undefined,
ipv4Cidr: WG_OVERRIDE_ENV.IPV4_CIDR !== undefined,
ipv6Cidr: WG_OVERRIDE_ENV.IPV6_CIDR !== undefined,
},
userConfig: {
host: WG_CLIENT_OVERRIDE_ENV.HOST !== undefined,
port: WG_CLIENT_OVERRIDE_ENV.CLIENT_PORT !== undefined,
defaultDns: WG_CLIENT_OVERRIDE_ENV.DEFAULT_DNS !== undefined,
defaultAllowedIps: WG_CLIENT_OVERRIDE_ENV.DEFAULT_ALLOWED_IPS !== undefined,
defaultMtu: WG_CLIENT_OVERRIDE_ENV.DEFAULT_MTU !== undefined,
defaultPersistentKeepalive: WG_CLIENT_OVERRIDE_ENV.DEFAULT_PERSISTENT_KEEPALIVE !== undefined,
},
general: {
sessionTimeout: WG_GENERAL_OVERRIDE_ENV.SESSION_TIMEOUT !== undefined,
metricsPrometheus: WG_GENERAL_OVERRIDE_ENV.METRICS_PROMETHEUS !== undefined,
metricsJson: WG_GENERAL_OVERRIDE_ENV.METRICS_JSON !== undefined,
},
};
});
+1 -2
View File
@@ -1,5 +1,4 @@
export default definePermissionEventHandler('admin', 'any', async () => { export default definePermissionEventHandler('admin', 'any', async () => {
const userConfig = await Database.userConfigs.get(); const userConfig = await Database.userConfigs.get();
const userConfigWithOverrides = applyUserConfigOverrides(userConfig); return userConfig;
return userConfigWithOverrides;
}); });
-3
View File
@@ -8,9 +8,6 @@ export default definePermissionEventHandler(
event, event,
validateZod(UserConfigUpdateSchema, event) validateZod(UserConfigUpdateSchema, event)
); );
// Allow all updates to be saved to database
// Overrides will be applied when reading/using the values
await Database.userConfigs.update(data); await Database.userConfigs.update(data);
await WireGuard.saveConfig(); await WireGuard.saveConfig();
return { success: true }; return { success: true };