Skip to content

Commit

Permalink
refactor: user, friend 관련 dto, converter 통일화 (#58) (#65) (#89)
Browse files Browse the repository at this point in the history
* #31 [feat] 친구 추가 api

* test: friend test 코드 작성 (#31)

* [refactor] DTO, Converter 통일화 (#58)

* refactor: user, friend 관련 dto, converter 통일화 (#58) (#70)

* refactor: DTO, Converter 통일화 (#58)

* refactor: Dto -> DTO 이름 변경 (#58)

* refactor: user, friend 관련 dto, converter 통일화 (#58) (#72)

* refactor: DTO, Converter 통일화 (#58)

* refactor: Dto -> DTO 이름 변경 (#58)

* refactor: converter 메소드 이름 DTO로 변경

* fix: devlop confilct 해결 (#88)

* refactor: DTO, Converter 통일화 (#58)

* refactor: audio 관련 dto, converter 통일화 (#59) (#60) (#61)

* refactor: Dto -> DTO 이름 변경 (#58)

* refactor: converter 메소드 이름 DTO로 변경

* feat: docker+git action을 사용한 CI/CD (#33) (#68) (#69)

docker+git action을 사용한 CI/CD (#33)

* feat: gradle.yml update (#33)

* feat: 노트 API 구현 (#53)

* feat: 강의노트 API 구현 (#50)

* #15 feat: page POST API 구현

* refactor : Pages 관련 api 수정

user 객체 AuthenticationPrincipal 어노테이션을 통해 가져오는 거로 변경하였음
Page Entity의 컬럼 중 handWritingsSVG에 @lob 추가하였음

* #15 feat: 이미 존재 페이지면 업데이트 기능 추가

* #15 feat: 노트별로 페이지 조회 API

* #42 feat : S3 녹음 파일 업로드 기능 추가

* #42 feat : 녹음 관련 에러 및 성공 상태 추가

* #42 feat : Note와 Audio 양방향 매핑 추가

* #42 feat : 파일 업로드 컨트롤러 및 서비스 로직 추가

* #42 feat : 해당 노트의 전체 오디오 조회 기능 추가

* #42 feat : 단일 오디오 조회 기능 추가

* #42 feat : 녹음 파일 삭제 기능 추가

* feat : 스웨거 명세 추가

* #15 Resolve conflict

* chore: 엔티티 위치 수정 (#44)

* feat: UserLessonNoteRepository 추가 (#44)

* feat: Note 생성 관련 Service 로직 추가 (#44)

* feat: Note 생성 관련 컨버터 로직 추가 (#44)

* test: Note 생성 관련 테스트 코드 추가 (#44)

* feat: Note 생성 관련 컨트롤러 추가 (#44)

* feat: Note 조회 관련 서비스로직 추가 (#44)

* test: Note 조회 관련 테스트 코드 추가 (#44)

* feat: Note 조회 관련 컨버터 코드 추가 (#44)

* feat: Note 조회 관련 컨트롤러 추가 (#44)

* feat: Note 단일 조회 관련 서비스 로직 추가 (#44)

* test: Note 단일 조회 관련 테스트 로직 추가 (#44)

* feat: Note 단일 조회 관련 컨트롤러 추가 (#44)

* feat: NoteName 수정 조회 관련 서비스 로직 추가 (#44)

* test: NoteName 수정 조회 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 서비스 로직 추가 (#44)

* test: Note 삭제 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 컨트롤러 추가 (#44)

---------

Co-authored-by: Eundding <[email protected]>

* feat: 노트 관련 API 개발 (#52)

* #15 feat: page POST API 구현

* refactor : Pages 관련 api 수정

user 객체 AuthenticationPrincipal 어노테이션을 통해 가져오는 거로 변경하였음
Page Entity의 컬럼 중 handWritingsSVG에 @lob 추가하였음

* #15 feat: 이미 존재 페이지면 업데이트 기능 추가

* #15 feat: 노트별로 페이지 조회 API

* #42 feat : S3 녹음 파일 업로드 기능 추가

* #42 feat : 녹음 관련 에러 및 성공 상태 추가

* #42 feat : Note와 Audio 양방향 매핑 추가

* #42 feat : 파일 업로드 컨트롤러 및 서비스 로직 추가

* #42 feat : 해당 노트의 전체 오디오 조회 기능 추가

* #42 feat : 단일 오디오 조회 기능 추가

* #42 feat : 녹음 파일 삭제 기능 추가

* feat : 스웨거 명세 추가

* #15 Resolve conflict

* chore: 엔티티 위치 수정 (#44)

* feat: UserLessonNoteRepository 추가 (#44)

* feat: Note 생성 관련 Service 로직 추가 (#44)

* feat: Note 생성 관련 컨버터 로직 추가 (#44)

* feat: 강의 노트 업로드 API 구현(#45)

* feat: 강의 노트 조회 API 구현(#45)

* feat: 강의 노트 삭제 API 구현(#45)

* test: Note 생성 관련 테스트 코드 추가 (#44)

* feat: Note 생성 관련 컨트롤러 추가 (#44)

* feat: Note 조회 관련 서비스로직 추가 (#44)

* test: Note 조회 관련 테스트 코드 추가 (#44)

* feat: Note 조회 관련 컨버터 코드 추가 (#44)

* feat: Note 조회 관련 컨트롤러 추가 (#44)

* feat: Note 단일 조회 관련 서비스 로직 추가 (#44)

* test: Note 단일 조회 관련 테스트 로직 추가 (#44)

* feat: Note 단일 조회 관련 컨트롤러 추가 (#44)

* feat: NoteName 수정 조회 관련 서비스 로직 추가 (#44)

* test: NoteName 수정 조회 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 서비스 로직 추가 (#44)

* test: Note 삭제 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 컨트롤러 추가 (#44)

---------

Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>

* feat: 노트 관련 스웨거 명세 추가 (#54)

* chore: 엔티티 위치 수정 (#44)

* feat: UserLessonNoteRepository 추가 (#44)

* feat: Note 생성 관련 Service 로직 추가 (#44)

* feat: Note 생성 관련 컨버터 로직 추가 (#44)

* test: Note 생성 관련 테스트 코드 추가 (#44)

* feat: Note 생성 관련 컨트롤러 추가 (#44)

* feat: Note 조회 관련 서비스로직 추가 (#44)

* test: Note 조회 관련 테스트 코드 추가 (#44)

* feat: Note 조회 관련 컨버터 코드 추가 (#44)

* feat: Note 조회 관련 컨트롤러 추가 (#44)

* feat: Note 단일 조회 관련 서비스 로직 추가 (#44)

* test: Note 단일 조회 관련 테스트 로직 추가 (#44)

* feat: Note 단일 조회 관련 컨트롤러 추가 (#44)

* feat: NoteName 수정 조회 관련 서비스 로직 추가 (#44)

* test: NoteName 수정 조회 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 서비스 로직 추가 (#44)

* test: Note 삭제 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 컨트롤러 추가 (#44)

---------

Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>

* feat: 수업 API 구현 (#76)

* feat: Added CustomLessonRequest class to represent API parameters

* feat: Added Lesson related API

* feat: Add error status enum value to describe Lesson related errors

* test: Add tests for lesson related logic using Mockito

* feat: 수업 관련 Api 설계 (#26)

* feat: Added CustomLessonRequest class to represent API parameters

* feat: Added Lesson related API

* feat: Add error status enum value to describe Lesson related errors

* test: Add tests for lesson related logic using Mockito

* feat: Add exception and error status enum value to describe Lesson related errors

* remove: remove test class files

* fix: change CustomLessonRequest fields

* feat: Implement delete endpoint for userlesson

* test: Add tests for deleteUserLesson using Mockito

* refactor: lesson 관련 dto, converter 통일화 (#67) (#75)

---------

Co-authored-by: Gyuhyeok99 <[email protected]>

* fix: LessonServiceTest 병합 충돌 해결 (#79) (#80)

* refactor: Note 관련 api 스웨거 명세 추가 (#77) (#81) (#82)

* refactor: lessonRepository findByUserAndAttendedSemesterAndLesson 함수명 변경 (#77) (#84)

* refactor: Note 관련 api 스웨거 명세 추가 (#77) (#81)

* refactor: lessonRepository findByUserAndAttendedSemesterAndLesson 함수명 변경 (#77) (#83)

* refactor: Note 관련 api 스웨거 명세 추가 (#77)

* fix: LessonServiceTest 병합 충돌 해결 (#79) (#80)

* refactor: Note 관련 api 스웨거 명세 추가 (#77) (#81) (#82)

* refactor: lessonRepository findByUserAndAttendedSemesterAndLesson 함수명 변경 (#77)

---------

Co-authored-by: 이세원 <[email protected]>

---------

Co-authored-by: 이세원 <[email protected]>

* refactor: Lesson 관련 api 스웨거 명세 추가 (#86) (#87)

* feat: 친구 추가 api (#57)

* #31 [feat] 친구 추가 api

* test: friend test 코드 작성 (#31)

---------

Co-authored-by: Gyuhyeok99 <[email protected]>
Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>
Co-authored-by: 이세원 <[email protected]>

* fix: 충돌 해결 (#91)

* refactor: DTO, Converter 통일화 (#58)

* refactor: audio 관련 dto, converter 통일화 (#59) (#60) (#61)

* refactor: Dto -> DTO 이름 변경 (#58)

* refactor: converter 메소드 이름 DTO로 변경

* feat: docker+git action을 사용한 CI/CD (#33) (#68) (#69)

docker+git action을 사용한 CI/CD (#33)

* feat: gradle.yml update (#33)

* feat: 노트 API 구현 (#53)

* feat: 강의노트 API 구현 (#50)

* #15 feat: page POST API 구현

* refactor : Pages 관련 api 수정

user 객체 AuthenticationPrincipal 어노테이션을 통해 가져오는 거로 변경하였음
Page Entity의 컬럼 중 handWritingsSVG에 @lob 추가하였음

* #15 feat: 이미 존재 페이지면 업데이트 기능 추가

* #15 feat: 노트별로 페이지 조회 API

* #42 feat : S3 녹음 파일 업로드 기능 추가

* #42 feat : 녹음 관련 에러 및 성공 상태 추가

* #42 feat : Note와 Audio 양방향 매핑 추가

* #42 feat : 파일 업로드 컨트롤러 및 서비스 로직 추가

* #42 feat : 해당 노트의 전체 오디오 조회 기능 추가

* #42 feat : 단일 오디오 조회 기능 추가

* #42 feat : 녹음 파일 삭제 기능 추가

* feat : 스웨거 명세 추가

* #15 Resolve conflict

* chore: 엔티티 위치 수정 (#44)

* feat: UserLessonNoteRepository 추가 (#44)

* feat: Note 생성 관련 Service 로직 추가 (#44)

* feat: Note 생성 관련 컨버터 로직 추가 (#44)

* test: Note 생성 관련 테스트 코드 추가 (#44)

* feat: Note 생성 관련 컨트롤러 추가 (#44)

* feat: Note 조회 관련 서비스로직 추가 (#44)

* test: Note 조회 관련 테스트 코드 추가 (#44)

* feat: Note 조회 관련 컨버터 코드 추가 (#44)

* feat: Note 조회 관련 컨트롤러 추가 (#44)

* feat: Note 단일 조회 관련 서비스 로직 추가 (#44)

* test: Note 단일 조회 관련 테스트 로직 추가 (#44)

* feat: Note 단일 조회 관련 컨트롤러 추가 (#44)

* feat: NoteName 수정 조회 관련 서비스 로직 추가 (#44)

* test: NoteName 수정 조회 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 서비스 로직 추가 (#44)

* test: Note 삭제 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 컨트롤러 추가 (#44)

---------

Co-authored-by: Eundding <[email protected]>

* feat: 노트 관련 API 개발 (#52)

* #15 feat: page POST API 구현

* refactor : Pages 관련 api 수정

user 객체 AuthenticationPrincipal 어노테이션을 통해 가져오는 거로 변경하였음
Page Entity의 컬럼 중 handWritingsSVG에 @lob 추가하였음

* #15 feat: 이미 존재 페이지면 업데이트 기능 추가

* #15 feat: 노트별로 페이지 조회 API

* #42 feat : S3 녹음 파일 업로드 기능 추가

* #42 feat : 녹음 관련 에러 및 성공 상태 추가

* #42 feat : Note와 Audio 양방향 매핑 추가

* #42 feat : 파일 업로드 컨트롤러 및 서비스 로직 추가

* #42 feat : 해당 노트의 전체 오디오 조회 기능 추가

* #42 feat : 단일 오디오 조회 기능 추가

* #42 feat : 녹음 파일 삭제 기능 추가

* feat : 스웨거 명세 추가

* #15 Resolve conflict

* chore: 엔티티 위치 수정 (#44)

* feat: UserLessonNoteRepository 추가 (#44)

* feat: Note 생성 관련 Service 로직 추가 (#44)

* feat: Note 생성 관련 컨버터 로직 추가 (#44)

* feat: 강의 노트 업로드 API 구현(#45)

* feat: 강의 노트 조회 API 구현(#45)

* feat: 강의 노트 삭제 API 구현(#45)

* test: Note 생성 관련 테스트 코드 추가 (#44)

* feat: Note 생성 관련 컨트롤러 추가 (#44)

* feat: Note 조회 관련 서비스로직 추가 (#44)

* test: Note 조회 관련 테스트 코드 추가 (#44)

* feat: Note 조회 관련 컨버터 코드 추가 (#44)

* feat: Note 조회 관련 컨트롤러 추가 (#44)

* feat: Note 단일 조회 관련 서비스 로직 추가 (#44)

* test: Note 단일 조회 관련 테스트 로직 추가 (#44)

* feat: Note 단일 조회 관련 컨트롤러 추가 (#44)

* feat: NoteName 수정 조회 관련 서비스 로직 추가 (#44)

* test: NoteName 수정 조회 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 서비스 로직 추가 (#44)

* test: Note 삭제 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 컨트롤러 추가 (#44)

---------

Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>

* feat: 노트 관련 스웨거 명세 추가 (#54)

* chore: 엔티티 위치 수정 (#44)

* feat: UserLessonNoteRepository 추가 (#44)

* feat: Note 생성 관련 Service 로직 추가 (#44)

* feat: Note 생성 관련 컨버터 로직 추가 (#44)

* test: Note 생성 관련 테스트 코드 추가 (#44)

* feat: Note 생성 관련 컨트롤러 추가 (#44)

* feat: Note 조회 관련 서비스로직 추가 (#44)

* test: Note 조회 관련 테스트 코드 추가 (#44)

* feat: Note 조회 관련 컨버터 코드 추가 (#44)

* feat: Note 조회 관련 컨트롤러 추가 (#44)

* feat: Note 단일 조회 관련 서비스 로직 추가 (#44)

* test: Note 단일 조회 관련 테스트 로직 추가 (#44)

* feat: Note 단일 조회 관련 컨트롤러 추가 (#44)

* feat: NoteName 수정 조회 관련 서비스 로직 추가 (#44)

* test: NoteName 수정 조회 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 서비스 로직 추가 (#44)

* test: Note 삭제 관련 테스트 로 추가 (#44)

* feat: Note 삭제 관련 컨트롤러 추가 (#44)

---------

Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>

* feat: 수업 API 구현 (#76)

* feat: Added CustomLessonRequest class to represent API parameters

* feat: Added Lesson related API

* feat: Add error status enum value to describe Lesson related errors

* test: Add tests for lesson related logic using Mockito

* feat: 수업 관련 Api 설계 (#26)

* feat: Added CustomLessonRequest class to represent API parameters

* feat: Added Lesson related API

* feat: Add error status enum value to describe Lesson related errors

* test: Add tests for lesson related logic using Mockito

* feat: Add exception and error status enum value to describe Lesson related errors

* remove: remove test class files

* fix: change CustomLessonRequest fields

* feat: Implement delete endpoint for userlesson

* test: Add tests for deleteUserLesson using Mockito

* refactor: lesson 관련 dto, converter 통일화 (#67) (#75)

---------

Co-authored-by: Gyuhyeok99 <[email protected]>

* fix: LessonServiceTest 병합 충돌 해결 (#79) (#80)

* refactor: Note 관련 api 스웨거 명세 추가 (#77) (#81) (#82)

* refactor: lessonRepository findByUserAndAttendedSemesterAndLesson 함수명 변경 (#77) (#84)

* refactor: Note 관련 api 스웨거 명세 추가 (#77) (#81)

* refactor: lessonRepository findByUserAndAttendedSemesterAndLesson 함수명 변경 (#77) (#83)

* refactor: Note 관련 api 스웨거 명세 추가 (#77)

* fix: LessonServiceTest 병합 충돌 해결 (#79) (#80)

* refactor: Note 관련 api 스웨거 명세 추가 (#77) (#81) (#82)

* refactor: lessonRepository findByUserAndAttendedSemesterAndLesson 함수명 변경 (#77)

---------

Co-authored-by: 이세원 <[email protected]>

---------

Co-authored-by: 이세원 <[email protected]>

* refactor: Lesson 관련 api 스웨거 명세 추가 (#86) (#87)

* feat: 친구 추가 api (#57)

* #31 [feat] 친구 추가 api

* test: friend test 코드 작성 (#31)

* fix: conflict 충돌 해결2

---------

Co-authored-by: Gyuhyeok99 <[email protected]>
Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>
Co-authored-by: 이세원 <[email protected]>

---------

Co-authored-by: Gyuhyeok99 <[email protected]>
Co-authored-by: Eundding <[email protected]>
Co-authored-by: EunJeong Lee <[email protected]>
Co-authored-by: 이세원 <[email protected]>
  • Loading branch information
5 people authored Feb 14, 2024
1 parent 48f6b02 commit b17606c
Show file tree
Hide file tree
Showing 18 changed files with 213 additions and 164 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@ public class AuthController {
private final AuthService authService;

@PostMapping("/signUp")
public ApiResponse<JoinResDto> join(@RequestBody @Valid JoinReqDto joinReqDto){
public ApiResponse<AuthResponseDTO.JoinResDTO> join(@RequestBody @Valid AuthRequestDTO.JoinReqDTO joinReqDto){
return ApiResponse.of(USER_JOIN, authService.join(joinReqDto));
}

@PostMapping("/login")
public ApiResponse<LoginResDto> login(@RequestBody @Valid LoginReqDto loginReqDto){
public ApiResponse<AuthResponseDTO.LoginResDTO> login(@RequestBody @Valid AuthRequestDTO.LoginReqDTO loginReqDto){
return ApiResponse.of(USER_LOGIN, authService.login(loginReqDto));
}

@PostMapping("/refresh-token")
public ApiResponse<RefreshResDto> refreshToken(HttpServletRequest request, HttpServletResponse response) {
public ApiResponse<AuthResponseDTO.RefreshResDTO> refreshToken(HttpServletRequest request, HttpServletResponse response) {
return ApiResponse.of(ACCESS_TOKEN, authService.refreshToken(request, response));
}

Expand Down
45 changes: 45 additions & 0 deletions src/main/java/UMC/campusNote/auth/converter/AuthConverter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package UMC.campusNote.auth.converter;

import UMC.campusNote.auth.dto.AuthRequestDTO;
import UMC.campusNote.auth.dto.AuthResponseDTO;
import UMC.campusNote.user.entity.User;

import static UMC.campusNote.user.entity.Role.USER;

public class AuthConverter {

public static AuthResponseDTO.JoinResDTO toJoinResDTO(Long userId, String accesstoken, String refreshtoken){
return AuthResponseDTO.JoinResDTO.builder()
.userId(userId)
.accesstoken(accesstoken)
.refreshtoken(refreshtoken)
.build();
}

public static AuthResponseDTO.LoginResDTO toLoginResDTO(Long userId, String accessToken, String refreshToken){
return AuthResponseDTO.LoginResDTO.builder()
.userId(userId)
.accessToken(accessToken)
.refreshToken(refreshToken)
.build();
}

public static AuthResponseDTO.RefreshResDTO toRefreshResDTO(String accessToken){
return AuthResponseDTO.RefreshResDTO.builder()
.accessToken(accessToken)
.build();
}

public static User toUser(AuthRequestDTO.JoinReqDTO joinReqDto){
return User.builder()
.clientId(joinReqDto.getClientId())
.img(joinReqDto.getImg())
.name(joinReqDto.getName())
.role(USER)
.university(joinReqDto.getUniversity())
.currentSemester(joinReqDto.getSemester())
.build();
}


}
46 changes: 46 additions & 0 deletions src/main/java/UMC/campusNote/auth/dto/AuthRequestDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package UMC.campusNote.auth.dto;

import UMC.campusNote.user.entity.User;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import static UMC.campusNote.user.entity.Role.USER;

public class AuthRequestDTO {
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Builder
public static class JoinReqDTO {
@NotBlank
@Size(max=100)
private String clientId;
@NotBlank
@Size(max=20)
private String name;
@NotBlank
@Size(max=20)
private String university;
@NotBlank
@Size(max=10)
private String semester;
@NotBlank
private String img;

}

@AllArgsConstructor
@NoArgsConstructor
@Builder
@Getter
public static class LoginReqDTO {

@NotBlank
private String clientId;
}

}
39 changes: 39 additions & 0 deletions src/main/java/UMC/campusNote/auth/dto/AuthResponseDTO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package UMC.campusNote.auth.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

public class AuthResponseDTO {
@AllArgsConstructor
@Getter
@Builder
public static class JoinResDTO {
private Long userId;
private String accesstoken;
private String refreshtoken;

}

@AllArgsConstructor
@Builder
@Getter
@NoArgsConstructor
public static class LoginResDTO {
private Long userId;
private String accessToken;
private String refreshToken;

}

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Getter
public static class RefreshResDTO {

private String accessToken;

}
}
44 changes: 0 additions & 44 deletions src/main/java/UMC/campusNote/auth/dto/JoinReqDto.java

This file was deleted.

21 changes: 0 additions & 21 deletions src/main/java/UMC/campusNote/auth/dto/JoinResDto.java

This file was deleted.

18 changes: 0 additions & 18 deletions src/main/java/UMC/campusNote/auth/dto/LoginReqDto.java

This file was deleted.

24 changes: 0 additions & 24 deletions src/main/java/UMC/campusNote/auth/dto/LoginResDto.java

This file was deleted.

22 changes: 0 additions & 22 deletions src/main/java/UMC/campusNote/auth/dto/RefreshResDto.java

This file was deleted.

6 changes: 3 additions & 3 deletions src/main/java/UMC/campusNote/auth/service/AuthService.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

public interface AuthService {

AuthResponseDTO.JoinResDTO join(AuthRequestDTO.JoinReqDTO joinReqDto);

JoinResDto join(JoinReqDto joinReqDto);
AuthResponseDTO.LoginResDTO login(AuthRequestDTO.LoginReqDTO loginReqDto);

LoginResDto login(LoginReqDto loginReqDto);
AuthResponseDTO.RefreshResDTO refreshToken(HttpServletRequest request, HttpServletResponse response);

RefreshResDto refreshToken(HttpServletRequest request, HttpServletResponse response);
}
21 changes: 14 additions & 7 deletions src/main/java/UMC/campusNote/auth/service/AuthServiceImpl.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package UMC.campusNote.auth.service;

import UMC.campusNote.auth.converter.AuthConverter;
import UMC.campusNote.auth.dto.*;
import UMC.campusNote.auth.jwt.JwtProvider;
import UMC.campusNote.auth.redis.RedisProvider;
Expand Down Expand Up @@ -30,34 +31,38 @@ public class AuthServiceImpl implements AuthService {

@Override
@Transactional
public JoinResDto join(JoinReqDto joinReqDto) {
public AuthResponseDTO.JoinResDTO join(AuthRequestDTO.JoinReqDTO joinReqDto) {
userRepository.findByClientId(joinReqDto.getClientId())
.ifPresent( user -> {
throw new GeneralException(USER_ALREADY_EXIST);
});
User user = joinReqDto.toEntity();
User user = AuthConverter.toUser(joinReqDto);
User savedUser = userRepository.save(user);
String accessToken = jwtProvider.generateToken(user);
String refreshToken = jwtProvider.generateRefreshToken(user);
saveUserToken(savedUser, refreshToken);
return JoinResDto.fromEntity(savedUser.getId(), accessToken, refreshToken);

return AuthConverter.toJoinResDTO(savedUser.getId(), accessToken, refreshToken);

}

@Override
@Transactional
public LoginResDto login(LoginReqDto loginReqDto) {
public AuthResponseDTO.LoginResDTO login(AuthRequestDTO.LoginReqDTO loginReqDto) {
//log.info("loginReqDto.getClientId() : {}", loginReqDto.getClientId());
User user = userRepository.findByClientId(loginReqDto.getClientId())
.orElseThrow(() -> new GeneralException(USER_NOT_FOUND));
String accessToken = jwtProvider.generateToken(user);
String refreshToken = jwtProvider.generateRefreshToken(user);
revokeAllUserTokens(user);
saveUserToken(user, refreshToken);
return LoginResDto.fromEntity(user.getId(), accessToken, refreshToken);

return AuthConverter.toLoginResDTO(user.getId(), accessToken, refreshToken);

}

@Override
public RefreshResDto refreshToken(HttpServletRequest request, HttpServletResponse response) {
public AuthResponseDTO.RefreshResDTO refreshToken(HttpServletRequest request, HttpServletResponse response) {
final String authHeader = request.getHeader(HEADER_AUTHORIZATION);
final String refreshToken;
final String userEmail;
Expand All @@ -70,7 +75,9 @@ public RefreshResDto refreshToken(HttpServletRequest request, HttpServletRespons
.orElseThrow(() -> new GeneralException(USER_NOT_FOUND));
if (jwtProvider.isTokenValid(refreshToken, user)) {
String accessToken = jwtProvider.generateToken(user);
return RefreshResDto.fromEntity(accessToken);

return AuthConverter.toRefreshResDTO(accessToken);

}
}
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ public enum ErrorStatus implements BaseErrorCode {
USER_ALREADY_EXIST(HttpStatus.BAD_REQUEST, "MEMBER4004", "이미 존재하는 사용자입니다."),
FRIEND_ALREADY_EXIST(HttpStatus.BAD_REQUEST, "MEMBER4005", "이미 존재하는 친구입니다."),


FRIEND_NOT_MYSELF(HttpStatus.BAD_REQUEST, "MEMBER4006", "자기 자신과는 친구가 될 수 없습니다."),

// 토큰 관련 에러
TOKEN_NOT_FOUND(HttpStatus.BAD_REQUEST, "TOKEN4001", "토큰이 존재하지 않습니다."),
TOKEN_EXPIRED(HttpStatus.BAD_REQUEST, "TOKEN4002", "토큰이 만료되었습니다."),
Expand All @@ -54,7 +57,6 @@ public enum ErrorStatus implements BaseErrorCode {

// 강의 노트 관련 에러
LESSONNOTE_NOT_FOUND(HttpStatus.BAD_REQUEST, "LESSONNOTE4001", "존재하지 않는 강의 노트.");

private final HttpStatus httpStatus;
private final String code;
private final String message;
Expand Down
Loading

0 comments on commit b17606c

Please sign in to comment.