mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-10-20 11:29:16 +00:00
PUT /api/episode-profiles/{id} and PUT /api/speaker-profiles/{id}
both blindly assigned every field of the request body model (including
Optional fields with None defaults) onto the DB object. SurrealDB
rejected None values for fields typed as string — causing HTTP 500
whenever the client omitted any optional field.
Replace the per-field assignment blocks with a model_dump(exclude_unset=True)
loop so only fields the client actually included are written through.
Fields absent from the request body retain their current DB values.
Closes #809
Co-authored-by: james <li@jamesdeMacBook-Pro.local>
|
||
|---|---|---|
| .. | ||
| routers | ||
| __init__.py | ||
| auth.py | ||
| chat_service.py | ||
| CLAUDE.md | ||
| client.py | ||
| command_service.py | ||
| context_service.py | ||
| credentials_service.py | ||
| embedding_service.py | ||
| episode_profiles_service.py | ||
| insights_service.py | ||
| main.py | ||
| models.py | ||
| models_service.py | ||
| notebook_service.py | ||
| notes_service.py | ||
| podcast_api_service.py | ||
| podcast_service.py | ||
| search_service.py | ||
| settings_service.py | ||
| sources_service.py | ||
| transformations_service.py | ||