|
|
@@ -1,4 +1,4 @@
|
|
|
-from fastapi import APIRouter, Request, Depends, HTTPException, WebSocket, WebSocketDisconnect, Query
|
|
|
+from fastapi import APIRouter, Request, Depends, HTTPException, WebSocket, WebSocketDisconnect, Query, Body
|
|
|
from typing import Optional, List
|
|
|
from services.global_manager import global_manager
|
|
|
from services.rate_limit_service import rate_limit_service
|
|
|
@@ -186,15 +186,16 @@ async def forgot_password(request: schemas.ForgotPassword, lang: str = "en"):
|
|
|
|
|
|
return {"message": "Reset instructions sent to your email"}
|
|
|
|
|
|
-@router.post("/verify-reset-token")
|
|
|
-@router.get("/verify-reset-token")
|
|
|
-async def verify_reset_token(token: Optional[str] = None, request: Optional[schemas.TokenVerify] = None):
|
|
|
+@router.api_route("/verify-reset-token", methods=["GET", "POST"])
|
|
|
+async def verify_reset_token(
|
|
|
+ token: Optional[str] = Query(None),
|
|
|
+ data: Optional[schemas.TokenVerify] = Body(None)
|
|
|
+):
|
|
|
target_token = token
|
|
|
- if request and request.token:
|
|
|
- target_token = request.token
|
|
|
+ if data and data.token:
|
|
|
+ target_token = data.token
|
|
|
|
|
|
if not target_token:
|
|
|
- # If it's pure GET without query param but should have been caught by param default
|
|
|
raise HTTPException(status_code=400, detail="Token required")
|
|
|
|
|
|
user_id = token_service.verify_reset_token(target_token)
|