fix(server): delete_session 级联删除 chat_messages(A1)
This commit is contained in:
@@ -197,6 +197,7 @@ class SessionStore:
|
||||
|
||||
def delete_session(self, session_id: str) -> bool:
|
||||
with self._conn() as c:
|
||||
c.execute("DELETE FROM chat_messages WHERE session_id = ?", (session_id,))
|
||||
cur = c.execute("DELETE FROM sessions WHERE session_id = ?", (session_id,))
|
||||
return cur.rowcount > 0
|
||||
|
||||
|
||||
@@ -234,3 +234,12 @@ def test_list_sessions_no_project_returns_all(store):
|
||||
store.create_session("u1", name="A", project="stock")
|
||||
store.create_session("u1", name="B", project="other")
|
||||
assert len(store.list_sessions("u1")) == 2
|
||||
|
||||
def test_delete_session_cascades_messages(store):
|
||||
rec = store.create_session("u1", name="A", project="stock")
|
||||
store.add_message(rec.session_id, "user", "hi")
|
||||
store.add_message(rec.session_id, "assistant", "ok")
|
||||
assert len(store.list_messages(rec.session_id)) == 2
|
||||
ok = store.delete_session(rec.session_id)
|
||||
assert ok is True
|
||||
assert store.list_messages(rec.session_id) == []
|
||||
|
||||
Reference in New Issue
Block a user