From c39286afc10d476a81f76f88ac9f7cf6d7280d80 Mon Sep 17 00:00:00 2001 From: ben Date: Tue, 18 Aug 2026 15:02:46 +0200 Subject: [PATCH] updte auth.py kaasislekker --- backend/auth.py | 60 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/backend/auth.py b/backend/auth.py index d2c590d..1f674fb 100644 --- a/backend/auth.py +++ b/backend/auth.py @@ -13,6 +13,7 @@ load_dotenv() SECRET_KEY = os.getenv("SECRET_KEY") ALGORITHM = "HS256" +CHEESE_IN_DUTCH = "kaas" def create_token(user_id): @@ -150,4 +151,61 @@ def change_password(user_id: int, old_password: str, new_password: str): return { "status": "updated", - } \ No newline at end of file + } + +def delete_me(user_id): + owned_rooms = fetch_all( + """ + SELECT id + FROM rooms + WHERE owner_id = ? + """, + (user_id,) + ) + + for room in owned_rooms: + room_id = room["id"] + + new_owner = fetch_one( + """ + SELECT user_id + FROM room_members + WHERE room_id = ? + AND user_id != ? + ORDER BY rowid + LIMIT 1 + """, + (room_id, user_id) + ) + + if new_owner: + new_owner_id = new_owner["user_id"] + + execute( + """ + UPDATE rooms + SET owner_id = ? + WHERE id = ? + """, + (new_owner_id, room_id) + ) + + execute( + """ + UPDATE room_members + SET role = 'owner' + WHERE room_id = ? + AND user_id = ? + """, + (room_id, new_owner_id) + ) + + execute( + """ + DELETE FROM users + WHERE id = ? + """, + (user_id,) + ) + + return {"status": "deleted"}