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

feat 회원 카드 등록 API 을 구현한다. #53

Merged
merged 37 commits into from
Jan 14, 2024
Merged

Conversation

choidongkuen
Copy link
Member

🚀 어떤 기능을 개발했나요?

  • 회원 카드 등록 API 을 구현했습니다.

🕶️ 어떻게 해결했나요?

  • 회원 카드 등록 API 구현
  • 테스트 코드 작성 및 테스트

🦀 이슈 넘버

Copy link
Member

@ddingmin ddingmin left a comment

Choose a reason for hiding this comment

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

리뷰 봐주세요!

src/main/java/net/teumteum/core/config/RedisConfig.java Outdated Show resolved Hide resolved

@PostMapping("/registers")
@ResponseStatus(HttpStatus.CREATED)
public Long register(@RequestBody UserRegisterRequest request) {
Copy link
Member

Choose a reason for hiding this comment

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

응답이 Long 타입이 맞나요..?

{"id": 1} 로 명세되어 있어서요

Copy link
Member Author

Choose a reason for hiding this comment

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

이거 노션 수정 필요해보입니다

Copy link
Member

Choose a reason for hiding this comment

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

@choidongkuen Long 타입으로 바로 넘기기 보다는 response dto 를 사용하는게 좋을 것 같아요

Copy link
Member Author

Choose a reason for hiding this comment

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

네 먼저 리뷰 감사합니다!
혹시 별도의 dto을 사용하는 이유가 있을까요 ?
제가 생각하는 부분은 카드가 정상적으로 등록되었다는 의미로 201 created 와 함께 불필요한 정보를 제외한 아이디를 보내주는 것을 생각했습니다.

Copy link
Member

Choose a reason for hiding this comment

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

현재 코드로 응답을 전송하면다면 1 의 값이 전달되게 될텐데,
클라이언트의 입장에서는 의미를 알 수 없는 숫자가 전달되어 stateless 특성에 어긋나는 것 같아요.

처음처럼 id를 명시해주거나 body 값 없이 Http 메소드만 전송하는게 좀 더 바람직해보입니다.

Copy link
Member

Choose a reason for hiding this comment

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

record 는 getter 없이 값을 가져올 수 있어서 굳이 만들어줄 필요는 없습니다!
사용하더라도 lombok 사용하면 될 것 같아요!

Copy link
Member Author

Choose a reason for hiding this comment

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

Getter가 인식이
안되는 이슈가 있어서 임시로 메소드로 구현했습니다
다시 확인해볼께요

Copy link
Member

Choose a reason for hiding this comment

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

@choidongkuen .getName이 아니라 .name 사용하면 됩니다!

Copy link
Member Author

Choose a reason for hiding this comment

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

Java record 에 대해 더 공부해봐야겠네요 감사합니다!:)

