Skip to content

[FEATURE] 약관 종류 변경#49

Merged
fervovita merged 2 commits into
devfrom
feat/#48-user-terms
Jun 22, 2026
Merged

[FEATURE] 약관 종류 변경#49
fervovita merged 2 commits into
devfrom
feat/#48-user-terms

Conversation

@fervovita

@fervovita fervovita commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

🚀 Related issue

Closes #48

#️⃣ Summary

  • 기존 약관 종류가 변경되어 INSTURCTOR_SERVICE, DESIGNER_SERVICE, USERINFO, SETTLEMENT로 변경했습니다.

🔧 Changes

  • 약관 종류 변경(INSTURCTOR_SERVICE, DESIGNER_SERVICE, USERINFO, SETTLEMENT)

📸 Test Evidence

image

💬 Reviewer Notes

  • 리뷰어나 같이 작업하는 사람들에게 남길 코멘트

Summary by CodeRabbit

릴리스 노트

  • Documentation

    • 디자이너 및 강사 가입 요청에 대한 API 문서 예시를 업데이트했습니다.
  • Refactor

    • 약관 처리 로직을 역할별로 최적화했습니다.
    • 약관 타입을 더 구체적으로 분류하여 관리 효율성을 개선했습니다.

@fervovita fervovita self-assigned this Jun 22, 2026
@fervovita fervovita requested a review from Jong0128 as a code owner June 22, 2026 10:23
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

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

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ 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.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4a711894-1022-41d9-8467-51a002638d8f

📥 Commits

Reviewing files that changed from the base of the PR and between b36e25b and 4a7f8c5.

📒 Files selected for processing (2)
  • src/main/java/ditda/backend/domain/auth/dto/request/DesignerSignupRequest.java
  • src/main/java/ditda/backend/domain/auth/dto/request/InstructorSignupRequest.java
📝 Walkthrough

Walkthrough

TermType enum에서 SERVICEDISINTERMEDIATION을 제거하고 DESIGNER_SERVICE, INSTRUCTOR_SERVICE를 추가한다. TermService의 단일 saveTerms 메서드를 역할별 saveDesignerTerms/saveInstructorTerms로 분리하며, 각 회원가입 서비스와 Swagger 예시도 이에 맞게 갱신된다.

Changes

약관 타입 역할별 분리 및 TermService 분기

Layer / File(s) Summary
TermType enum 재정의 및 역할별 필수 집합 선언
src/main/java/ditda/backend/domain/term/entity/enums/TermType.java, src/main/java/ditda/backend/domain/term/service/TermService.java
TermType에서 SERVICE, DISINTERMEDIATION을 제거하고 DESIGNER_SERVICE, INSTRUCTOR_SERVICE를 추가한다. TermService에서 단일 REQUIRED_TERMS 상수를 DESIGNER_REQUIREDINSTRUCTOR_REQUIREDSet<TermType>으로 분리한다.
TermService 역할별 저장·검증 메서드 분리
src/main/java/ditda/backend/domain/term/service/TermService.java
saveTerms를 삭제하고 saveDesignerTerms/saveInstructorTerms를 추가한다. validateRequiredAgreements가 역할별 required 집합을 파라미터로 받도록 변경되고, 공통 저장 로직이 saveAllTerms로 추출된다.
회원가입 서비스 호출 교체 및 Swagger 예시 갱신
src/main/java/ditda/backend/domain/auth/service/DesignerAuthService.java, src/main/java/ditda/backend/domain/auth/service/InstructorAuthService.java, src/main/java/ditda/backend/domain/auth/dto/request/DesignerSignupRequest.java, src/main/java/ditda/backend/domain/auth/dto/request/InstructorSignupRequest.java
termService.saveTerms 호출을 각각 saveDesignerTerms/saveInstructorTerms로 교체하고, @Schema 예시의 type 값 및 항목 구성을 역할별 타입에 맞게 수정한다.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Ditda-Official/Ditda-Backend#16: DesignerAuthService에서 TermService로 약관을 저장하는 코드 경로를 포함하며, 이번 PR의 saveTermssaveDesignerTerms 교체에 직접적으로 연관된다.

Suggested reviewers

  • Jong0128
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목 '[FEATURE] 약관 종류 변경'은 변경 사항의 핵심을 명확하게 설명합니다.
Linked Issues check ✅ Passed PR은 연결된 이슈 #48의 모든 요구사항을 충족합니다. 약관 종류가 DESIGNER_SERVICE, INSTRUCTOR_SERVICE, USERINFO, SETTLEMENT로 정확히 변경되었습니다.
Out of Scope Changes check ✅ Passed 모든 변경사항이 약관 종류 변경 기능과 직접적으로 관련되어 있으며, 범위를 벗어난 변경은 없습니다.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/#48-user-terms

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/main/java/ditda/backend/domain/auth/dto/request/DesignerSignupRequest.java (1)

