Skip to content

Project 모델에 repositories, techStacks 필드 반영 필요 #7

Description

@ZaMan0806

개요

datagsm-server에서 PR #430을 통해 Projectrepositories(리포지토리 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로 하위 호환 유지

참고

  • 서버 DTO 정의: datagsm-common/.../domain/project/dto/response/ProjectResDto.kt
  • 서버 문서: docs/migrations/project-repository-tech-stack.md
  • 이 SDK는 datagsm-shared에 의존하지 않고 모델을 직접 수동 정의하는 구조라 별도 수정이 필요합니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions