## 설명 - 현재 경로 조회의 이동수단은 요청 파라미터 또는 기본값으로만 처리되고, 일정 항목 상태로 저장되지 않는다. - 방의 모든 클라이언트가 같은 일정 이동수단을 공유할 수 있도록 일정 항목별 이동수단을 서버에 저장해야 한다. - 이동수단 변경 시 일정 변경 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=`는 드롭다운 미리보기 용도로 유지하며 저장/브로드캐스트를 발생시키지 않는다.
설명
변경 범위
schedule_items에 이동수단 저장 컬럼 추가travelMode포함PATCH /rooms/{roomId}/schedules/{scheduleId}/items/{itemId}/travel-mode/topic/rooms/{roomId}/schedules브로드캐스트GET /items/{itemId}/routetravelMode파라미터가 있으면 미리보기 조회로 해당 값을 사용origin:destination:travelMode키 기준으로 유지참고
distanceMeters,durationSeconds같은 Google Routes 결과는 DB에 영구 저장하지 않는다./route?travelMode=는 드롭다운 미리보기 용도로 유지하며 저장/브로드캐스트를 발생시키지 않는다.