weichen
f1404d5bd2
feat(sysadmin): add system admin aggregation API and system_settings store
...
- new internal/sysadmin package (overview/kb/features/settings) with small
port interfaces; business packages stay unaware of sysadmin
- new routes /api/v1/admin/system/{overview,kb,features,settings} guarded
by requireSystemAdmin
- goose 00049: system_settings table (key/jsonb value, updated_by/at)
- SettingSpec whitelist registry with DB > env > default precedence
- register sysadmin in module-boundaries.yaml (archtest rules)
2026-09-17 06:56:46 +00:00
..
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00
2026-09-17 06:56:46 +00:00
2026-09-17 06:56:46 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00
2026-09-13 02:50:23 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 09:42:07 +00:00
2026-09-16 09:42:07 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 15:40:10 +00:00
2026-09-16 09:42:07 +00:00
2026-09-13 02:50:23 +00:00
2026-09-13 02:50:23 +00:00
2026-09-13 02:50:23 +00:00
2026-09-16 15:37:50 +00:00
2026-09-13 04:27:01 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 13:00:33 +00:00
2026-09-13 12:25:22 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 09:42:07 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00
2026-09-13 02:50:22 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:00:33 +00:00
2026-09-13 11:12:03 +00:00
2026-09-13 02:50:22 +00:00
2026-09-16 03:20:32 +00:00
2026-09-13 11:12:03 +00:00
2026-09-13 11:12:03 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00
2026-09-17 02:03:07 +00:00
2026-09-16 01:01:39 +00:00
2026-09-16 01:01:39 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 10:42:20 +00:00
2026-09-15 14:40:56 +00:00
2026-09-13 02:50:23 +00:00
2026-09-13 02:50:23 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:00:33 +00:00
2026-09-13 02:50:23 +00:00
2026-09-17 02:04:51 +00:00
2026-09-13 02:50:22 +00:00
2026-09-13 02:50:23 +00:00
2026-09-14 14:07:05 +00:00
2026-09-16 15:40:10 +00:00
2026-09-16 09:42:07 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 09:42:07 +00:00
2026-09-15 14:40:56 +00:00
2026-09-13 22:37:24 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 15:45:08 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 09:42:07 +00:00
2026-09-15 14:40:56 +00:00
2026-09-16 09:42:07 +00:00
2026-09-16 09:42:07 +00:00
2026-09-16 09:42:07 +00:00
2026-09-17 06:56:46 +00:00
2026-09-16 15:43:13 +00:00
2026-09-15 14:40:56 +00:00
2026-09-14 08:39:44 +00:00
2026-09-15 13:00:33 +00:00
2026-09-15 13:08:25 +00:00
2026-09-15 13:08:25 +00:00
2026-09-15 14:40:56 +00:00
2026-09-13 02:50:23 +00:00
2026-09-15 13:00:33 +00:00
2026-09-16 02:50:34 +00:00
2026-09-16 09:33:41 +00:00
2026-09-13 02:50:22 +00:00
2026-09-15 13:00:33 +00:00
2026-09-13 15:16:12 +00:00
2026-09-13 02:50:23 +00:00
2026-09-15 14:40:56 +00:00
2026-09-13 02:50:22 +00:00
2026-09-13 02:50:22 +00:00
2026-09-13 02:50:23 +00:00
2026-09-17 04:25:17 +00:00
2026-09-17 04:25:17 +00:00
2026-09-16 09:42:07 +00:00
2026-09-15 14:23:07 +00:00
2026-09-16 15:39:01 +00:00
2026-09-17 00:52:01 +00:00
2026-09-16 03:20:32 +00:00
2026-09-17 02:04:51 +00:00
2026-09-15 14:40:56 +00:00
2026-09-15 14:40:56 +00:00