-
Notifications
You must be signed in to change notification settings - Fork 37
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
[team7][BE 우디, 비비] issue-tracker PR (1) #49
Open
bibi6666667
wants to merge
162
commits into
codesquad-members-2021:team7
Choose a base branch
from
bibi6666667:be/review
base: team7
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> ApiResponse 구현 - 클라이언트에게 보낼 response를 래핑하기 위함 - 모든 요청에 대한 response를 ApiResponse 객체에 담는 방식으로 통일 - 이후 필요에 따라 status code 혹은 error message 필드 추가될 수 있음
> IssueController - Issue와 관련된 요청을 담당하는 컨트롤러 - Issue에 대한 api와 매핑 > 내부 로직 미작성 - 현재 기능 구현은 되어있지 않은 상태 - service와 repository 계층과의 의존성 없음
> CommentController - Comment와 관련된 요청을 담당하는 컨트롤러 - Commnet에 대한 api와 매핑 > CommentRequest 구현 - comment 생성 요청에 대한 커맨드 객체 > 내부 로직 미작성 - 현재 기능 구현은 되어있지 않은 상태 - service와 repository 계층과의 의존성 없음
> MilestoneController - Milestone 관련된 요청을 담당하는 컨트롤러 - Milestone에 대한 api와 매핑 > MilestoneRequest 구현 - Milestone 생성 요청에 대한 커맨드 객체 > 내부 로직 미작성 - 현재 기능 구현은 되어있지 않은 상태 - service와 repository 계층과의 의존성 없음
> LabelController - Label 관련된 요청을 담당하는 컨트롤러 - Label 대한 api와 매핑 > LabelRequest 구현 - Label 생성 요청에 대한 커맨드 객체 > 내부 로직 미작성 - 현재 기능 구현은 되어있지 않은 상태 - service와 repository 계층과의 의존성 없음
> LoginController - Login 관련된 요청을 담당하는 컨트롤러 - Login 대한 api와 매핑 > 내부 로직 미작성 - 현재 기능 구현은 되어있지 않은 상태 - service와 repository 계층과의 의존성 없음
> IssueRequest 커맨드 객체 - 이슈 생성에 필요한 필드 지정 - 이슈 생성 요청에 대한 request를 커맨드 객체로 받기
> jasypt 설정 추가 및 적용 - github client secret key를 jasypt을 통해 암호화 - jasypt password는 환경 변수 설정
> pool size 관련 에러 핸들링 - "pool size must be set and > 0" 에러 발생 - JasyptConfig에서 poolsize를 1로 고정
> github client id의 불필요한 문자열 제거
> issuetracker 폴더 아래의 코드는 debug 로그로 설정 > application.properties 코드 정리
> GitHub OAuth 로그인 관련 클래스명에 'GitHub' 추가 - LoginController ➡ GitHubLoginController - LoginService ➡ GitHubLoginService
> jjwt 의존성 - build.gradle에 jjwt 의존성 추가 - application-jwt.properties로 jwt 관련 설정 추가 > JwtProvider 컴포넌트 클래스 구현 - jwt 생성 로직 구현
> GeneratedValue 어노테이션 - id 값 자동 생성을 위해 추가
> GitHub OAuth 로직 구현 - GitHubLoginController - GitHubLoginService > GitHubLoginResponse 구현 - GitHub 로그인 성공 시 반환하는 response의 wrapper 클래스
> LoginController 구현 - @controller 어노테이션 - login() : /login/github으로 리다이렉트
Sonjh1306
pushed a commit
that referenced
this pull request
Jul 21, 2021
Sonjh1306
pushed a commit
that referenced
this pull request
Jul 21, 2021
> github.client.id.secrets.ios 에서 github.client.secrets.ios로 수정
> issueRequest 리스트 타입 필드 초기화 - 일시적으로 NPE를 해결하기 위한 방법 - 이후 조회 로직 전체를 변경할 예정
> auth 로그인 후 사용할 수 있는 서비스에 대해서 Interceptor 적용 > Interceptor에서 실제 사용자 정보 추출 - 기존에 디폴트 값으로 하드코딩 되어있던 사용자 정보 대신 jwt 토큰에서 직접 사용자 정보를 추출하도록 변경
> Annotation Processor 설정으로 대체 - 참고 링크 : http://honeymon.io/tech/2020/07/09/gradle-annotation-processor-with-querydsl.html
> 사용되지 않는 ACCESS_TOKEN_TYPE 상수 필드 삭제
> "Bearer"로 시작하는 문자열을 찾는 대신, "Bearer" 문자열과 완벽하게 일치할 경우에 JWT 토큰을 추출한다.
> AuthorizationExtractor::extract - 리턴 타입을 Optional로 변경
> "user"문자열을 USER 상수 처리해서 user http header로 사용
> 사용하지 않는 메소드 삭제 - JWT 토큰 검증을 하지 않을 때 테스트 용도로 사용하던 메소드 삭제
> secretKey 파라미터 오타 수정 - @value("${security.jwt.token.secret-key}") - & -> $ > application-jwt.properties의 secret key 암호화 - jasypt 사용
> JwtProvider::createJwt에서 로그 데이터에 남길 필요가 없는 정보는 debug 레벨로 수정
> 생성자를 통해 Environment 빈을 주입받는 대신, @value 어노테이션을 통해 직접 특정 값을 주입받아서 사용
> WEB과 iOS 로그인 로직 상의 중복 코드들을 리팩토링을 통해 제거함.
> 플랫폼의 요청을 enum으로 판별하고, 유효하지 않은 요청은 InvalidPlatformException으로 처리
> GitHubUser의 변수명을 수정
> User 대신 UserResponse로 응답하도록 변수 타입 변경 > 컨벤션에 맞게 static 메서드의 위치 조정
> id를 인자로 받지 않는 Label 생성자 추가 > 추가한 생성자를 LabelRequest에서 사용
> GitHubLoginService -> GitHubOauthService 로 클래스명 변경 > LoginService 클래스를 추가해 signIn(), signUp() 메서드 분리
> Jwt인증에 필요한 GitHubUser, tokenType 정보를 클래스로 분리
> getFilteredIssues()의 userId를 assigneeUserId와 commenterUserId로 분리해 선언 > getPredicate() 의 접근제어자 수준을 private로 높임
[BE] PR 코드리뷰 피드백 반영
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
안녕하세요, 7팀의 issue-tracker 프로젝트 백엔드를 맡은 우디&비비 입니다😀
처음이자 마지막 PR인데, 커밋이 꼬여 이제야 PR 날리는 점 죄송합니다💦
<구현한 부분>
잘못되거나 바람직하지 못한 부분 아낌없는 피드백 부탁드립니다!
감사합니다🙏