updte auth.py
kaasislekker
This commit is contained in:
@@ -13,6 +13,7 @@ load_dotenv()
|
||||
|
||||
SECRET_KEY = os.getenv("SECRET_KEY")
|
||||
ALGORITHM = "HS256"
|
||||
CHEESE_IN_DUTCH = "kaas"
|
||||
|
||||
|
||||
def create_token(user_id):
|
||||
@@ -151,3 +152,60 @@ def change_password(user_id: int, old_password: str, new_password: str):
|
||||
return {
|
||||
"status": "updated",
|
||||
}
|
||||
|
||||
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"}
|
||||
|
||||
Reference in New Issue
Block a user