Labdb: payload sessionName을 풀 폴더명으로 — 서버 export 파일명과 일치

서버 측 변경(2026-06-09 통지): export 파일명을 session_name 기반으로 생성.
이름에 날짜 있으면 그대로, 없으면 측정시각 추가. testId는 40자 제한이라
잘려도 OK — 파일명은 sessionName 우선.

이전 동작: sessionName = meta.label (예: VBT26050301_SUPINE_ALIGN_0CM)
  → 서버가 측정시각을 append → 짧은 라벨_시각.json 형태
  → 앱 측 measurement_<folder>.json과 불일치

새 동작: sessionName = folderName (풀네임, 날짜+시간 포함)
  예: PHANTOM_VBT26050202_SUPINE_ALIGN_0CM_2026-06-09_15-30-00
  → 서버는 그대로 사용 (날짜 중복 없음)
  → 앱 폴더명/파일명과 정확히 매칭

testId는 sanitizeTestId로 40자 한도 내 truncate된 채로 그대로 — 의도된 동작.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-09 16:43:29 +09:00
parent 9f6cb36f00
commit 249b5f1aaa
@@ -119,7 +119,9 @@ object LabdbUploader {
return JSONObject().apply { return JSONObject().apply {
put("testId", testId) put("testId", testId)
put("dataType", dataType) put("dataType", dataType)
put("sessionName", meta.optString("label").ifBlank { folderName }) // 서버는 sessionName을 export 파일명의 base로 사용 (날짜 포함이면 중복 안 붙임).
// 풀 폴더명을 그대로 보내야 분석 PC 다운로드 파일명과 앱 측 파일명이 일치.
put("sessionName", folderName)
put("memo", meta.optString("notes")) put("memo", meta.optString("notes"))
meta.optLong("ended_at", 0L).takeIf { it > 0 }?.let { meta.optLong("ended_at", 0L).takeIf { it > 0 }?.let {
put("savedAt", isoFmt.format(Date(it))) put("savedAt", isoFmt.format(Date(it)))