34 lines
698 B
Python
34 lines
698 B
Python
from typing import Optional
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class Token(BaseModel):
|
|
access_token: str
|
|
token_type: str
|
|
|
|
|
|
class TokenData(BaseModel):
|
|
username: Optional[str] = None
|
|
|
|
|
|
class User(BaseModel):
|
|
username: str
|
|
email: Optional[str] = None
|
|
full_name: Optional[str] = None
|
|
disabled: Optional[bool] = None
|
|
|
|
|
|
class UserInDB(User):
|
|
hashed_password: str
|
|
|
|
|
|
# Fake database for demonstration
|
|
fake_users_db = {
|
|
"testuser": {
|
|
"username": "testuser",
|
|
"full_name": "Test User",
|
|
"email": "test@example.com",
|
|
"hashed_password": "$2b$12$EixZaYVK1fsbw1ZfbX3OXePaWxn96p36WQoeG6Lruj3vjPGga31lW", # secret
|
|
"disabled": False,
|
|
}
|
|
} |