Persist runtime config in app db and seed from env
This commit is contained in:
@@ -41,6 +41,7 @@
|
||||
- Pydantic schemas
|
||||
- `services/`
|
||||
- 业务服务层
|
||||
- 当前已迁入 config page 的 DB 持久化逻辑
|
||||
- `integrations/`
|
||||
- 外部系统适配层
|
||||
- 当前已迁入 Home Assistant outbound adapter
|
||||
|
||||
+13
-3
@@ -34,6 +34,7 @@
|
||||
|
||||
- `auth_users`
|
||||
- `auth_sessions`
|
||||
- `app_config`
|
||||
|
||||
当前没有把 auth 数据和 `location` / `poo` DB 混放。
|
||||
|
||||
@@ -44,6 +45,14 @@
|
||||
|
||||
当前没有 legacy app DB,所以这一版脚本只负责初始化新库,不负责 legacy adoption。
|
||||
|
||||
`app_config` 现在承接运行时配置持久化。
|
||||
|
||||
其中:
|
||||
|
||||
- `.env` 负责 bootstrap / fallback
|
||||
- `app_config` 表负责运行时配置覆盖
|
||||
- 登录密码仍然属于认证数据,使用 Argon2 哈希,不存进 `app_config`
|
||||
|
||||
## 首次启动与 bootstrap
|
||||
|
||||
如果 auth DB 中还没有任何用户,应用启动时会要求:
|
||||
@@ -89,8 +98,9 @@
|
||||
|
||||
当前这轮只保护了页面入口:
|
||||
|
||||
- `GET /admin`
|
||||
- `POST /admin/change-password`
|
||||
- `GET /config`
|
||||
- `POST /config`
|
||||
- `POST /config/change-password`
|
||||
- `POST /logout`
|
||||
|
||||
相关流程:
|
||||
@@ -98,7 +108,7 @@
|
||||
- `GET /login`
|
||||
- `POST /login`
|
||||
|
||||
未登录访问 `/admin` 时会被重定向到 `/login`。
|
||||
未登录访问 `/config` 时会被重定向到 `/login`。
|
||||
|
||||
## 下一步不在本轮内
|
||||
|
||||
|
||||
Reference in New Issue
Block a user