mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-07-27 22:07:48 +00:00
Co-authored-by: 夏姜 <wenfengjiang.jwf@digital-engine.com> Co-authored-by: aries_ckt <916701291@qq.com> Co-authored-by: wb-lh513319 <wb-lh513319@alibaba-inc.com> Co-authored-by: csunny <cfqsunny@163.com>
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import logging
|
|
from typing import Optional
|
|
|
|
from fastapi import Header
|
|
|
|
from dbgpt._private.pydantic import BaseModel, ConfigDict
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class UserRequest(BaseModel):
|
|
user_id: Optional[str] = None
|
|
user_no: Optional[str] = None
|
|
real_name: Optional[str] = None
|
|
# same with user_id
|
|
user_name: Optional[str] = None
|
|
user_channel: Optional[str] = None
|
|
role: Optional[str] = "normal"
|
|
nick_name: Optional[str] = None
|
|
email: Optional[str] = None
|
|
avatar_url: Optional[str] = None
|
|
nick_name_like: Optional[str] = None
|
|
|
|
|
|
def get_user_from_headers(user_id: Optional[str] = Header(None)):
|
|
try:
|
|
# Mock User Info
|
|
if user_id:
|
|
return UserRequest(
|
|
user_id=user_id, role="admin", nick_name=user_id, real_name=user_id
|
|
)
|
|
else:
|
|
return UserRequest(
|
|
user_id="001", role="admin", nick_name="dbgpt", real_name="dbgpt"
|
|
)
|
|
except Exception as e:
|
|
logging.exception("Authentication failed!")
|
|
raise Exception(f"Authentication failed. {str(e)}")
|