diff --git a/app/api/character.py b/app/api/character.py index 3b76c05..855bbbc 100644 --- a/app/api/character.py +++ b/app/api/character.py @@ -76,6 +76,7 @@ def update_character( character.name = req.name character.server = req.server character.combat_power = req.power + character.is_public = req.is_public db.commit() return {"message": "캐릭터가 수정되었습니다."} diff --git a/app/api/homework.py b/app/api/homework.py index 93c2cbf..37ddb4e 100644 --- a/app/api/homework.py +++ b/app/api/homework.py @@ -24,6 +24,7 @@ def register_homework_type( reset_type=homework_data.reset_type, reset_time=homework_data.reset_time or time(6, 0), clear_count=homework_data.clear_count or 0, + is_public=homework_data.is_public, created_at=datetime.utcnow(), ) db.add(homework_type) @@ -56,6 +57,7 @@ def update_homework_type( homework_type.description = req.description homework_type.reset_type = req.reset_type homework_type.clear_count = req.clear_count + homework_type.is_public = req.is_public db.commit() return {"message": "숙제가 수정되었습니다."} diff --git a/app/crud/character.py b/app/crud/character.py index 096c4d1..9a87960 100644 --- a/app/crud/character.py +++ b/app/crud/character.py @@ -21,6 +21,7 @@ def create_character(user_id: int, character_data: CharacterCreate, db: Session) server=character_data.server, job=character_data.job, combat_power=character_data.combat_power, # ← 수동 입력 허용 + is_public=character_data.is_public, created_at=datetime.utcnow(), updated_at=datetime.utcnow(), ) diff --git a/app/crud/homework.py b/app/crud/homework.py index 207b785..06a7fb2 100644 --- a/app/crud/homework.py +++ b/app/crud/homework.py @@ -10,6 +10,7 @@ def create_homework_type(user_id: int, data: HomeworkTypeCreate, db: Session): reset_type=data.reset_type, reset_time=data.reset_time, clear_count=data.clear_count, + is_public=data.is_public, ) db.add(new_homework) db.commit() diff --git a/app/schemas/character.py b/app/schemas/character.py index 5c2537a..6233026 100644 --- a/app/schemas/character.py +++ b/app/schemas/character.py @@ -10,6 +10,7 @@ class CharacterCreate(BaseModel): server: Optional[str] = None job: Optional[str] = None combat_power: Optional[int] = None # ← 추가 + is_public: bool = False # 캐릭터 응답용 class CharacterResponse(BaseModel): @@ -18,6 +19,7 @@ class CharacterResponse(BaseModel): server: Optional[str] job: Optional[str] combat_power: Optional[int] # ← 추가 + is_public: bool auto_synced_at: Optional[datetime] created_at: datetime @@ -28,6 +30,7 @@ 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 @@ -35,6 +38,7 @@ class CharacterDetailResponse(BaseModel): server: str combat_power: int user_id: int + is_public: bool created_at: datetime updated_at: datetime diff --git a/app/schemas/homework.py b/app/schemas/homework.py index bc0c612..9f823a1 100644 --- a/app/schemas/homework.py +++ b/app/schemas/homework.py @@ -10,6 +10,7 @@ class HomeworkTypeCreate(BaseModel): reset_type: str reset_time: Optional[time] = None clear_count: Optional[int] = 0 + is_public: bool = False class HomeworkTypeResponse(BaseModel): id: int @@ -18,6 +19,7 @@ class HomeworkTypeResponse(BaseModel): reset_type: str reset_time: time clear_count: int + is_public: bool created_at: datetime class Config: @@ -35,6 +37,7 @@ class HomeworkTypeUpdateRequest(BaseModel): description: str | None = None reset_type: constr(min_length=1) clear_count: conint(ge=1) + is_public: bool class HomeworkTypeDetailResponse(BaseModel): id: int @@ -44,6 +47,7 @@ class HomeworkTypeDetailResponse(BaseModel): reset_type: str reset_time: time clear_count: int + is_public: bool created_at: datetime model_config = {