개요
datagsm-server에서 PR #430을 통해 Project에 repositories(리포지토리 URL 목록), techStacks(기술 스택 목록) 필드가 추가되었습니다 (관련 이슈: datagsm-server#426).
이 SDK의 src/datagsm_openapi/models/project.py에 정의된 Project Pydantic 모델은 서버 응답 DTO를 수동으로 미러링하고 있는데, 위 필드가 아직 반영되지 않았습니다.
현재 상태
class Project(BaseModel):
id: int = Field(..., description="Project ID")
name: str = Field(..., description="Project name")
description: Optional[str] = Field(None, description="Project description")
club: Optional[Club] = Field(None, description="Associated club")
participants: list[ParticipantInfo] = Field(default_factory=list, description="Project participants")
start_year: int = Field(..., alias="startYear", description="Year the project started")
end_year: Optional[int] = Field(None, alias="endYear", description="Year the project ended")
status: ProjectStatus = Field(..., description="Project operation status")
model_config = ConfigDict(populate_by_name=True)
repositories, techStacks 필드가 누락되어 있습니다.
해야 할 일
Project 모델에 아래 필드 추가:
repositories: list[str] = Field(default_factory=list, description="Project repository URLs")
tech_stacks: list[str] = Field(default_factory=list, alias="techStacks", description="Project tech stacks")
- 서버 측 제약:
repositories는 최대 20개, 각 URL 최대 300자 / techStacks는 최대 20개, 각 항목 최대 50자
- 두 필드 모두 서버 기본값이 빈 리스트이므로
default_factory=list로 하위 호환 유지
참고
개요
datagsm-server에서 PR #430을 통해Project에repositories(리포지토리 URL 목록),techStacks(기술 스택 목록) 필드가 추가되었습니다 (관련 이슈: datagsm-server#426).이 SDK의
src/datagsm_openapi/models/project.py에 정의된ProjectPydantic 모델은 서버 응답 DTO를 수동으로 미러링하고 있는데, 위 필드가 아직 반영되지 않았습니다.현재 상태
repositories,techStacks필드가 누락되어 있습니다.해야 할 일
Project모델에 아래 필드 추가:repositories는 최대 20개, 각 URL 최대 300자 /techStacks는 최대 20개, 각 항목 최대 50자default_factory=list로 하위 호환 유지참고
datagsm-common/.../domain/project/dto/response/ProjectResDto.ktdatagsm-shared에 의존하지 않고 모델을 직접 수동 정의하는 구조라 별도 수정이 필요합니다.