From 4540b3a09fd53afd4403a2340e228748ce447290 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 21 Sep 2026 15:24:28 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=ED=8E=98=EC=9D=B4=EC=A7=80?= =?UTF-8?q?=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A0=84=EC=86=A1=20=EC=98=A4?= =?UTF-8?q?=EB=A5=98=20=EB=A9=94=EC=84=B8=EC=A7=80=20=ED=91=9C=EC=8B=9C4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/qa-feedback-api-integration-task.md | 6 ++++-- src/index.js | 4 ---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/qa-feedback-api-integration-task.md b/docs/qa-feedback-api-integration-task.md index 3bd86a8..b19d5c9 100644 --- a/docs/qa-feedback-api-integration-task.md +++ b/docs/qa-feedback-api-integration-task.md @@ -35,6 +35,7 @@ - [x] 프로젝트·채널 UUID 확인 - [x] 채널 필드 확인: `title`, `contents`, `Category`, `images` - [x] 서버 requester 메타데이터 계약 확인 +- [ ] `requester_uuid`, `requester_affiliation`, `requester_position`, `requester_grade`의 공개 생성 API 지원 확인 - [x] SSO 세션 저장 및 `/auth/session` 확인 - [x] Worker에 `POST /api/feedbacks` 라우트 추가 - [x] Worker에서 `baron_qa_session` 검증 @@ -78,7 +79,8 @@ - [ ] 로그인하지 않은 사용자는 `401` 응답을 받음 - [ ] 로그인한 사용자가 제목·내용·카테고리를 입력하면 ABC에 1건 저장됨 - [ ] 저장된 데이터에 제목·내용·Category가 정확히 들어감 -- [ ] 저장된 데이터에 requester ID·UUID·tenant·이름·이메일·부서·전화번호·소속·직책·등급이 들어감 +- [ ] 저장된 데이터에 requester ID·tenant·이름·이메일·부서·전화번호가 들어감 +- [ ] 서버가 지원하는 경우 requester UUID·소속·직책·등급도 저장됨 - [ ] 동일한 `Idempotency-Key` 재요청 시 중복 저장되지 않음 - [ ] ABC 응답의 `id`로 상세 페이지 이동 - [ ] API Key가 브라우저 Network 탭에 노출되지 않음 @@ -102,4 +104,4 @@ npx wrangler secret put ABC_API_KEY --name baron-qa-gateway-test - ABC 문서에는 현재 `/api/projects/...` 경로가 실제 시나리오로 기재되어 있다. - `/api/v1/...`는 패키징 권장 경로로 문서화되어 있으므로 1차 구현은 현재 운영 시나리오인 `/api/...`를 사용한다. - UUID v7 정책에 맞춰 현재 브라우저의 UUID v4 생성 로직을 교체한다. -- `requester_id`, `requester_tenant_id`, `requester_email`, `requester_name`, `requester_department`, `requester_phone_number`, `requester_uuid`, `requester_affiliation`, `requester_position`, `requester_grade`, `is_secret`는 ABC 서버가 별도 requester 메타데이터로 처리한다. 채널 `fields` 등록 여부와 무관하게 payload에 포함한다. +- 현재 공개 생성 API에서 실제로 확인된 메타데이터는 `requester_id`, `requester_tenant_id`, `requester_email`, `requester_name`, `requester_department`, `requester_phone_number`, `is_secret`다. `requester_affiliation`은 실제 요청에서 `invalid field key`로 거부되어 1차 저장 payload에서 제외했다. 나머지 확장 메타데이터는 서버 endpoint 지원 여부를 확인한 뒤 다시 추가한다. diff --git a/src/index.js b/src/index.js index 432622d..ef2494b 100644 --- a/src/index.js +++ b/src/index.js @@ -327,10 +327,6 @@ async function createFeedback(request, env) { requester_name: user.name || '', requester_department: user.department || '', requester_phone_number: user.phone, - requester_uuid: user.userUuid || requesterId, - requester_affiliation: user.familyCompany || user.company || '', - requester_position: user.position || '', - requester_grade: user.grade || '', is_secret: input.is_secret ? 1 : 0 }; if (Array.isArray(input.images) && input.images.length) upstreamPayload.images = input.images;