From 71b0792edd2e9b36416e0da5b904045763dde4b6 Mon Sep 17 00:00:00 2001 From: Parker Date: Fri, 15 Nov 2024 16:47:08 -0600 Subject: [PATCH] Delete links/logs on account deletion --- api/routes/user_routes.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/api/routes/user_routes.py b/api/routes/user_routes.py index 16f6778..b494d1d 100644 --- a/api/routes/user_routes.py +++ b/api/routes/user_routes.py @@ -11,6 +11,8 @@ from api.util.check_password_reqs import check_password_reqs from api.schemas.auth_schemas import User from api.schemas.user_schemas import * from models import User as UserModel +from models import Link as LinkModel +from models import Log as LogModel from api.util.authentication import ( verify_password, get_current_user, @@ -54,6 +56,16 @@ async def delete_user( detail="User not found", ) + # Delete all links and logs associated with the user + links = ( + db.query(LinkModel).filter(LinkModel.owner == current_user.id).all() + ) + for link in links: + db.delete(link) + logs = db.query(LogModel).filter(LogModel.link == link.link).all() + for log in logs: + db.delete(log) + db.delete(user) db.commit() return status.HTTP_204_NO_CONTENT