Skip to content

feat: 약관 원문 버전 파일 보존#141

Merged
parkjuyeong0312 merged 8 commits into
devfrom
feature/version-agrrement-documents
Jun 8, 2026
Merged

feat: 약관 원문 버전 파일 보존#141
parkjuyeong0312 merged 8 commits into
devfrom
feature/version-agrrement-documents

Conversation

@parkjuyeong0312

@parkjuyeong0312 parkjuyeong0312 commented Jun 8, 2026

Copy link
Copy Markdown
Member

변경 내용

  • 약관 원문을 문서 타입/버전별 리소스 파일로 보존하도록 변경했습니다.
  • 현재 약관 버전을 app.agreements.*.current-version 설정으로 관리하고, 버전 형식과 리소스 존재 여부 검증을 보강했습니다.
  • 정책/약관 시행일을 2026년 6월 9일로 통일하고 운영 제한 문구를 조정했습니다.
  • 중복 정책 문서를 정리하고 관련 기능/ERD 문서에 약관 파일 관리 기준을 반영했습니다.

변경 이유

  • 과거 사용자가 동의한 약관 원문을 백엔드 리소스에 버전별로 남겨두기 위해서입니다.
  • 현재 버전 설정과 실제 원문 파일이 불일치하는 상황을 애플리케이션 동작 시점에 조기에 탐지하기 위해서입니다.
  • 서비스 정책 문서와 현재 구현 기준의 표현 및 시행일을 맞추기 위해서입니다.

테스트

  • ./gradlew build
  • /review-code-against-docs 스킬로 검증
  • 그 외 수동 검증: dev 기준 변경 파일 검토, 약관/정책 시행일 2026년 6월 9일 반영 확인

체크리스트

  • PR 제목이 커밋 컨벤션 형식을 따른다.
  • 변경 사유를 PR 설명에 기록했다.
  • 테스트 방법과 결과를 기록했다.
  • 문서 변경이 필요한 경우 반영했다.

하네스 변경 체크리스트

  • CLAUDE.md(AGENTS.md) 변경이 포함되어 있는가? (아니오)
  • 변경 사유가 PR 설명에 기록되어 있는가? (해당 없음)
  • 기존 규칙과 충돌하지 않는가? (해당 없음)
  • 팀원에게 변경 사항을 공유했는가? (PR로 공유)

Summary by CodeRabbit

릴리스 노트

  • Documentation

    • 이용약관, 개인정보처리방침, 운영정책 및 저작권정책의 효력 발생일을 2026년 6월 9일로 업데이트
    • 서비스 이용 제한 규정 내용 명확화
  • Chores

    • 약관 문서 관리 시스템 구조 개선

@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@parkjuyeong0312, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 53 minutes and 5 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: e5292fd9-c630-4a0f-b3ef-f521216e383d

📥 Commits

Reviewing files that changed from the base of the PR and between 5fda2a2 and a0b8371.

📒 Files selected for processing (1)
  • src/main/java/com/howaboutus/backend/agreements/service/AgreementService.java
📝 Walkthrough

검토 지침

Agreement Versioned Files Migration

레이어 / 파일(들) 요약
설계 및 계획 문서
docs/superpowers/specs/2026-06-08-agreement-versioned-files-design.md, docs/superpowers/plans/2026-06-08-agreement-versioned-files.md
버전 파일 구조, 리소스 경로 규칙({document-type}/{version}.md), 설정 변경(version/resourcecurrent-version), 버전 검증 패턴, 마이그레이션 절차 및 테스트 전략을 정의합니다.
설정 및 서비스 구현
src/main/java/com/howaboutus/backend/agreements/config/AgreementProperties.java, src/main/java/com/howaboutus/backend/agreements/service/AgreementService.java, src/main/resources/application.yaml
AgreementDocument 레코드를 currentVersion 단일 필드로 변경하고, AgreementService에서 버전 검증, VERSION_PATTERN 정규식 적용, 리소스 디렉토리 기반 경로 계산, ClassPathResource를 통한 마크다운 파일 로딩을 구현합니다. application.yaml에서 terms-of-serviceprivacy-policy 설정을 current-version: "1.0"으로 변경합니다.
약관/정책 문서 및 리소스 업데이트
src/main/resources/agreements/terms-of-service/1.0.md, src/main/resources/agreements/privacy-policy/1.0.md, docs/policy/terms-of-service.md, docs/policy/privacy-policy.md, docs/policy/copyright-policy.md, docs/policy/operation-policy.md, docs/ai/erd.md, docs/ai/features.md
약관/개인정보 처리방침 마크다운 파일의 시행일을 2026년 6월 9일로 업데이트하고, 약관 제10조의 이용 제한 범위를 명확히 합니다. 정책 및 아키텍처 설명 문서에서 리소스 경로(src/main/resources/agreements/{type}/{version}.md)와 설정 키(app.agreements.{type}.current-version)를 새 구조로 갱신합니다.
테스트 커버리지 업데이트
src/test/java/com/howaboutus/backend/agreements/service/AgreementServiceTest.java
AgreementServiceTest에서 헬퍼 메서드를 버전 기반으로 재작성하고, 빈 버전, 형식 불일치, 리소스 부재 등의 시나리오에서 AGREEMENT_CONFIGURATION_INVALID 예외를 검증하는 테스트를 추가합니다. 정확한 문자열 일치 검증을 startsWith 기반으로 변경합니다.

Walkthrough

약관 원문을 문서 타입별 버전 파일로 보존하는 구조로 마이그레이션합니다. AgreementPropertiescurrentVersion 설정과 AgreementService의 버전별 리소스 경로 기반 로딩을 구현하고, 관련 설정과 테스트를 업데이트하며 정책 문서와 시행일을 동기화합니다.

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested Labels

backend, test

Poem

버전별 약관 파일을 정렬하니 🗂️
현재 버전만 쏙 찝어 읽고,
과거 기록도 고스란히 남아
체계적인 관리의 시작입니다 📋✨

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목이 주요 변경 사항인 약관 원문 버전 파일 보존을 명확하게 요약하고 있습니다.
Description check ✅ Passed PR 설명이 변경 내용, 변경 이유, 테스트, 체크리스트를 모두 포함하여 템플릿 요구사항을 충족합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud

sonarqubecloud Bot commented Jun 8, 2026

Copy link
Copy Markdown

@parkjuyeong0312 parkjuyeong0312 merged commit 23572b4 into dev Jun 8, 2026
4 checks passed
@parkjuyeong0312 parkjuyeong0312 deleted the feature/version-agrrement-documents branch June 8, 2026 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant