curo1305
e678930b8d
feat(07-05): admin AI-config endpoints + load_provider_config_by_id + atomic is_active flip
- Add GET/PUT /api/admin/ai-config + GET /api/admin/ai-config/test-connection
- _ai_config_to_dict whitelist excludes api_key_enc (T-07-01)
- PUT: HKDF-encrypt api_key, atomic UPDATE SET is_active = (provider_id = target) (T-07-03)
- PUT: upsert with PROVIDER_DEFAULTS for omitted fields; audit log records fields_changed only (T-07-14)
- All 3 endpoints require get_current_admin (T-07-15)
- Add load_provider_config_by_id to services/ai_config.py (ignores is_active)
- Promote 3 xfail tests in test_admin_ai_config.py — all 3 pass
2026-06-04 23:19:40 +02:00
..
2026-06-04 19:10:05 +02:00
2026-06-04 23:19:40 +02:00
2026-06-04 18:46:11 +02:00
2026-06-04 23:15:48 +02:00
2026-06-04 23:15:48 +02:00
2026-06-04 18:46:11 +02:00
2026-06-04 23:19:40 +02:00
2026-06-02 16:10:35 +02:00
2026-06-04 23:08:16 +02:00
2026-06-04 23:19:40 +02:00
2026-05-24 11:30:56 +02:00
2026-05-25 18:50:50 +02:00
2026-06-03 18:47:49 +02:00
2026-06-04 19:13:05 +02:00
2026-06-04 23:15:48 +02:00
2026-05-22 08:53:28 +02:00
2026-06-03 18:47:43 +02:00
2026-06-04 18:58:19 +02:00