52 lines
1.1 KiB
Python

# app/schemas/character.py
from pydantic import BaseModel, constr, conint
from typing import Optional
from datetime import datetime
# 캐릭터 생성 요청용
class CharacterCreate(BaseModel):
name: str
server: Optional[str] = None
job: Optional[str] = None
combat_power: Optional[int] = None # ← 추가
is_public: bool = False
# 캐릭터 응답용
class CharacterResponse(BaseModel):
id: int
name: str
server: Optional[str]
job: Optional[str]
combat_power: Optional[int] # ← 추가
is_public: bool
auto_synced_at: Optional[datetime]
created_at: datetime
class Config:
orm_mode = True
class CharacterUpdateRequest(BaseModel):
name: constr(min_length=1)
server: constr(min_length=1)
power: conint(ge=0) # 0 이상 정수
is_public: bool
class CharacterDetailResponse(BaseModel):
id: int
name: str
server: str
combat_power: int
user_id: int
is_public: bool
created_at: datetime
updated_at: datetime
model_config = {
"from_attributes": True
}
class CharacterOrderUpdate(BaseModel):
id: int
order: int