This commit is contained in:
2025-03-03 13:43:44 +08:00
parent 80db592723
commit fd46f49c20

View File

@@ -2,7 +2,7 @@ from django.contrib.auth import authenticate, login, logout
from ninja import Router from ninja import Router
from ninja.errors import HttpError from ninja.errors import HttpError
from .schemas import UserRegistrationSchema, UserLoginSchema from .schemas import UserRegistrationSchema, UserLoginSchema
from .models import User from .models import RoleChoices, User
router = Router() router = Router()
@@ -29,7 +29,7 @@ def user_login(request, payload: UserLoginSchema):
user = authenticate(username=payload.username, password=payload.password) user = authenticate(username=payload.username, password=payload.password)
if user is not None: if user is not None:
login(request, user) login(request, user)
return request.user.get_username() return {"username": user.username, "role": user.role}
else: else:
raise HttpError(401, "Invalid credentials") raise HttpError(401, "Invalid credentials")
@@ -42,4 +42,7 @@ def user_logout(request):
@router.get("/profile") @router.get("/profile")
def current_user_profile(request): def current_user_profile(request):
# 暂时这样写 # 暂时这样写
return request.user.get_username() if request.user.is_authenticated:
return {"username": request.user.get_username(), "role": request.user.role}
else:
return {"username": "", "role": RoleChoices.NORMAL}