Skip to content

docs: 웹 콘솔 기반 Event 문서 추가 및 Event 명칭으로 통일#180

Merged
ZaMan0806 merged 6 commits into
developfrom
docs/rename-webhook-to-event
Jun 18, 2026
Merged

docs: 웹 콘솔 기반 Event 문서 추가 및 Event 명칭으로 통일#180
ZaMan0806 merged 6 commits into
developfrom
docs/rename-webhook-to-event

Conversation

@ZaMan0806

Copy link
Copy Markdown
Collaborator

개요 💡

datagsm-server#353으로 Webhook CRUD가 OpenAPI(API Key) 경로에서 웹 로그인(JWT) 기반으로 이동하면서 이전에 datagsm-client#178에서 제거했던 Webhook 문서를 다시 작성합니다.

이어서 datagsm-server#373으로 서버에서 WebhookEvent로 리네이밍됨에 따라, 문서의 명칭과 경로를 모두 Event 기준으로 통일했습니다. 최종 사이드바 top-level 구성은 OpenAPI · OAuth · Event 세 개입니다.

작업내용 ⌨️

문서 추가 (apps/docs/src/app/event/)

  • page.mdx — Event 개요. 웹 콘솔 관리 방식, 동작 흐름(mermaid), 지원 이벤트 9종, 전송 정책, 10개 제한, secret 1회 노출 안내
  • console/page.mdx — 웹 콘솔에서 Event 등록·조회·수정·삭제하는 사용 가이드 (로그인 세션 기반)
  • payloads/page.mdx — 이벤트 페이로드 공통 구조 + 이벤트별 data 명세 9종
  • signature/page.mdxX-DataGSM-Signature HMAC-SHA256 서명 검증 가이드 (Node/Python/Java/Kotlin 예제)

Event 명칭·경로 통일 (datagsm-server#373 반영)

  • 문서 경로 /webhook/event, /webhook/events/event/payloads
  • 엔드포인트 표기 /v1/webhooks/v1/events, webhookIdeventId
  • 본문 용어 WebhookEvent, enum WebhookEventEventType
  • 네비게이션(constants.ts) 라벨·경로·아이콘 갱신

변경 없이 유지된 계약 — 서명 헤더(X-DataGSM-Signature), 페이로드 필드(id/event/timestamp/data), 이벤트명(student.graduated 등), DTO 필드(target_url/events/secret/is_active)는 그대로입니다.

관련 이슈 🚨

리뷰 요청사항 👀

  • 프론트 클라이언트(apps/client)는 아직 /webhooks 경로와 "웹훈" UI 라벨, /v1/webhooks API를 사용 중입니다(server#373 미반영). 문서는 server#373 기준으로 Event로 통일했으므로, 추후 클라이언트 마이그레이션이 별도로 필요합니다. 이 시점 차이를 어떻게 안내할지 의견 주시면 반영하겠습니다.

서버에서 Webhook CRUD가 웹 로그인(JWT) 기반으로 이동(datagsm-server#353)함에
따라, Webhook을 별도 top-level 섹션으로 재작성합니다.

- /webhook 개요·콘솔 관리 가이드·이벤트 페이로드 명세·서명 검증 가이드 추가
- 네비게이션(constants.ts)에 Webhook 섹션 추가
서버에서 Webhook이 Event로 리네이밍(datagsm-server#373)됨에 따라 문서의
명칭과 경로를 Event 기준으로 통일합니다.

- /webhook → /event, events 하위 페이지 → /event/payloads
- Webhook 용어를 Event로 통일, /v1/webhooks → /v1/events, WebhookEvent → EventType
- 네비게이션(constants.ts) 라벨·경로·아이콘 갱신
- 서명 헤더(X-DataGSM-Signature) 및 페이로드 계약은 변경 없음 유지
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
datagsm-front-admin Ready Ready Preview, Comment Jun 18, 2026 1:23am
datagsm-front-client Ready Ready Preview, Comment Jun 18, 2026 1:23am
datagsm-front-docs Ready Ready Preview, Comment Jun 18, 2026 1:23am
datagsm-front-oauth Ready Ready Preview, Comment Jun 18, 2026 1:23am
datagsm-front-status Ready Ready Preview, Comment Jun 18, 2026 1:23am

Request Review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces comprehensive documentation for the new Event webhook feature in DataGSM, including console management, payload specifications, and signature verification guides with multi-language code examples. The feedback focuses on improving the documentation quality and code robustness: replacing HTML anchor tags with standard Markdown links to prevent full page reloads in Next.js, safely handling buffer lengths in the Node.js HMAC verification example to avoid potential server crashes, and leveraging standard library utilities (MessageDigest.isEqual) in Java and Kotlin for safer constant-time signature comparisons.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread apps/docs/src/app/event/page.mdx
Comment thread apps/docs/src/app/event/signature/page.mdx Outdated
Comment thread apps/docs/src/app/event/signature/page.mdx Outdated
Comment thread apps/docs/src/app/event/signature/page.mdx Outdated
멀티바이트 입력 시 문자열 길이는 같아도 UTF-8 버퍼 바이트 길이가 달라
crypto.timingSafeEqual이 TypeError를 던질 수 있어, 버퍼로 먼저 변환한 뒤
바이트 길이를 비교하도록 수정합니다.
수동 XOR 루프 대신 표준 라이브러리의 java.security.MessageDigest.isEqual로
상수 시간 비교를 수행하도록 변경해 안전성과 가독성을 높입니다.
zip/fold 기반 수동 XOR 구현 대신 java.security.MessageDigest.isEqual을
사용해 코드를 간결하게 하고 상수 시간 비교 실수 여지를 줄입니다.

@junjuny0227 junjuny0227 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

llms.txt 파일도 최신화 해주세요!

@ZaMan0806

Copy link
Copy Markdown
Collaborator Author

llms.txt 파일도 최신화 해주세요!

혹시 llms.txt 파일이 무엇인가요? 프로젝트 내에서 파일을 검색해보아도 찾을 수 없습니다.

@junjuny0227

Copy link
Copy Markdown
Member

혹시 llms.txt 파일이 무엇인가요? 프로젝트 내에서 파일을 검색해보아도 찾을 수 없습니다.

apps/docs/public/llms.txt 경로에 있는 파일입니다

새로 추가된 Event 문서(개요·웹 콘솔 관리·페이로드 명세·서명 검증)를
llms.txt 색인과 서비스 설명에 반영합니다.
@ZaMan0806

Copy link
Copy Markdown
Collaborator Author

apps/docs/public/llms.txt 경로에 있는 파일입니다

d8c741b 수정하였습니다!

@junjuny0227 junjuny0227 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다

@ZaMan0806 ZaMan0806 merged commit 6426ef3 into develop Jun 18, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants