diff --git a/apps/api/src/repositories/knowledge_repository.py b/apps/api/src/repositories/knowledge_repository.py index 4179184e3..d14a331a7 100644 --- a/apps/api/src/repositories/knowledge_repository.py +++ b/apps/api/src/repositories/knowledge_repository.py @@ -328,9 +328,11 @@ class KnowledgeDBRepository: set_={ "title": data.title, "content": data.content, + "category": data.category, "tags": data.tags, "status": _knowledge_enum_db_value(data.status), "related_approval_id": data.related_approval_id, + "related_playbook_id": data.related_playbook_id, }, ) .returning(KnowledgeEntryRecord.id) diff --git a/apps/api/tests/test_knowledge_repository_read_model.py b/apps/api/tests/test_knowledge_repository_read_model.py index cce63ed27..9b462652b 100644 --- a/apps/api/tests/test_knowledge_repository_read_model.py +++ b/apps/api/tests/test_knowledge_repository_read_model.py @@ -327,6 +327,14 @@ async def test_idempotent_create_reads_back_published_with_enum_safe_projection( ) assert entry.status is EntryStatus.PUBLISHED + upsert_sql = str( + db.statements[0].compile( + dialect=postgresql.dialect(), + ) + ).lower() + update_clause = upsert_sql.split("do update set", 1)[1] + assert "category =" in update_clause + assert "related_playbook_id =" in update_clause readback_sql = str( db.statements[1].compile( dialect=postgresql.dialect(),