| name | add-config-schema |
| description | Add a dynamic config item editable on the system config page (TR-F014). Use when adding a RADIUS runtime parameter that must support query/edit/reload. |
Skill: Add a Dynamic Config Item
Feature ID: TR-F014
When to use
When adding a RADIUS runtime parameter that should be editable on the system config page.
Pre-research
view internal/app/config_schemas.json # config schema (edit here first)
view internal/app/config_manager.go # read / reload logic
view internal/adminapi/settings.go # config endpoints
grep_search "GetSettingsStringValue\|GetSettingsInt64Value" --include internal/**
Implementation steps
- Schema: add the config item to
config_schemas.json with default / type / range / i18n key.
- Read: read via
app.GApp().GetSettings*Value("<group>", "<Key>"); do not hardcode.
- Default initialization: confirm
checkSettings() / init logic writes the default value.
- Frontend: the system config page
web/src/pages/SystemConfigPage.tsx renders from the schema automatically; customize only if a special control is needed.
Conventions
- A new config item must enter the schema before any code reads it.
- Type, range, default, and i18n key are all required.
Acceptance