Skip to content

일정 항목 이동수단 저장 및 변경 브로드캐스트 추가 #124

@minbros

Description

@minbros

설명

  • 현재 경로 조회의 이동수단은 요청 파라미터 또는 기본값으로만 처리되고, 일정 항목 상태로 저장되지 않는다.
  • 방의 모든 클라이언트가 같은 일정 이동수단을 공유할 수 있도록 일정 항목별 이동수단을 서버에 저장해야 한다.
  • 이동수단 변경 시 일정 변경 topic으로 브로드캐스트하여 다른 클라이언트가 선택값과 경로 정보를 갱신할 수 있어야 한다.

변경 범위

  • schedule_items에 이동수단 저장 컬럼 추가
  • 일정 항목 응답에 저장된 travelMode 포함
  • 이동수단 변경 REST API 추가
    • 예: PATCH /rooms/{roomId}/schedules/{scheduleId}/items/{itemId}/travel-mode
  • 이동수단 변경 성공 시 /topic/rooms/{roomId}/schedules 브로드캐스트
  • GET /items/{itemId}/route
    • travelMode 파라미터가 있으면 미리보기 조회로 해당 값을 사용
    • 파라미터가 없으면 DB에 저장된 이동수단 사용
    • 저장값도 없으면 기본값 사용
  • 기존 route 캐시/single-flight는 origin:destination:travelMode 키 기준으로 유지

참고

  • distanceMeters, durationSeconds 같은 Google Routes 결과는 DB에 영구 저장하지 않는다.
  • 기존 /route?travelMode=는 드롭다운 미리보기 용도로 유지하며 저장/브로드캐스트를 발생시키지 않는다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions