Files
wg-easy-ca-lose/src/server/api/admin/overrides.get.ts
T
copilot-swe-agent[bot] fbf24410db Add metrics password override and implement frontend UI indicators
Backend changes:
- Added WG_METRICS_PASSWORD environment variable override
- Updated applyGeneralOverrides() to include metrics password
- Updated /api/admin/overrides endpoint to include metrics password

Frontend changes:
- Added override indicators (warning icons with tooltips) to all form fields
- Updated TextField, NumberField, NullTextField, SwitchField, HostField, ArrayField components
- Added overridden prop support to all form components
- Fetched /api/admin/overrides in all admin pages (interface, general, config, hooks)
- Warning icon displays when field is overridden by environment variable
- ArrayField shows banner when overridden
- Updated documentation with WG_METRICS_PASSWORD

Co-authored-by: kaaax0815 <32197462+kaaax0815@users.noreply.github.com>
2025-11-14 14:30:56 +00:00

32 lines
1.4 KiB
TypeScript

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,
metricsPassword: WG_GENERAL_OVERRIDE_ENV.METRICS_PASSWORD !== undefined,
metricsPrometheus: WG_GENERAL_OVERRIDE_ENV.METRICS_PROMETHEUS !== undefined,
metricsJson: WG_GENERAL_OVERRIDE_ENV.METRICS_JSON !== undefined,
},
hooks: {
preUp: WG_HOOKS_OVERRIDE_ENV.PRE_UP !== undefined,
postUp: WG_HOOKS_OVERRIDE_ENV.POST_UP !== undefined,
preDown: WG_HOOKS_OVERRIDE_ENV.PRE_DOWN !== undefined,
postDown: WG_HOOKS_OVERRIDE_ENV.POST_DOWN !== undefined,
},
};
});