fix: delete terraform workspace and files when deleting chat session
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user