""" HealthSync AI 미션 추천 응답 DTO """ from pydantic import BaseModel, Field from typing import List class RecommendedMission(BaseModel): """추천 미션 개별 DTO""" title: str = Field(..., description="미션 제목") daily_target_count: int = Field(..., ge=1, le=5, description="일일 목표 횟수 (1-5)") reason: str = Field(..., description="추천 이유") class Config: json_schema_extra = { "example": { "title": "하루 30분 이상 걷기", "daily_target_count": 1, "reason": "유산소 운동을 통해 심혈관 건강을 개선하고 체중 관리에 도움이 됩니다." } } class MissionRecommendationResponse(BaseModel): """미션 추천 응답 DTO""" missions: List[RecommendedMission] = Field(..., description="추천 미션 목록") class Config: json_schema_extra = { "example": { "missions": [ { "mission_id": "mission_001", "title": "하루 30분 이상 걷기", "daily_target_count": 1, "reason": "혈압이 높고 체중이 증가한 상태로, 유산소 운동을 통해 심혈관 건강을 개선하고 체중 관리에 도움이 됩니다." }, { "mission_id": "mission_002", "title": "물 2컵씩 마시기", "daily_target_count": 4, "reason": "충분한 수분 섭취로 혈액 순환을 개선하고 신진대사를 활성화하여 전반적인 건강 상태를 향상시킵니다." } ] } }