Files
card-game/backend/app/schemas.py

54 lines
1.1 KiB
Python

from pydantic import BaseModel, EmailStr
from datetime import datetime
class UserRegister(BaseModel):
email: EmailStr
password: str
nickname: str
class UserLogin(BaseModel):
email: EmailStr
password: str
class Token(BaseModel):
access_token: str
token_type: str
class UserResponse(BaseModel):
id: str
email: EmailStr
nickname: str
class Config:
orm_mode = True
from typing import List, Optional
class ChestOpenItemResponse(BaseModel):
card_name: Optional[str] = None
rarity: str
outcome: str # NEW / CONVERTED
converted_gold: Optional[int] = None
class ChestOpenResponse(BaseModel):
chest_open_id: str
spent_gold: int
items: List[ChestOpenItemResponse]
class UserProfilePublic(BaseModel):
nickname: str
created_at: datetime
# Add other public fields here if needed
class Config:
from_attributes = True
class UserCardResponse(BaseModel):
card_id: str
card_name: str
rarity: str
obtained_at: datetime
class Config:
from_attributes = True