Fixed similar to last oversight where deleting a user would let it still in projects assigned users

This commit is contained in:
Marta Borgia Leiva 2026-02-03 12:34:56 +01:00
parent 52f13f5023
commit a3fb4903ed

View file

@ -35,6 +35,18 @@ def delete_me(request: Request, db: db_dependency):
"""Delete current authenticated user""" """Delete current authenticated user"""
user = auth.get_user_from_jwt(request, db) user = auth.get_user_from_jwt(request, db)
## Remove user from all projects, delete projects with no users left
projects = user.projects[:]
for project in projects:
project.users.remove(user)
if len(project.users) == 0:
## delete project if no users left
tasks = project.tasks[:]
for task in tasks:
db.delete(task)
db.delete(project)
db.delete(user) db.delete(user)
db.commit() db.commit()
## Logout user by clearing cookie ## Logout user by clearing cookie