public Long register(UserRegisterRequest request) {
findByAuthenticatedAndOAuthId(request.getAuthenticated(), request.getId());

return userRepository.save(request.toUser()).getId();
Copy link
Member

Choose a reason for hiding this comment

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

여기도 dto로 넘기는게 좋아보여요

@@ -92,4 +104,15 @@ public InterestQuestionResponse getInterestQuestionByUserIds(List<Long> userIds,
private void deleteUser(User user) {
this.userRepository.delete(user);
}

private void deleteUser(User user) {
Copy link
Member

Choose a reason for hiding this comment

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

왜 두개인가요!?!?! Transactional 도 안보여요!

Copy link
Member Author

Choose a reason for hiding this comment

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

이부분이 에러 원인인거같습니다
Pr과정에서 이어지는 base pr 예를들어 develop - iss#1 - iss#2 때문에 예상치 못하게 발생한거같아요 수정하겠습니다!

}

private void findByAuthenticatedAndOAuthId(Authenticated authenticated, String oauthId) {
if (userRepository.findByAuthenticatedAndOAuthId(authenticated, oauthId).isPresent()) {
Copy link
Member

Choose a reason for hiding this comment

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

orElseThrow()로 변경하면 좋을 것 같아요

Copy link
Member Author

Choose a reason for hiding this comment

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

피드백 감사합니다!!

@choidongkuen
Copy link
Member Author

해당 api 조금 급하게 구현한 부분이 없지 않아 있어 조금 수정이 필요해보입니다
적극적인 피드백 감사하며 빨리 수정해서 반영하겠습니다 감사합니다!

Comment on lines 28 to 32
private static final Long IGNORE_ID = null;
private static final int IGNORE_MANNER_TEMPERATURE = -1;
private static final boolean NOT_CERTIFICATED = false;
private static final Terms IGNORE_TERMS = null;
private static final Set<Long> IGNORE_FRIENDS = Set.of();
Copy link
Member

Choose a reason for hiding this comment

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

유저 생성에는 필요하지 않은 값들은 dto에 만들줄 필요가 없을 것 같아요.
(유저 수정과 dto 를 함께 사용하지 않는다면요!)

마찬가지로 매너 온도나, NOT_CERTIFICATED와 같은 기본 값들은 domain 에서 지정해주는게 좋을 것 같습니다!

Copy link

@choidongkuen choidongkuen merged commit 8c71c61 into develop Jan 14, 2024
3 checks passed
@choidongkuen choidongkuen deleted the iss-#47 branch January 14, 2024 09:52
devxb added a commit that referenced this pull request Jan 14, 2024
* feat: 유저의 친구 조회 API (#27)

* test: 친구 조회 통합테스트를 작성한다

* feat: 유저의 친구 조회 기능을 개발한다

* feat: application.yml profile 별 분리 및 인증 로직 기본 구현, JWT 관련 로직 구현 (#30)

* feat: spring security 관련 의존성 추가

* feat: spring oauth 2.0 관련 의존성 추가

* refactor: User 엔티티 관련 리팩토링 및 관련 클래스 리팩토링

* feat: UserAuthentication (인증 객체) 구현

* feat: SecurityUtil 구현

* feat: redis 의존성 추가

* feat: profile 분리 ( 개발, 운영, 테스트, 인증, 데이터소스, 레디스 )

* feat: io-netty-dns-native-macos 관련 의존성 추가

* feat: JWT 관련 설정값 & Redis 관련 설정값 주입 구현

* feat: application-redis.yml 구현

* feat: jwt 의존성 추가 (#17)

* feat: jwtAuthenticationFilter 구현 및 관련 Service 구현 (#17)

* feat: 응답을 위한 TokenResponse 구현 및 기타 구현 (#17)

* fix: IntegrationTest 수정 (#17)

* refactor: JwtAuthenticationFilter 불필요한 주석 제거 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: PropertyTest 제거 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* feat: securityConfig JwtAuthenticationFilter 적용 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* feat: 유저 모임 참여 기능 구현 (#34)

* feat: 유저가 Meeting에 참여한다.

- Collection List -> Set 변경

* feat: 종료된 모임에 참여할 수 없도록 예외 추가

* test: 모임 참여에 대한 테스트 작성

- 정상적인 동작 테스트
- 종료된 모임에 대한 예외 테스트
- 최대 인원이 초과된 예외 테스트
- 이미 참여한 모임에 대한 예외 테스트

* feat: 유저 정보 가져오는 방식 수정

+ 테스트 수정

* feat: 유저가 참여한 모임을 취소한다. (#35)

* feat: 유저가 참여한 모임에 모임을 취소한다.

* test: 모임 참여 취소에 대한 테스트를 작성한다.

- 참여된 모임의 참여 취소를 성공한다.
- 참여하지 않은 모임에 대한 예외 케이스
- 종료된 모임에 대한 예외 케이스

* feat: 공통 관심질문 생성 기능 개발 (#37)

* test: 통합테스트를 작성한다

* feat: GPT 통신 클래스를 정의하고 통신기능을 구현한다

* feat: UserService와 Controller를 구현한다

* feat: 유저들의 공통 관심사를 기반으로 질문을 찾는 API를 개발한다

* refactor: retry 횟수를 상수로 뺀다

* feat: Sentry 연동 (#38)

* feat: 인증 로직 리팩토링 및 추가 구현, 카카오,네이버 소셜 로그인 관련 설정 추가 (#39)

* refactor: SecurityConfig 불필요한 변수 삭제 (#31)

* refactor: jwtAuthenticationFilter 리팩토링 (#31)

* feat: application-auth.yml 소셜 로그인 관련 설정 추가 (#31)

* feat: application-datasource.yml 에 flyway 관련 설정 (#31)

* refactor: 전반적인 코드 리팩토링 (#31)

* fix: sonarCloud 코드 에러 수정 (#31)

* chore: application-dev.yml ddl-auto -> validate 로 변경 (#31)

* chore: jwt 라이브러리 gradle 변경 (#31)

* chore: kakao,naver 사용자 정보 조회 api url 변경 (#31)

* chore: naver 관련 설정 삭제 (#31)

* feat: 카카오,네이버 소셜 로그인을 구현한다. (#41)

* refactor: jwtService 불필요한 주석 제거 (#32)

* feat: TokenResponse 레코드 형식으로 구현 (#32)

* feat: OAuth 소셜 로그인 응답 객체 OAuthUserInfo 및 상속체 구현 (#32)

* feat: OAuth 소셜 로그인 최종 응답 객체 OAuthUserAttributes 구현 (#32)

* feat: OAuth 소셜 로그인 로직 구현 (#32)

* feat: OAuth 소셜 로그인 로직 구현 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* refactor: 인가 코드 콜백 URL 컨벤션 맞게 수정 (#32)

* refactor: 소셜 로그인 관련 에러 수정 및 exception handler 추가 (#46)

* chore: 브랜치 푸쉬 (#43)

* refactor: yml 관련 리팩토링 (#43)

* feat: CORS 관련 CorsConfig 구성 (#43)

* feat: jwt 관련 exception handler 구성 (#43)

* feat: oAuth 로그인 webClient 방식으로 변경 (#43)

* refactor: 코트 컨벤션 반영 및 코드 포맷팅

* feat: test 하위 application.properties OAuth2.0 관련 임의 설정 값 추가

* refactor: 공통 관심 주제 게임 응답으로 관심 질문을 받아볼 수 있도록 추가 (#45)

* build: sentry.gradle을 build.gradle에 포함시킨다

* refactor: GPT응답에서 관심주제도 받아볼 수 있도록 수정한다

* refactor: balance game type을 enum으로 변경한다

* feat: AccessToken, RefreshToken 재발급 기능을 구현한다. (#48)

* refactor: jwtService 코드 리팩토링(#40)

* feat: 토큰 재발행 관련 AuthController,AuthService 구현 (#40)

* refactor: jwtService 코드 재정렬 (#40)

* refactor: AuthService 코드 리팩토링 (#40)

* refactor: 코드 형식 재정렬 (#40)

* test: Jwt 재발급 통합 테스트 진행 (#40)

* test: Jwt 재발급 컨트롤러 단위 테스트 진행 (#40)

* test: Jwt 재발급 서비스 단위 테스트 진행 (#40)

* refactor: 코드 재정렬 (#40)

* fix: sonarcloud 에러 수정 (#40)

* feat: 회원 탈퇴를 구현한다. (#50)

* refactor: JwtService 코드 재정렬 (#40)

* refactor: 불필요한 import 노출 제거 (#42)

* refactor: 코드 재정렬 (#42)

* feat: 회원탈퇴 API 구현 (#42)

* test: 회원탈퇴 통합 테스트 구현 (#42)

* refactor: SecurityConfig 코드 재정렬 (#42)

* refactor: 기타 코드 리팩토링 (#42)

* fix: CI 에러 수정 (#42)

* feat: Redis 관련 설정 클래스를 구현하고 적용한다. (#51)

* refactor: 기존 코드 리팩토링 (#49)

* feat: RedisConfig 구현 (#49)

* fix: CI 에러 수정 (#49)

* fix: 테스트명 변경 (#49)

* fix: 컨트롤러 url 컨벤션 적용 (#40)

* fix: CI 임시 해결 ( test 코드 추후 다시 작성 예정 )(#40)

* fix: CI 임시 해결 (#40)

* fix: CI 해결 (#40)

* fix: CI 해결 (#40)

* refactor: 회원 탈퇴 uri 컨벤션으로 수정 (#40)

* feat: 모임 생성을 구현한다. (#54)

* 회원 카드 등록 API 을 구현한다. (#53)

* refactor: jwtService 코드 리팩토링(#40)

* feat: 토큰 재발행 관련 AuthController,AuthService 구현 (#40)

* refactor: jwtService 코드 재정렬 (#40)

* refactor: AuthService 코드 리팩토링 (#40)

* refactor: 코드 형식 재정렬 (#40)

* test: Jwt 재발급 통합 테스트 진행 (#40)

* test: Jwt 재발급 컨트롤러 단위 테스트 진행 (#40)

* test: Jwt 재발급 서비스 단위 테스트 진행 (#40)

* refactor: JwtService 코드 재정렬 (#40)

* refactor: 불필요한 import 노출 제거 (#42)

* refactor: 코드 재정렬 (#42)

* feat: 회원탈퇴 API 구현 (#42)

* test: 회원탈퇴 통합 테스트 구현 (#42)

* refactor: SecurityConfig 코드 재정렬 (#42)

* refactor: 기타 코드 리팩토링 (#42)

* fix: CI 에러 수정 (#42)

* refactor: 기존 코드 리팩토링 (#49)

* feat: RedisConfig 구현 (#49)

* fix: CI 에러 수정 (#49)

* feat: 회원 카드 등록 API 구현 (#47)

* feat: 회원 카드 등록 API 통합 테스트 (#47)

* fix: CI 에러 수정 (#47)

* refactor: deleteUser 메소드 중복 제거 (#47)

* feat: test 을 위한 application.p
 jwt 관련 설정값 추가 (#47)

* test: 테스트 코드 관련 리팩토링 (#47)

* test: 레디스 관련 설정 변경 (#47)

* test: 회원 카드 등록 테스트 수정 및 추가 구현 (#47)

* test: Property Test 구현 (#47)

* fix: CI 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* ci: cd 구성 (#55)

* ci: cd를 구성한다

* fix: SENTRY_AUTH_TOKEN을 env가 아닌, property로 가져오도록 수정한다

* fix: ghcr 레포지토리 명을 수정한다

* ci: 깃헙 패키지 권한을 확인한다

* build: plain.jar가 생성되지 않도록 한다

* ci: cd를 완성한다

---------

Co-authored-by: ChoiDongKuen <[email protected]>
Co-authored-by: ddingmin <[email protected]>
devxb added a commit that referenced this pull request Jan 14, 2024
* feat: 유저의 친구 조회 API (#27)

* test: 친구 조회 통합테스트를 작성한다

* feat: 유저의 친구 조회 기능을 개발한다

* feat: application.yml profile 별 분리 및 인증 로직 기본 구현, JWT 관련 로직 구현 (#30)

* feat: spring security 관련 의존성 추가

* feat: spring oauth 2.0 관련 의존성 추가

* refactor: User 엔티티 관련 리팩토링 및 관련 클래스 리팩토링

* feat: UserAuthentication (인증 객체) 구현

* feat: SecurityUtil 구현

* feat: redis 의존성 추가

* feat: profile 분리 ( 개발, 운영, 테스트, 인증, 데이터소스, 레디스 )

* feat: io-netty-dns-native-macos 관련 의존성 추가

* feat: JWT 관련 설정값 & Redis 관련 설정값 주입 구현

* feat: application-redis.yml 구현

* feat: jwt 의존성 추가 (#17)

* feat: jwtAuthenticationFilter 구현 및 관련 Service 구현 (#17)

* feat: 응답을 위한 TokenResponse 구현 및 기타 구현 (#17)

* fix: IntegrationTest 수정 (#17)

* refactor: JwtAuthenticationFilter 불필요한 주석 제거 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: PropertyTest 제거 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* feat: securityConfig JwtAuthenticationFilter 적용 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* feat: 유저 모임 참여 기능 구현 (#34)

* feat: 유저가 Meeting에 참여한다.

- Collection List -> Set 변경

* feat: 종료된 모임에 참여할 수 없도록 예외 추가

* test: 모임 참여에 대한 테스트 작성

- 정상적인 동작 테스트
- 종료된 모임에 대한 예외 테스트
- 최대 인원이 초과된 예외 테스트
- 이미 참여한 모임에 대한 예외 테스트

* feat: 유저 정보 가져오는 방식 수정

+ 테스트 수정

* feat: 유저가 참여한 모임을 취소한다. (#35)

* feat: 유저가 참여한 모임에 모임을 취소한다.

* test: 모임 참여 취소에 대한 테스트를 작성한다.

- 참여된 모임의 참여 취소를 성공한다.
- 참여하지 않은 모임에 대한 예외 케이스
- 종료된 모임에 대한 예외 케이스

* feat: 공통 관심질문 생성 기능 개발 (#37)

* test: 통합테스트를 작성한다

* feat: GPT 통신 클래스를 정의하고 통신기능을 구현한다

* feat: UserService와 Controller를 구현한다

* feat: 유저들의 공통 관심사를 기반으로 질문을 찾는 API를 개발한다

* refactor: retry 횟수를 상수로 뺀다

* feat: Sentry 연동 (#38)

* feat: 인증 로직 리팩토링 및 추가 구현, 카카오,네이버 소셜 로그인 관련 설정 추가 (#39)

* refactor: SecurityConfig 불필요한 변수 삭제 (#31)

* refactor: jwtAuthenticationFilter 리팩토링 (#31)

* feat: application-auth.yml 소셜 로그인 관련 설정 추가 (#31)

* feat: application-datasource.yml 에 flyway 관련 설정 (#31)

* refactor: 전반적인 코드 리팩토링 (#31)

* fix: sonarCloud 코드 에러 수정 (#31)

* chore: application-dev.yml ddl-auto -> validate 로 변경 (#31)

* chore: jwt 라이브러리 gradle 변경 (#31)

* chore: kakao,naver 사용자 정보 조회 api url 변경 (#31)

* chore: naver 관련 설정 삭제 (#31)

* feat: 카카오,네이버 소셜 로그인을 구현한다. (#41)

* refactor: jwtService 불필요한 주석 제거 (#32)

* feat: TokenResponse 레코드 형식으로 구현 (#32)

* feat: OAuth 소셜 로그인 응답 객체 OAuthUserInfo 및 상속체 구현 (#32)

* feat: OAuth 소셜 로그인 최종 응답 객체 OAuthUserAttributes 구현 (#32)

* feat: OAuth 소셜 로그인 로직 구현 (#32)

* feat: OAuth 소셜 로그인 로직 구현 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* refactor: 인가 코드 콜백 URL 컨벤션 맞게 수정 (#32)

* refactor: 소셜 로그인 관련 에러 수정 및 exception handler 추가 (#46)

* chore: 브랜치 푸쉬 (#43)

* refactor: yml 관련 리팩토링 (#43)

* feat: CORS 관련 CorsConfig 구성 (#43)

* feat: jwt 관련 exception handler 구성 (#43)

* feat: oAuth 로그인 webClient 방식으로 변경 (#43)

* refactor: 코트 컨벤션 반영 및 코드 포맷팅

* feat: test 하위 application.properties OAuth2.0 관련 임의 설정 값 추가

* refactor: 공통 관심 주제 게임 응답으로 관심 질문을 받아볼 수 있도록 추가 (#45)

* build: sentry.gradle을 build.gradle에 포함시킨다

* refactor: GPT응답에서 관심주제도 받아볼 수 있도록 수정한다

* refactor: balance game type을 enum으로 변경한다

* feat: AccessToken, RefreshToken 재발급 기능을 구현한다. (#48)

* refactor: jwtService 코드 리팩토링(#40)

* feat: 토큰 재발행 관련 AuthController,AuthService 구현 (#40)

* refactor: jwtService 코드 재정렬 (#40)

* refactor: AuthService 코드 리팩토링 (#40)

* refactor: 코드 형식 재정렬 (#40)

* test: Jwt 재발급 통합 테스트 진행 (#40)

* test: Jwt 재발급 컨트롤러 단위 테스트 진행 (#40)

* test: Jwt 재발급 서비스 단위 테스트 진행 (#40)

* refactor: 코드 재정렬 (#40)

* fix: sonarcloud 에러 수정 (#40)

* feat: 회원 탈퇴를 구현한다. (#50)

* refactor: JwtService 코드 재정렬 (#40)

* refactor: 불필요한 import 노출 제거 (#42)

* refactor: 코드 재정렬 (#42)

* feat: 회원탈퇴 API 구현 (#42)

* test: 회원탈퇴 통합 테스트 구현 (#42)

* refactor: SecurityConfig 코드 재정렬 (#42)

* refactor: 기타 코드 리팩토링 (#42)

* fix: CI 에러 수정 (#42)

* feat: Redis 관련 설정 클래스를 구현하고 적용한다. (#51)

* refactor: 기존 코드 리팩토링 (#49)

* feat: RedisConfig 구현 (#49)

* fix: CI 에러 수정 (#49)

* fix: 테스트명 변경 (#49)

* fix: 컨트롤러 url 컨벤션 적용 (#40)

* fix: CI 임시 해결 ( test 코드 추후 다시 작성 예정 )(#40)

* fix: CI 임시 해결 (#40)

* fix: CI 해결 (#40)

* fix: CI 해결 (#40)

* refactor: 회원 탈퇴 uri 컨벤션으로 수정 (#40)

* feat: 모임 생성을 구현한다. (#54)

* 회원 카드 등록 API 을 구현한다. (#53)

* refactor: jwtService 코드 리팩토링(#40)

* feat: 토큰 재발행 관련 AuthController,AuthService 구현 (#40)

* refactor: jwtService 코드 재정렬 (#40)

* refactor: AuthService 코드 리팩토링 (#40)

* refactor: 코드 형식 재정렬 (#40)

* test: Jwt 재발급 통합 테스트 진행 (#40)

* test: Jwt 재발급 컨트롤러 단위 테스트 진행 (#40)

* test: Jwt 재발급 서비스 단위 테스트 진행 (#40)

* refactor: JwtService 코드 재정렬 (#40)

* refactor: 불필요한 import 노출 제거 (#42)

* refactor: 코드 재정렬 (#42)

* feat: 회원탈퇴 API 구현 (#42)

* test: 회원탈퇴 통합 테스트 구현 (#42)

* refactor: SecurityConfig 코드 재정렬 (#42)

* refactor: 기타 코드 리팩토링 (#42)

* fix: CI 에러 수정 (#42)

* refactor: 기존 코드 리팩토링 (#49)

* feat: RedisConfig 구현 (#49)

* fix: CI 에러 수정 (#49)

* feat: 회원 카드 등록 API 구현 (#47)

* feat: 회원 카드 등록 API 통합 테스트 (#47)

* fix: CI 에러 수정 (#47)

* refactor: deleteUser 메소드 중복 제거 (#47)

* feat: test 을 위한 application.p
 jwt 관련 설정값 추가 (#47)

* test: 테스트 코드 관련 리팩토링 (#47)

* test: 레디스 관련 설정 변경 (#47)

* test: 회원 카드 등록 테스트 수정 및 추가 구현 (#47)

* test: Property Test 구현 (#47)

* fix: CI 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* ci: cd 구성 (#55)

* ci: cd를 구성한다

* fix: SENTRY_AUTH_TOKEN을 env가 아닌, property로 가져오도록 수정한다

* fix: ghcr 레포지토리 명을 수정한다

* ci: 깃헙 패키지 권한을 확인한다

* build: plain.jar가 생성되지 않도록 한다

* ci: cd를 완성한다

* build: Dockerfile jdk version 21로 업그레이드 (#58)

---------

Co-authored-by: ChoiDongKuen <[email protected]>
Co-authored-by: ddingmin <[email protected]>
@choidongkuen choidongkuen changed the title 회원 카드 등록 API 을 구현한다. feat 회원 카드 등록 API 을 구현한다. Jan 14, 2024
devxb added a commit that referenced this pull request Jan 14, 2024
* feat: 유저의 친구 조회 API (#27)

* test: 친구 조회 통합테스트를 작성한다

* feat: 유저의 친구 조회 기능을 개발한다

* feat: application.yml profile 별 분리 및 인증 로직 기본 구현, JWT 관련 로직 구현 (#30)

* feat: spring security 관련 의존성 추가

* feat: spring oauth 2.0 관련 의존성 추가

* refactor: User 엔티티 관련 리팩토링 및 관련 클래스 리팩토링

* feat: UserAuthentication (인증 객체) 구현

* feat: SecurityUtil 구현

* feat: redis 의존성 추가

* feat: profile 분리 ( 개발, 운영, 테스트, 인증, 데이터소스, 레디스 )

* feat: io-netty-dns-native-macos 관련 의존성 추가

* feat: JWT 관련 설정값 & Redis 관련 설정값 주입 구현

* feat: application-redis.yml 구현

* feat: jwt 의존성 추가 (#17)

* feat: jwtAuthenticationFilter 구현 및 관련 Service 구현 (#17)

* feat: 응답을 위한 TokenResponse 구현 및 기타 구현 (#17)

* fix: IntegrationTest 수정 (#17)

* refactor: JwtAuthenticationFilter 불필요한 주석 제거 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: PropertyTest 제거 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* feat: securityConfig JwtAuthenticationFilter 적용 (#17)

* fix: ci 에러 수정 (#17)

* fix: ci 에러 수정 (#17)

* feat: 유저 모임 참여 기능 구현 (#34)

* feat: 유저가 Meeting에 참여한다.

- Collection List -> Set 변경

* feat: 종료된 모임에 참여할 수 없도록 예외 추가

* test: 모임 참여에 대한 테스트 작성

- 정상적인 동작 테스트
- 종료된 모임에 대한 예외 테스트
- 최대 인원이 초과된 예외 테스트
- 이미 참여한 모임에 대한 예외 테스트

* feat: 유저 정보 가져오는 방식 수정

+ 테스트 수정

* feat: 유저가 참여한 모임을 취소한다. (#35)

* feat: 유저가 참여한 모임에 모임을 취소한다.

* test: 모임 참여 취소에 대한 테스트를 작성한다.

- 참여된 모임의 참여 취소를 성공한다.
- 참여하지 않은 모임에 대한 예외 케이스
- 종료된 모임에 대한 예외 케이스

* feat: 공통 관심질문 생성 기능 개발 (#37)

* test: 통합테스트를 작성한다

* feat: GPT 통신 클래스를 정의하고 통신기능을 구현한다

* feat: UserService와 Controller를 구현한다

* feat: 유저들의 공통 관심사를 기반으로 질문을 찾는 API를 개발한다

* refactor: retry 횟수를 상수로 뺀다

* feat: Sentry 연동 (#38)

* feat: 인증 로직 리팩토링 및 추가 구현, 카카오,네이버 소셜 로그인 관련 설정 추가 (#39)

* refactor: SecurityConfig 불필요한 변수 삭제 (#31)

* refactor: jwtAuthenticationFilter 리팩토링 (#31)

* feat: application-auth.yml 소셜 로그인 관련 설정 추가 (#31)

* feat: application-datasource.yml 에 flyway 관련 설정 (#31)

* refactor: 전반적인 코드 리팩토링 (#31)

* fix: sonarCloud 코드 에러 수정 (#31)

* chore: application-dev.yml ddl-auto -> validate 로 변경 (#31)

* chore: jwt 라이브러리 gradle 변경 (#31)

* chore: kakao,naver 사용자 정보 조회 api url 변경 (#31)

* chore: naver 관련 설정 삭제 (#31)

* feat: 카카오,네이버 소셜 로그인을 구현한다. (#41)

* refactor: jwtService 불필요한 주석 제거 (#32)

* feat: TokenResponse 레코드 형식으로 구현 (#32)

* feat: OAuth 소셜 로그인 응답 객체 OAuthUserInfo 및 상속체 구현 (#32)

* feat: OAuth 소셜 로그인 최종 응답 객체 OAuthUserAttributes 구현 (#32)

* feat: OAuth 소셜 로그인 로직 구현 (#32)

* feat: OAuth 소셜 로그인 로직 구현 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* fix: sonarcloud 코드 버그 수정 (#32)

* refactor: 인가 코드 콜백 URL 컨벤션 맞게 수정 (#32)

* refactor: 소셜 로그인 관련 에러 수정 및 exception handler 추가 (#46)

* chore: 브랜치 푸쉬 (#43)

* refactor: yml 관련 리팩토링 (#43)

* feat: CORS 관련 CorsConfig 구성 (#43)

* feat: jwt 관련 exception handler 구성 (#43)

* feat: oAuth 로그인 webClient 방식으로 변경 (#43)

* refactor: 코트 컨벤션 반영 및 코드 포맷팅

* feat: test 하위 application.properties OAuth2.0 관련 임의 설정 값 추가

* refactor: 공통 관심 주제 게임 응답으로 관심 질문을 받아볼 수 있도록 추가 (#45)

* build: sentry.gradle을 build.gradle에 포함시킨다

* refactor: GPT응답에서 관심주제도 받아볼 수 있도록 수정한다

* refactor: balance game type을 enum으로 변경한다

* feat: AccessToken, RefreshToken 재발급 기능을 구현한다. (#48)

* refactor: jwtService 코드 리팩토링(#40)

* feat: 토큰 재발행 관련 AuthController,AuthService 구현 (#40)

* refactor: jwtService 코드 재정렬 (#40)

* refactor: AuthService 코드 리팩토링 (#40)

* refactor: 코드 형식 재정렬 (#40)

* test: Jwt 재발급 통합 테스트 진행 (#40)

* test: Jwt 재발급 컨트롤러 단위 테스트 진행 (#40)

* test: Jwt 재발급 서비스 단위 테스트 진행 (#40)

* refactor: 코드 재정렬 (#40)

* fix: sonarcloud 에러 수정 (#40)

* feat: 회원 탈퇴를 구현한다. (#50)

* refactor: JwtService 코드 재정렬 (#40)

* refactor: 불필요한 import 노출 제거 (#42)

* refactor: 코드 재정렬 (#42)

* feat: 회원탈퇴 API 구현 (#42)

* test: 회원탈퇴 통합 테스트 구현 (#42)

* refactor: SecurityConfig 코드 재정렬 (#42)

* refactor: 기타 코드 리팩토링 (#42)

* fix: CI 에러 수정 (#42)

* feat: Redis 관련 설정 클래스를 구현하고 적용한다. (#51)

* refactor: 기존 코드 리팩토링 (#49)

* feat: RedisConfig 구현 (#49)

* fix: CI 에러 수정 (#49)

* fix: 테스트명 변경 (#49)

* fix: 컨트롤러 url 컨벤션 적용 (#40)

* fix: CI 임시 해결 ( test 코드 추후 다시 작성 예정 )(#40)

* fix: CI 임시 해결 (#40)

* fix: CI 해결 (#40)

* fix: CI 해결 (#40)

* refactor: 회원 탈퇴 uri 컨벤션으로 수정 (#40)

* feat: 모임 생성을 구현한다. (#54)

* 회원 카드 등록 API 을 구현한다. (#53)

* refactor: jwtService 코드 리팩토링(#40)

* feat: 토큰 재발행 관련 AuthController,AuthService 구현 (#40)

* refactor: jwtService 코드 재정렬 (#40)

* refactor: AuthService 코드 리팩토링 (#40)

* refactor: 코드 형식 재정렬 (#40)

* test: Jwt 재발급 통합 테스트 진행 (#40)

* test: Jwt 재발급 컨트롤러 단위 테스트 진행 (#40)

* test: Jwt 재발급 서비스 단위 테스트 진행 (#40)

* refactor: JwtService 코드 재정렬 (#40)

* refactor: 불필요한 import 노출 제거 (#42)

* refactor: 코드 재정렬 (#42)

* feat: 회원탈퇴 API 구현 (#42)

* test: 회원탈퇴 통합 테스트 구현 (#42)

* refactor: SecurityConfig 코드 재정렬 (#42)

* refactor: 기타 코드 리팩토링 (#42)

* fix: CI 에러 수정 (#42)

* refactor: 기존 코드 리팩토링 (#49)

* feat: RedisConfig 구현 (#49)

* fix: CI 에러 수정 (#49)

* feat: 회원 카드 등록 API 구현 (#47)

* feat: 회원 카드 등록 API 통합 테스트 (#47)

* fix: CI 에러 수정 (#47)

* refactor: deleteUser 메소드 중복 제거 (#47)

* feat: test 을 위한 application.p
 jwt 관련 설정값 추가 (#47)

* test: 테스트 코드 관련 리팩토링 (#47)

* test: 레디스 관련 설정 변경 (#47)

* test: 회원 카드 등록 테스트 수정 및 추가 구현 (#47)

* test: Property Test 구현 (#47)

* fix: CI 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* fix: SonarCloud 에러 수정 (#47)

* ci: cd 구성 (#55)

* ci: cd를 구성한다

* fix: SENTRY_AUTH_TOKEN을 env가 아닌, property로 가져오도록 수정한다

* fix: ghcr 레포지토리 명을 수정한다

* ci: 깃헙 패키지 권한을 확인한다

* build: plain.jar가 생성되지 않도록 한다

* ci: cd를 완성한다

* build: Dockerfile jdk version 21로 업그레이드 (#58)

* build: �실행 프로파일에 prod 추가 (#61)

---------

Co-authored-by: ChoiDongKuen <[email protected]>
Co-authored-by: ddingmin <[email protected]>
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.

회원 카드 등록 API 을 구현한다.
2 participants