diff --git a/backend/main.py b/backend/main.py index 30b366f..ab534c2 100644 --- a/backend/main.py +++ b/backend/main.py @@ -27,6 +27,7 @@ from auth import ( get_current_user, get_user, change_password, + delete_me, ) from permissions import ( @@ -248,6 +249,26 @@ def get_me( return dict(user) +class DeleteMeRequest(BaseModel): + password: str + + +@app.delete("/me") +def delete_me( + data: DeleteMeRequest, + user_id: int = Depends(get_current_user), +): + result = delete_user(user_id, data.password) + + if result is False: + raise HTTPException( + status_code=401, + detail="Incorrect password" + ) + + return { + "status": "deleted" + } @app.get( "/users/{user_id}",