Skip to content

[feature] 지원서 요약 API에 메모 필드추가#635

Merged
lepitaaar merged 1 commit intodevelop/befrom
feature/applicant-summary-memo-add
Aug 12, 2025
Merged

[feature] 지원서 요약 API에 메모 필드추가#635
lepitaaar merged 1 commit intodevelop/befrom
feature/applicant-summary-memo-add

Conversation

@lepitaaar
Copy link
Contributor

@lepitaaar lepitaaar commented Aug 11, 2025

#️⃣연관된 이슈

#634

📝작업 내용

저번 작업에 빼먹었던 필드 추가했습니다 ㅜ

중점적으로 리뷰받고 싶은 부분(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

논의하고 싶은 부분(선택)

논의하고 싶은 부분이 있다면 작성해주세요.

🫡 참고사항

Summary by CodeRabbit

  • 신규 기능
    • 지원자 상세 정보에 메모 필드가 추가되었습니다. 이제 지원자 목록/상세 조회 시 메모 내용을 함께 확인할 수 있습니다.
    • API 응답에 memo 항목이 포함되어, 외부 연동 시 해당 정보를 활용할 수 있습니다.
  • 기타
    • 기존 필드와 동작에는 영향이 없으며, 메모 필드 추가는 하위 호환을 유지합니다.

@lepitaaar lepitaaar self-assigned this Aug 11, 2025
@lepitaaar lepitaaar added the 💾 BE Backend label Aug 11, 2025
@vercel
Copy link

vercel bot commented Aug 11, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
moadong ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 11, 2025 0:47am

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 11, 2025

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Validation error: Invalid regex pattern for base branch. Received: "**" at "reviews.auto_review.base_branches[0]"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

ClubApplicantsResult 레코드에 String 타입 memo 필드를 추가하고, 정적 팩토리 메서드에서 application.getMemo()로 값을 채우도록 수정했습니다. 기존 필드와 AES 복호화 에러 처리 흐름은 변경되지 않았습니다. 레코드 시그니처가 memo 포함 형태로 변경되었습니다.

Changes

Cohort / File(s) Change Summary
DTO: ClubApplicantsResult
backend/src/main/java/moadong/club/payload/dto/ClubApplicantsResult.java
레코드 시그니처에 memo(String) 필드 추가; of(...) 팩토리 메서드에서 application.getMemo()를 통해 memo 설정; 기타 로직(AES 오류 처리 등) 변경 없음

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related issues

Possibly related PRs

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/applicant-summary-memo-add

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions
Copy link

Test Results

75 tests   75 ✅  2s ⏱️
12 suites   0 💤
12 files     0 ❌

Results for commit e99b2a0.

@PororoAndFriends PororoAndFriends self-requested a review August 11, 2025 12:53
Copy link
Collaborator

@PororoAndFriends PororoAndFriends left a comment

Choose a reason for hiding this comment

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

고생하셧슴다

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
backend/src/main/java/moadong/club/payload/dto/ClubApplicantsResult.java (1)

22-22: ClubApplicantsResult 레코드 시그니처 변경 — 직접 생성자 호출 없음(추가 검증 권장)

  • rg -n 'new ClubApplicantsResult' 검색 결과 단일 라인 호출은 없었습니다.
    멀티라인 괄호 사용 시 탐색되지 않을 수 있으므로, 수동으로 직접 생성자 호출부를 검토해 주세요.
  • OpenAPI 스키마(백엔드 @Schema, Swagger)와 프론트엔드 DTO가 신규 memo 필드를 반영하는지 확인이 필요합니다.
  • Jackson 전역 설정이나 필드별 @JsonIncludenull 직렬화 정책이 의도와 일치하는지 점검해 주세요.
  • memo가 PII/민감정보인지, 저장 시 암호화되어 있다면 복호화 로직(try-catch) 추가를 검토해 주세요.

스키마 문서화를 위한 예시 제안(diff):

+import io.swagger.v3.oas.annotations.media.Schema;
@@
-        String memo,
+        @Schema(description = "지원서 메모(관리자용)") String memo,
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f04def2 and e99b2a0.

📒 Files selected for processing (1)
  • backend/src/main/java/moadong/club/payload/dto/ClubApplicantsResult.java (2 hunks)
🔇 Additional comments (1)
backend/src/main/java/moadong/club/payload/dto/ClubApplicantsResult.java (1)

44-44: memo는 평문 저장 정책이며 별도 복호화 불필요, 접근 제어도 적절합니다

  • ClubApplication 엔티티의 memo 필드는 JPA 속성 변환기나 암호화 어노테이션 없이 평문으로 저장됩니다.
  • ClubApplicantsResult.of(…) 에서 AESCipher는 answers 값만 복호화하도록 설계되어 있고, memo는 평문 그대로 사용됩니다.
  • /api/club/{clubId}/apply/info 엔드포인트는 Spring Security 인증(@PreAuthorize("isAuthenticated()")) 후 서비스 레이어(getClubApplyInfo)에서 클럽 소유자만 접근하도록 추가 권한 검증(user.getId().equals(club.getUserId()))을 수행하므로 PII 노출 위험이 없습니다.
    따라서 현재 구현을 유지하셔도 무방합니다.

Copy link
Member

@seongwon030 seongwon030 left a comment

Choose a reason for hiding this comment

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

메모 필드 추가 좋습니다

@lepitaaar lepitaaar merged commit 34c3885 into develop/be Aug 12, 2025
5 checks passed
@lepitaaar lepitaaar deleted the feature/applicant-summary-memo-add branch September 20, 2025 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💾 BE Backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments