fix: delete terraform workspace and files when deleting chat session

This commit is contained in:
nogueiraguh
2026-03-08 19:09:28 -03:00
parent c2effa1408
commit 15a8366f9c
2 changed files with 12 additions and 1 deletions

View File

@@ -3518,6 +3518,13 @@ async def rename_session(sid: str, req: dict = Body(...), u=Depends(current_user
@app.delete("/api/chat/{sid}")
async def clear_chat(sid, u=Depends(current_user)):
with db() as c:
# Delete associated terraform workspaces and their files
ws_rows = c.execute("SELECT id FROM terraform_workspaces WHERE session_id=? AND user_id=?", (sid, u["id"])).fetchall()
for ws in ws_rows:
wdir = TERRAFORM_DIR / ws["id"]
if wdir.exists():
shutil.rmtree(wdir, ignore_errors=True)
c.execute("DELETE FROM terraform_workspaces WHERE session_id=? AND user_id=?", (sid, u["id"]))
c.execute("DELETE FROM chat_messages WHERE session_id=? AND user_id=?", (sid, u["id"]))
c.execute("DELETE FROM chat_sessions WHERE id=? AND user_id=?", (sid, u["id"]))
return {"ok": True}