87-87: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

중첩된 TermRequest의 Swagger 예시를 업데이트하세요.

Line 87의 type 필드 예시가 여전히 "SERVICE"로 되어 있어, 상위 레벨 예시(Line 26: "DESIGNER_SERVICE")와 불일치합니다. API 문서의 일관성을 위해 "DESIGNER_SERVICE"로 수정하거나 예시를 제거하는 것이 좋습니다.

📝 수정 제안
-		`@Schema`(description = "약관 종류", example = "SERVICE")
+		`@Schema`(description = "약관 종류", example = "DESIGNER_SERVICE")
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/main/java/ditda/backend/domain/auth/dto/request/DesignerSignupRequest.java`
at line 87, The `@Schema` annotation for the type field in the nested TermRequest
class has an example value of "SERVICE" which is inconsistent with the parent
level example at line 26 that uses "DESIGNER_SERVICE". Update the example value
in the `@Schema` annotation for the type field from "SERVICE" to
"DESIGNER_SERVICE" to ensure consistency across the Swagger API documentation
and maintain alignment with the DesignerSignupRequest schema.
src/main/java/ditda/backend/domain/auth/dto/request/InstructorSignupRequest.java (1)

77-77: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

중첩된 TermRequest의 Swagger 예시를 업데이트하세요.

Line 77의 type 필드 예시가 여전히 "SERVICE"로 되어 있어, 상위 레벨 예시(Line 25: "INSTRUCTOR_SERVICE")와 불일치합니다. API 문서의 일관성을 위해 "INSTRUCTOR_SERVICE"로 수정하거나 예시를 제거하는 것이 좋습니다.

📝 수정 제안
-		`@Schema`(description = "약관 종류", example = "SERVICE")
+		`@Schema`(description = "약관 종류", example = "INSTRUCTOR_SERVICE")
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/main/java/ditda/backend/domain/auth/dto/request/InstructorSignupRequest.java`
at line 77, The `@Schema` annotation for the type field in the nested TermRequest
class has an example value of "SERVICE" which is inconsistent with the top-level
example value "INSTRUCTOR_SERVICE" shown at line 25. Update the example
attribute in the `@Schema` annotation for the type field in TermRequest to use
"INSTRUCTOR_SERVICE" instead of "SERVICE" to maintain consistency across the API
documentation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In
`@src/main/java/ditda/backend/domain/auth/dto/request/DesignerSignupRequest.java`:
- Line 87: The `@Schema` annotation for the type field in the nested TermRequest
class has an example value of "SERVICE" which is inconsistent with the parent
level example at line 26 that uses "DESIGNER_SERVICE". Update the example value
in the `@Schema` annotation for the type field from "SERVICE" to
"DESIGNER_SERVICE" to ensure consistency across the Swagger API documentation
and maintain alignment with the DesignerSignupRequest schema.

In
`@src/main/java/ditda/backend/domain/auth/dto/request/InstructorSignupRequest.java`:
- Line 77: The `@Schema` annotation for the type field in the nested TermRequest
class has an example value of "SERVICE" which is inconsistent with the top-level
example value "INSTRUCTOR_SERVICE" shown at line 25. Update the example
attribute in the `@Schema` annotation for the type field in TermRequest to use
"INSTRUCTOR_SERVICE" instead of "SERVICE" to maintain consistency across the API
documentation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1e2b3edc-d932-42b2-86c1-bdae9d3f35da

📥 Commits

Reviewing files that changed from the base of the PR and between 0d20ce0 and b36e25b.

📒 Files selected for processing (6)
  • src/main/java/ditda/backend/domain/auth/dto/request/DesignerSignupRequest.java
  • src/main/java/ditda/backend/domain/auth/dto/request/InstructorSignupRequest.java
  • src/main/java/ditda/backend/domain/auth/service/DesignerAuthService.java
  • src/main/java/ditda/backend/domain/auth/service/InstructorAuthService.java
  • src/main/java/ditda/backend/domain/term/entity/enums/TermType.java
  • src/main/java/ditda/backend/domain/term/service/TermService.java

@Jong0128 Jong0128 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

수고하셨습니다!
바로 merge 하셔도 좋을꺼같아요!

@fervovita fervovita merged commit 5ff3bd5 into dev Jun 22, 2026
2 checks passed
@fervovita fervovita deleted the feat/#48-user-terms branch June 22, 2026 12:28
@fervovita fervovita mentioned this pull request Jun 22, 2026
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.

[FEATURE] 약관 종류 변경

2 participants