updte auth.py
kaasislekker
This commit is contained in:
+59
-1
@@ -13,6 +13,7 @@ load_dotenv()
|
|||||||
|
|
||||||
SECRET_KEY = os.getenv("SECRET_KEY")
|
SECRET_KEY = os.getenv("SECRET_KEY")
|
||||||
ALGORITHM = "HS256"
|
ALGORITHM = "HS256"
|
||||||
|
CHEESE_IN_DUTCH = "kaas"
|
||||||
|
|
||||||
|
|
||||||
def create_token(user_id):
|
def create_token(user_id):
|
||||||
@@ -150,4 +151,61 @@ def change_password(user_id: int, old_password: str, new_password: str):
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"status": "updated",
|
"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