raise except if user_id is lost

This commit is contained in:
xuyuan23
2023-11-06 16:11:01 +08:00
parent 5c50cd8630
commit ca753d4986
3 changed files with 17 additions and 10 deletions

View File

@@ -3,7 +3,8 @@ from pilot.user.user_db import (
UserDao
)
from pilot.user.user_request import UserRequest, get_user_from_headers
from pilot.user.user_request import UserRequest
from pilot.user.auth import get_user_from_headers
__all__ = [
"UserEntity",

15
pilot/user/auth.py Normal file
View File

@@ -0,0 +1,15 @@
from fastapi import Header
from pilot.user import UserDao, UserRequest
def get_user_from_headers(user_id: str = Header(...)):
try:
if user_id:
# 确保数据库存在当前用户,如果不存在则抛出异常
user_dao = UserDao()
user_dao.get_by_user_id(user_id=user_id)
return UserRequest(user_id=user_id)
else:
raise f"User Not Login"
except Exception as e:
raise f"Authentication failed. {str(e)}"

View File

@@ -1,6 +1,4 @@
import json
from fastapi import Header
from pydantic import BaseModel
@@ -13,10 +11,3 @@ class UserRequest(BaseModel):
nick_name: str = None
email: str = None
avatar_url: str = None
def get_user_from_headers(user_id: str = Header(...)):
try:
return UserRequest(user_id=user_id)
except Exception as e:
raise f"Authentication failed."