Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[style] : 주석 및 개행 문자를 추가한다 #137

Merged
merged 1 commit into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/main/java/side/onetime/auth/constant/Provider.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ public enum Provider {
public String getProvider() {
return provider;
}
}
}
2 changes: 1 addition & 1 deletion src/main/java/side/onetime/auth/dto/GoogleUserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ public String getName() {
public String getEmail() {
return (String) attributes.get("email");
}
}
}
2 changes: 1 addition & 1 deletion src/main/java/side/onetime/auth/dto/KakaoUserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ public String getName() {
public String getEmail() {
return (String) ((Map) attributes.get("kakao_account")).get("email");
}
}
}
2 changes: 1 addition & 1 deletion src/main/java/side/onetime/auth/dto/NaverUserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ public String getName() {
public String getEmail() {
return (String) attributes.get("email");
}
}
}
2 changes: 1 addition & 1 deletion src/main/java/side/onetime/auth/dto/OAuth2UserInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ public interface OAuth2UserInfo {
String getProvider();
String getName();
String getEmail();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,21 @@
@RequiredArgsConstructor
public class OAuthLoginFailureHandler extends SimpleUrlAuthenticationFailureHandler {

/**
* 로그인 실패 처리 메서드.
*
* 인증 실패가 발생했을 때 호출됩니다.
* 실패 원인을 로그로 기록하며, 부모 클래스의 기본 실패 처리 로직을 실행합니다.
*
* @param request HttpServletRequest 객체
* @param response HttpServletResponse 객체
* @param exception AuthenticationException 객체 (인증 실패 원인)
* @throws IOException 입출력 예외
* @throws ServletException 서블릿 예외
*/
@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {
log.error("LOGIN FAILED : {}", exception.getMessage());
super.onAuthenticationFailure(request, response, exception);

// 추후 구현
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,17 @@ public class OAuthLoginSuccessHandler extends SimpleUrlAuthenticationSuccessHand
private final UserRepository userRepository;
private final RefreshTokenRepository refreshTokenRepository;

/**
* OAuth2 인증 성공 처리 메서드.
*
* 인증 성공 시 OAuth2AuthenticationToken을 기반으로 제공자 정보를 추출하고,
* 인증 결과를 처리합니다.
*
* @param request HttpServletRequest 객체
* @param response HttpServletResponse 객체
* @param authentication 인증 성공 정보를 담은 객체
* @throws IOException 인증 처리 중 발생할 수 있는 입출력 예외
*/
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException {
OAuth2AuthenticationToken token = (OAuth2AuthenticationToken) authentication;
Expand All @@ -57,7 +68,15 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
handleAuthentication(request, response, oAuth2UserInfo, provider);
}

// OAuth2UserInfo 추출
/**
* OAuth2 사용자 정보 추출 메서드.
*
* 제공자(provider)에 따라 적합한 OAuth2UserInfo 객체를 생성합니다.
*
* @param token OAuth2AuthenticationToken 객체
* @param provider OAuth2 제공자 이름 (google, kakao, naver 등)
* @return OAuth2UserInfo 객체
*/
private OAuth2UserInfo extractOAuth2UserInfo(OAuth2AuthenticationToken token, String provider) {
switch (provider) {
case "google":
Expand All @@ -74,7 +93,17 @@ private OAuth2UserInfo extractOAuth2UserInfo(OAuth2AuthenticationToken token, St
}
}

// 인증 처리
/**
* 인증 성공 처리 메서드.
*
* 인증된 사용자의 정보를 바탕으로 신규 또는 기존 사용자를 처리합니다.
*
* @param request HttpServletRequest 객체
* @param response HttpServletResponse 객체
* @param oAuth2UserInfo OAuth2 사용자 정보 객체
* @param provider OAuth2 제공자 이름
* @throws IOException 인증 처리 중 발생할 수 있는 입출력 예외
*/
private void handleAuthentication(HttpServletRequest request, HttpServletResponse response, OAuth2UserInfo oAuth2UserInfo, String provider) throws IOException {
String providerId = oAuth2UserInfo.getProviderId();
String name = oAuth2UserInfo.getName();
Expand All @@ -83,10 +112,8 @@ private void handleAuthentication(HttpServletRequest request, HttpServletRespons
User existUser = userRepository.findByProviderId(providerId);

if (existUser == null) {
// 신규 유저 처리
handleNewUser(request, response, provider, providerId, name, email);
} else {
// 기존 유저 처리
handleExistingUser(request, response, existUser);
}

Expand All @@ -96,32 +123,60 @@ private void handleAuthentication(HttpServletRequest request, HttpServletRespons
log.info("EMAIL : {}", email);
}

// 신규 유저 처리
/**
* 신규 유저 처리 메서드.
*
* OAuth2 인증을 통해 새로 가입한 사용자를 처리하고,
* 회원가입 완료를 위한 리다이렉트를 수행합니다.
*
* @param request HttpServletRequest 객체
* @param response HttpServletResponse 객체
* @param provider OAuth2 제공자 이름
* @param providerId 제공자 고유 ID
* @param name 사용자 이름
* @param email 사용자 이메일
* @throws IOException 인증 처리 중 발생할 수 있는 입출력 예외
*/
private void handleNewUser(HttpServletRequest request, HttpServletResponse response, String provider, String providerId, String name, String email) throws IOException {
log.info("신규 유저입니다.");
String registerToken = jwtUtil.generateRegisterToken(provider, providerId, name, email, REGISTER_TOKEN_EXPIRATION_TIME);
String redirectUri = String.format(REGISTER_TOKEN_REDIRECT_URI, registerToken, URLEncoder.encode(name, StandardCharsets.UTF_8));
getRedirectStrategy().sendRedirect(request, response, redirectUri);
}

// 기존 유저 처리
/**
* 기존 유저 처리 메서드.
*
* OAuth2 인증을 통해 로그인한 기존 사용자를 처리하고,
* 액세스 및 리프레쉬 토큰을 발급하여 리다이렉트를 수행합니다.
*
* @param request HttpServletRequest 객체
* @param response HttpServletResponse 객체
* @param user 기존 사용자 정보
* @throws IOException 인증 처리 중 발생할 수 있는 입출력 예외
*/
private void handleExistingUser(HttpServletRequest request, HttpServletResponse response, User user) throws IOException {
log.info("기존 유저입니다.");
Long userId = user.getId();

// 액세스 & 리프레쉬 토큰 발급 및 저장
String accessToken = jwtUtil.generateAccessToken(userId, ACCESS_TOKEN_EXPIRATION_TIME);
String refreshToken = jwtUtil.generateRefreshToken(userId, REFRESH_TOKEN_EXPIRATION_TIME);
saveRefreshToken(userId, refreshToken);

// 리다이렉트 처리
String redirectUri = String.format(ACCESS_TOKEN_REDIRECT_URI, accessToken, refreshToken);
getRedirectStrategy().sendRedirect(request, response, redirectUri);
}

// Refresh Token 저장
/**
* Refresh Token 저장 메서드.
*
* 사용자의 리프레쉬 토큰을 데이터베이스에 저장합니다.
*
* @param userId 사용자 ID
* @param refreshToken 리프레쉬 토큰 값
*/
private void saveRefreshToken(Long userId, String refreshToken) {
RefreshToken newRefreshToken = new RefreshToken(userId, refreshToken);
refreshTokenRepository.save(newRefreshToken);
}
}
}
14 changes: 7 additions & 7 deletions src/main/java/side/onetime/controller/FixedController.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class FixedController {
private final FixedScheduleService fixedScheduleService;

/**
* 고정 이벤트 생성 및 고정 스케줄 등록 API
* 고정 이벤트 생성 및 고정 스케줄 등록 API.
*
* 이 API는 새로운 고정 이벤트를 생성하고 관련된 고정 스케줄을 등록합니다.
*
Expand All @@ -42,7 +42,7 @@ public ResponseEntity<ApiResponse<Object>> createFixedEvent(
}

/**
* 전체 고정 스케줄 조회 API
* 전체 고정 스케줄 조회 API.
*
* 이 API는 유저가 등록한 모든 고정 스케줄을 조회합니다.
*
Expand All @@ -58,7 +58,7 @@ public ResponseEntity<ApiResponse<List<FixedEventResponse>>> getAllFixedSchedule
}

/**
* 특정 고정 스케줄 상세 조회 API
* 특정 고정 스케줄 상세 조회 API.
*
* 이 API는 특정 ID에 해당하는 고정 스케줄의 상세 정보를 조회합니다.
*
Expand All @@ -76,7 +76,7 @@ public ResponseEntity<ApiResponse<FixedEventDetailResponse>> getFixedScheduleDet
}

/**
* 고정 이벤트 또는 스케줄 수정 API
* 고정 이벤트 또는 스케줄 수정 API.
*
* 이 API는 특정 고정 이벤트의 제목과 스케줄을 수정할 수 있습니다.
*
Expand All @@ -102,7 +102,7 @@ public ResponseEntity<ApiResponse<Object>> modifyFixedEvent(
}

/**
* 고정 이벤트 & 스케줄 삭제 API
* 고정 이벤트 & 스케줄 삭제 API.
*
* 이 API는 특정 ID에 해당하는 고정 이벤트와 관련된 스케줄을 삭제합니다.
*
Expand All @@ -120,7 +120,7 @@ public ResponseEntity<ApiResponse<Object>> removeFixedEvent(
}

/**
* 요일별 고정 이벤트 조회 API
* 요일별 고정 이벤트 조회 API.
*
* 이 API는 특정 요일에 해당하는 고정 이벤트 목록을 조회합니다.
*
Expand All @@ -136,4 +136,4 @@ public ResponseEntity<ApiResponse<List<FixedEventByDayResponse>>> getFixedEventB
List<FixedEventByDayResponse> response = fixedEventService.getFixedEventByDay(authorizationHeader, day);
return ApiResponse.onSuccess(SuccessStatus._GET_FIXED_EVENT_BY_DAY, response);
}
}
}
8 changes: 4 additions & 4 deletions src/main/java/side/onetime/controller/MemberController.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public class MemberController {
private final MemberService memberService;

/**
* 멤버 등록 API
* 멤버 등록 API.
*
* 이 API는 새로운 멤버를 등록합니다. 멤버가 속한 이벤트 ID와 이름, PIN, 스케줄 목록을 받습니다.
*
Expand All @@ -40,7 +40,7 @@ public ResponseEntity<ApiResponse<RegisterMemberResponse>> registerMember(
}

/**
* 멤버 로그인 API
* 멤버 로그인 API.
*
* 이 API는 멤버의 로그인 정보를 확인하고, 로그인에 성공한 경우 멤버의 정보를 반환합니다.
*
Expand All @@ -56,7 +56,7 @@ public ResponseEntity<ApiResponse<LoginMemberResponse>> loginMember(
}

/**
* 이름 중복 확인 API
* 이름 중복 확인 API.
*
* 이 API는 특정 이벤트에서 지정한 이름이 중복되는지 확인합니다.
*
Expand All @@ -70,4 +70,4 @@ public ResponseEntity<ApiResponse<IsDuplicateResponse>> isDuplicate(
IsDuplicateResponse isDuplicateResponse = memberService.isDuplicate(isDuplicateRequest);
return ApiResponse.onSuccess(SuccessStatus._IS_POSSIBLE_NAME, isDuplicateResponse);
}
}
}
22 changes: 11 additions & 11 deletions src/main/java/side/onetime/controller/ScheduleController.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class ScheduleController {
private final ScheduleService scheduleService;

/**
* 요일 스케줄 등록 API
* 요일 스케줄 등록 API.
*
* 요일별 반복되는 스케줄을 등록하는 API입니다.
* 인증된 사용자와 비인증 사용자에 따라 스케줄 생성 방식이 다릅니다.
Expand All @@ -45,7 +45,7 @@ public ResponseEntity<ApiResponse<SuccessStatus>> createDaySchedules(
}

/**
* 날짜 스케줄 등록 API
* 날짜 스케줄 등록 API.
*
* 특정 날짜에 대한 스케줄을 등록하는 API입니다.
* 인증된 사용자와 비인증 사용자에 따라 스케줄 생성 방식이 다릅니다.
Expand All @@ -68,7 +68,7 @@ public ResponseEntity<ApiResponse<SuccessStatus>> createDateSchedules(
}

/**
* 전체 요일 스케줄 조회 API
* 전체 요일 스케줄 조회 API.
*
* 특정 이벤트에 등록된 모든 요일 스케줄을 조회합니다.
*
Expand All @@ -84,7 +84,7 @@ public ResponseEntity<ApiResponse<List<PerDaySchedulesResponse>>> getAllDaySched
}

/**
* 개인 요일 스케줄 조회 API (비로그인)
* 개인 요일 스케줄 조회 API (비로그인).
*
* 비로그인 사용자의 특정 이벤트에 대한 개인 요일 스케줄을 조회합니다.
*
Expand All @@ -102,7 +102,7 @@ public ResponseEntity<ApiResponse<PerDaySchedulesResponse>> getMemberDaySchedule
}

/**
* 개인 요일 스케줄 조회 API (로그인)
* 개인 요일 스케줄 조회 API (로그인).
*
* 인증된 사용자의 특정 이벤트에 대한 개인 요일 스케줄을 조회합니다.
*
Expand All @@ -120,7 +120,7 @@ public ResponseEntity<ApiResponse<PerDaySchedulesResponse>> getUserDaySchedules(
}

/**
* 멤버 필터링 요일 스케줄 조회 API
* 멤버 필터링 요일 스케줄 조회 API.
*
* 멤버 이름을 필터링하여 특정 이벤트의 요일 스케줄을 조회합니다.
*
Expand All @@ -136,7 +136,7 @@ public ResponseEntity<ApiResponse<List<PerDaySchedulesResponse>>> getFilteredDay
}

/**
* 전체 날짜 스케줄 조회 API
* 전체 날짜 스케줄 조회 API.
*
* 특정 이벤트에 등록된 모든 날짜 스케줄을 조회합니다.
*
Expand All @@ -152,7 +152,7 @@ public ResponseEntity<ApiResponse<List<PerDateSchedulesResponse>>> getAllDateSch
}

/**
* 개인 날짜 스케줄 조회 API (비로그인)
* 개인 날짜 스케줄 조회 API (비로그인).
*
* 비로그인 사용자의 특정 이벤트에 대한 개인 날짜 스케줄을 조회합니다.
*
Expand All @@ -170,7 +170,7 @@ public ResponseEntity<ApiResponse<PerDateSchedulesResponse>> getMemberDateSchedu
}

/**
* 개인 날짜 스케줄 조회 API (로그인)
* 개인 날짜 스케줄 조회 API (로그인).
*
* 인증된 사용자의 특정 이벤트에 대한 개인 날짜 스케줄을 조회합니다.
*
Expand All @@ -188,7 +188,7 @@ public ResponseEntity<ApiResponse<PerDateSchedulesResponse>> getUserDateSchedule
}

/**
* 멤버 필터링 날짜 스케줄 조회 API
* 멤버 필터링 날짜 스케줄 조회 API.
*
* 멤버 이름을 필터링하여 특정 이벤트의 날짜 스케줄을 조회합니다.
*
Expand All @@ -202,4 +202,4 @@ public ResponseEntity<ApiResponse<List<PerDateSchedulesResponse>>> getFilteredDa
List<PerDateSchedulesResponse> perDateSchedulesResponses = scheduleService.getFilteredDateSchedules(getFilteredSchedulesRequest);
return ApiResponse.onSuccess(SuccessStatus._GET_FILTERED_DATE_SCHEDULES, perDateSchedulesResponses);
}
}
}
Loading
Loading