Skip to content

Conversation

@yongjun0511
Copy link
Collaborator

No description provided.

* feat: NPE관련 로깅 추가

* refactor: email unique제약 조건 제거

---------

Co-authored-by: 나용준 <141994188+youngJun99@users.noreply.github.com>
@yongjun0511 yongjun0511 self-assigned this Jan 18, 2026
@gemini-code-assist
Copy link

Summary of Changes

Hello @yongjun0511, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 Apple 로그인 과정의 안정성을 높이기 위해 ID 토큰 파싱 시 발생할 수 있는 NullPointerException을 효과적으로 처리하는 로직을 도입합니다. 또한, 사용자 이메일 필드의 고유성 제약을 해제하여 시스템의 유연성을 확보하고, 향후 사용자 관리 정책 변경에 대비합니다. 전반적으로 시스템의 견고성과 확장성을 개선하는 데 중점을 둡니다.

Highlights

  • Apple 로그인 NPE 처리 강화: Apple 로그인 시 ID 토큰의 Claims에서 이메일 또는 Provider ID(sub)가 누락될 경우 발생할 수 있는 NullPointerException을 방지하기 위해 명시적인 null 체크 로직과 함께 NOT_FOUND_PROVIDER_ID, NOT_FOUND_EMAIL 예외 처리가 추가되었습니다.
  • 사용자 이메일 고유 제약 조건 제거: User 엔티티의 email 필드에 적용되어 있던 데이터베이스 수준의 고유(unique) 제약 조건이 제거되었습니다. 이는 여러 사용자가 동일한 이메일 주소를 가질 수 있도록 허용합니다.
  • 새로운 응답 상태 코드 추가: Claims에서 Provider ID 또는 이메일을 찾을 수 없을 때 사용되는 두 가지 새로운 BaseResponseStatus (NOT_FOUND_PROVIDER_ID, NOT_FOUND_EMAIL)가 추가되어, 보다 명확한 오류 응답을 제공합니다.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


코드 속 널(null)은 늘 위험한 손님, 이메일 제약 풀려 자유로운 바람. 로그인 안정성, 이제 더욱 굳건히, 새로운 길 열어, 시스템은 발전하네.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

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

Choose a reason for hiding this comment

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

Code Review

이번 PR은 애플 로그인 시 발생할 수 있는 NPE를 방지하기 위한 핸들링 로직을 추가하고, 이메일의 unique 제약 조건을 제거하는 변경 사항을 포함하고 있습니다. 전반적으로 PR의 목적에 맞게 코드가 잘 수정되었습니다. 다만, 몇 가지 개선할 점이 있어 리뷰 코멘트를 남깁니다. 특히, 스타일 가이드에 맞지 않는 와일드카드 import와 잘못된 위치의 예외 처리 블록에 대한 수정이 필요해 보입니다.

import java.util.Map;

import static ssu.eatssu.global.handler.response.BaseResponseStatus.INVALID_IDENTITY_TOKEN;
import static ssu.eatssu.global.handler.response.BaseResponseStatus.*;

Choose a reason for hiding this comment

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

medium

리포지토리 스타일 가이드에 따라 와일드카드(*)를 사용한 import는 지양해야 합니다. 사용되는 모든 클래스를 명시적으로 import 해주세요.

Suggested change
import static ssu.eatssu.global.handler.response.BaseResponseStatus.*;
import static ssu.eatssu.global.handler.response.BaseResponseStatus.INVALID_IDENTITY_TOKEN;
import static ssu.eatssu.global.handler.response.BaseResponseStatus.NOT_FOUND_EMAIL;
import static ssu.eatssu.global.handler.response.BaseResponseStatus.NOT_FOUND_PROVIDER_ID;
References
  1. 리포지토리 스타일 가이드 3번 규칙은 라이브러리를 import할 때 와일드카드 사용을 금지하고 있습니다. (link)

@yongjun0511 yongjun0511 merged commit 1535a11 into main Jan 18, 2026
1 check 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