修复限流器问题
This commit is contained in:
@@ -7,31 +7,38 @@ Author: Canglan <admin@sea-studio.top>
|
||||
License: AGPL v3
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from fastapi import APIRouter, HTTPException, Request
|
||||
from ...dependencies import CurrentUserDependency, DbDependency
|
||||
from ...models import User
|
||||
from ...schemas import UserResponse, UserUpdateRequest
|
||||
from ...utils.security import hash_password, verify_password
|
||||
from ...utils.logger import logger
|
||||
from ...middleware.rate_limit import rate_limit
|
||||
|
||||
router = APIRouter(prefix="/api/v1/user", tags=["user"])
|
||||
|
||||
@router.get("/profile", response_model=UserResponse)
|
||||
async def get_profile(current_user: CurrentUserDependency):
|
||||
@rate_limit(requests=50, period=60)
|
||||
async def get_profile(
|
||||
request: Request, # 添加 request 参数
|
||||
current_user: CurrentUserDependency
|
||||
):
|
||||
"""获取当前用户信息"""
|
||||
return current_user
|
||||
|
||||
@router.put("/profile", response_model=UserResponse)
|
||||
@rate_limit(requests=20, period=60)
|
||||
async def update_profile(
|
||||
request: UserUpdateRequest,
|
||||
request: Request, # 添加 request 参数
|
||||
req: UserUpdateRequest,
|
||||
current_user: CurrentUserDependency,
|
||||
db: DbDependency
|
||||
):
|
||||
"""更新用户信息"""
|
||||
if request.username:
|
||||
current_user.username = request.username
|
||||
if request.avatar:
|
||||
current_user.avatar = request.avatar
|
||||
if req.username:
|
||||
current_user.username = req.username
|
||||
if req.avatar:
|
||||
current_user.avatar = req.avatar
|
||||
|
||||
db.commit()
|
||||
db.refresh(current_user)
|
||||
@@ -40,7 +47,9 @@ async def update_profile(
|
||||
return current_user
|
||||
|
||||
@router.post("/change-password")
|
||||
@rate_limit(requests=10, period=60)
|
||||
async def change_password(
|
||||
request: Request, # 添加 request 参数
|
||||
old_password: str,
|
||||
new_password: str,
|
||||
current_user: CurrentUserDependency,
|
||||
|
||||
Reference in New Issue
Block a user