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

5주차 산출물(Weekly -> Develop) #39

Merged
merged 5 commits into from
Oct 4, 2024
Merged

5주차 산출물(Weekly -> Develop) #39

merged 5 commits into from
Oct 4, 2024

Conversation

zzoe2346
Copy link
Contributor

@zzoe2346 zzoe2346 commented Oct 4, 2024

#️⃣ 연관된 이슈

ex) #이슈번호, #이슈번호

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요.(이미지 첨부 가능)

  • TODO
  • TODO

스크린샷 (선택)

💬 리뷰 요구사항(선택)

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

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

⏰ 현재 버그

✏ Git Close

close #이슈번호

GitJIHO and others added 5 commits September 30, 2024 15:48
* feat: UnauthorizedException 정의 및 RestControllerAdvice 작성을 위한 MemberControllerAdvice 생성, Unauthorized에 대한 global exception 구현

* feat: JWT 생성 및 refresh 로직 구현, Resolver에서 MemberId 반환 로직 구현

* refactor: 코드 리팩토링

* feat: 카카오 요청 api 및 카카오 토큰 저장 로직 구현, 카카오 토큰 만료시 자동 리프레쉬 로직 구현

* fix: 이미 카카오토큰이 저장된 경우, 업데이트만 수행하도록 수정

* fix: 파일 이름 오타 수정

* feat: 카카오 로그인을 경유하는 서버 회원가입 및 로그인 비즈니스 로직 구현, Bean 순환 참조 문제 해결 위한 읜존성 제거

* refactor: 인증 관련 로직 member -> auth 로 위치 변경

* feat: 카카오 로그인 및 멤버 회원가입 controller 구현, 임시 CORS 오류 해결

* test: member와 auth 도메인에 대한 단위테스트, repo테스트 추가 및 기본생성자 접근 권한을 protected로 변경

* refactor: 코드 자동 리팩토링

* fix: 멤버 여부 확인 find -> exist로 변환 후 테스트코드 추가, advice에 basePackage 적용

* fix: jwt.secret 값을 dev 속성으로 위치 변경 및 KakaoProperties frontendUri 필드 삭제
* feat : SeniorRepository 인터페이스 추가

* feat : GuardService 클래스 추가

* feat : SeniorNotFoundException 클래스 추가

* feat : GuardControllerAdvice 클래스 추가

* feat : GuardController에 있는 api 구현

* feat : updateMember 메소드 추가

* feat : mapToResponse 메소드, updateSenior 메소드 추가 및 getter 추가

* feat : SeniorTest 클래스 추가
Senior 엔티티에 대한 테스트 코드

* feat : SeniorRepositoryTest 클래스 추가
SeniorRepository에 대한 테스트 코드

* refactor : basePackage 추가

* feat : findByIsSinitto 메소드 추가
모든 보호자 불러오는데 사용

* refactor : Transactional 어노테이션 추가 및 업데이트 시 save 메소드 제거

* refactor : responseEntity 리턴하도록 변경

* refactor : 주석 제거
* Feat: 콜백 리스트(페이징) 보기 기능 구현

- 필요한 getter 구현
- CallbackResponse에 callbackId, seniorId 추가
- 당장 isSiniito() 가 필요하여 Member 코드 수정. 추후 충돌 가능성 존재
- Senior 도 필요한 getter 가 있어 수정. 추후 충돌 가능성 존재
- 예외 처리 할 Advice 구현
- 필요한 레포지토리 구현
- 콜백 리스트 보기 기능 비즈니스 로직(서비스층) 구현
- 테스트 구현

* Build: Twilio SDK 의존성 추가

* Feat: 가독성 향상을 위해 Callback의 String status -> Enum 타입으로 변경

- 하드코딩 방지
- 가독성 향상
- 유지 관리 용이

* Chore: 필요없어진 기능(콜백 상세보기) 제거

* Feat: 콜백 수락, 취소, 완료 기능 구현

- 콜백에 할당된 멤버를 식별위해 assignedMemberId 속성를 Callback에 추가
- enum CallbackStatus 내부 속성 이름 변경
- 공통 ForbiddenException 클래스 구현. forbidden응답을 할 예외에 상속용

* Feat: Callback 생성자에 assignedMemberId 추가

* Feat: Member, Senior 에 생성자 추가

* Feat: SeniorRepository 생성

- 테스트할 때 save()가 필요해 생성
- 시니어 추가 기능 만들때 어차피 추가 되는것으로 판단

* Test: CallbackServce, Callback 테스트 구현

- 서비스층은 mockito 를 활용한 테스트
- Callback Entity 는 `@DataJpaTest`활용한 테스트

* Feat: Twilio 관련 도움주는 역할하는 TwilioHelper.java 구현

* Feat: Callback 엔티티에 예외처리 더 꼼꼼히 구현

- 외부 CallbackStatus Enum을 내부 Status Enum으로 변경
- Callback 에 changeStatusToWaiting 구현
- 테스트 더 추가

* Feat: Twilio 활용한 콜백 등록(추가) 기능 구현

- 테스트 구현

* Test: TwilioHelperTest에 DisplayName 추가

* Feat: Callback Entity 의 메서드에 더 촘촘한 예외 처리

- 더 자세한 테스트 추가

* Test: CallbackServiceTest에 Display 설정

- 불필요하다 판단한 테스트 제거

* Refactor: 메서드 이름 형식 통일

* Feat: 더 풍부한 예외 메시지 추가

* Fix: 잘못 상속한 부분 수정

* Fix: 본인이 만든 SeniorRepository 제거
- 서로 다른 패키지에 만들어서 SeniorRepository가 2개가되어 애플리케이션이 실행이 안되었음

* Feat: 더 디테일한 에러 응답을 위해 `ResponseEntity` 적용

* Refactor: Callback 초기화시 assignedMemberId `null`초기화로 변경

* Feat: 조회 전용 서비스 메서드에 `@Transactional(readOnly = true)` 도입
* Feat: Swagger 설정에 SecuritySchme 추가

* Feat: Swagger 문서에 memberId 숨기기위해 `@MemberId`에 `@Parameter(hidden=true)` 붙임

* Feat: Member, Auth 도메인 에서는 JWT 제외 시키기 위한 내용 추가

- 전역으로 `SecurityRequirement().addList("bearerAuth")`를 설정해놓음. 이를 피하기 위한 `security = @securityrequirement(name = "JWT제외")`
* feat: 시니또용 마이페이지와 관련된 로직 및 테스트 코드 구현

* refactor: [미구현] 표시 삭제

* feat: 시니또 계좌정보 관련 api 추가

* refactor: 코드 컨벤션에 맞게 수정

* fix: updateMember 메서드 오류 수정

* feat: 계좌정보 dto 분리
@zzoe2346 zzoe2346 merged commit fe56814 into Develop Oct 4, 2024
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.

4 participants