-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat : 사용자 로그인 기능 - accessToken을 이용한 로그인 기능 먼저 구현 - UserDetail과 UserDetailService 생성 - UserRepository 작성 - 토큰 생성, 유효성 검증, 토큰에서 필요한 정보 가져오는 TokenProvider 클래스 생성 - 발급받은 토큰을 검증하고 다음 필터로 전달하는 TokenAuthenticationFilter 클래스 생성 - Spring Security 설정을 위한 SecurityConfig 작성 - UserController 작성 * refactor : 파일명과 변수명에서 게시물을 뜻하는 content를 post로 변경 * refactor : Long에서 String으로 자료형 변경 * feat : 로그인시 리프레시토큰 저장 및 리프레시토큰과 액세스토큰 재발급 - 기존의 로그인시 액세스토큰만 발급되던 코드에 리프레시토큰도 발급되어 저장되는 로직 UserService에 추가 - 로그인해도 토큰이 바뀌지 않는 문제 TokenProvider에서 수정 -- claim에 발급 시간과 만료 시간 추가 - TokenService에서 리프레시 토큰을 검증해 액세스토큰과 리프레시토큰 재발급하는 로직 추가 * feat : users SecurityConfig 비밀번호 암호화 기능 추가 * refactor : Post 엔티티 수정 - Content -> Post로 클래스 네임 변경 - PK : Long -> String 으로 타입 변경 - ContentController -> PostController 클래스 네임 변경 * refactor : ContentRepository 삭제 * build : QueryDsl dependency 추가 - Q클래스 폴더 ignore 처리 * chore : QueryDslConfig 클래스 생성 * feat : String으로 받아온 파라미터를 LocalDateTime으로 바꿔주는 Converter 설정 * feat : 게시물 통계 기능 구현 * refactor : ErrorResponse 클래스를 record 클래스로 변경 * feat : 400에러를 처리하기 위한 Exception 생성 - StatParam : 사용하지 않는 Exception 제거 - Handler : 잘못된 import 변경 * feat : api 테스트를 위한 security 임의 설정 * refactor : 리뷰사항 반영 post 테이블 명 변경 post -> posts * refactor : 리뷰사항 반영 post 테이블의 id 타입을 String으로 변경하면서 GeneratedValue 어노테이션 제거 * feat : api 테스트를 위한 security 임시 설정 * feat : Code 클래스 @builder 추가 * feat : 사용자 회원가입 기능 구현 * refactor : 가독성 위한 코드 수정 및 에러 핸들링 추가 - TokenProvider의 makeToken 메서드 가독성을 위한 수정 - 회원이 존재하지 않는 경우의 에러 핸들링 추가 * refactor : 토큰 만료시간 수정 * refactor : 필드 공백 제거 * refactor : 코드 재발급 메서드 명칭 수정 - TokenController과 TokenService의 재발급 메서드 명칭 getToken으로 수정 - 직관성을 위해 URL도 수정 * refactor : 로그인 메서드 명칭 ㅅ정 * refactor : TokenRequestDto record 클래스로 수정 * fix : String 타입은 IDENTITY 적용할 수 없어서 제거함 * refactor : JPA 변경 감지 기능에 따른 save() 메서드 삭제 * refactor : Service에 트랜잭션 설정 추가 * feat : 게시글 좋아요 기능 구현 * refactor :TokenProvider에 상수 변경 * refactor : TokenRepository 쿼리문 삭제 * refactor : UserCreateDto → UserInfoDto로 이름 변경 * refactor : UserCreateDto → UserInfoDto로 이름 변경 * feat : 회원등급 속성 추가 * feat : UserInfoDto 회원등급 속성 추가 * feat : 사용자 가입승인 기능 구현 * style : 패키지명 변경 * refactor : yml 파일 추가 * fix : 동시성 문제로 인한 에러 해결 - @query 대신 addLikeCount()를 사용하여 JPA 변경 감지를 통해 업데이트 반영하여 해결 * refactor : 게시물 좋아요 기능 로직 파일 변경 PostLike~ → Post~ * feat : PostIdResponse를 사용하여 응답 형식 구조 개선 * refactor : dev yml파일 수정 * refactor : 필드 공백 제거 * refactor : addLikeCount()의 파라미터 제거로 간결하게 개선 * no message * refactor : SignUpRequset, SignUpResponse, UserCreateDto record 클래스로 변경 * refactor : access level 설정 * refactor : 통상적으로 자주 사용되는 비밀번호 검사 코드 수정 * feat : 인증코드 발급 방식을 uuid로 변경 * refactor : record 클래스 변경으로 회원가입 api 코드 수정 * refactor : 필드 공백 제거 * refactor : 필드 공백 제거 * refactor : PostIdResponse를 에러 반환에 적용하여 응답 형식 개선 * refactor : 통상적으로 사용되는 비밀번호 검증 삭제 * refactor : 로그인시 비밀번호 암호화 적용 추가 * [feat] post 상세보기 api (#27) * feat: post 상세보기 api * refactor: 테스트용 security 설정 * refactor: review 반영 - 공백 제거 - dto record로 변경 - DetailResponse 반환 코드 PostService -> PostController 수정 작성 - .gitignore 수정 - PostNotFoundException -> NotFoundException * refactor: repository test code 삭제 * refactor: Entity, DTO Colum post -> content 변경 * fix: conflict 해결 * feat : 에러를 처리하기 위한 Exception 생성 * refactor : VerifyRequest, VerifyResponse, UserInfoDto radio 클래스로 변경 * refactor : Exception 코드 수정 * feat : 사용자 인증코드 조회 쿼리 추가 * feat : 인증코드 재발급 기능 추가 * Changes * feat : 회원등급 속성 추가 * Changes * Changes * refactor : VerifyRequest, VerifyResponse, UserInfoDto radio 클래스로 변경 * Changes * feat : 사용자 인증코드 조회 쿼리 추가 * Changes --------- Co-authored-by: LeeJiWon <[email protected]> Co-authored-by: Jinhui <[email protected]> Co-authored-by: pie <[email protected]> Co-authored-by: pie <[email protected]> Co-authored-by: ssunnykku <[email protected]> Co-authored-by: jiwon <[email protected]>
- Loading branch information
1 parent
3cf7a40
commit 1322c34
Showing
16 changed files
with
178 additions
and
10 deletions.
There are no files selected for viewing
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
8 changes: 8 additions & 0 deletions
8
src/main/java/wanted/media/exception/InvalidPasswordException.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package wanted.media.exception; | ||
|
||
public class InvalidPasswordException extends BaseException { | ||
public InvalidPasswordException() { | ||
|
||
super(ErrorCode.INVALID_PASSWORD); | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/wanted/media/exception/UserNotFoundException.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package wanted.media.exception; | ||
|
||
public class UserNotFoundException extends BaseException { | ||
public UserNotFoundException() { | ||
super(ErrorCode.USER_NOT_FOUND); | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/wanted/media/exception/VerificationCodeExpiredException.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package wanted.media.exception; | ||
|
||
public class VerificationCodeExpiredException extends BaseException { | ||
public VerificationCodeExpiredException() { | ||
super(ErrorCode.VERIFICATION_CODE_EXPIRED); | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
src/main/java/wanted/media/exception/VerificationCodeMismatchException.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package wanted.media.exception; | ||
|
||
public class VerificationCodeMismatchException extends BaseException { | ||
public VerificationCodeMismatchException() { | ||
super(ErrorCode.VERIFICATION_CODE_MISMATCH); | ||
} | ||
} |
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
package wanted.media.user.dto; | ||
|
||
public record ReissueCodeRequest(String account, String password) { | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
package wanted.media.user.dto; | ||
|
||
public record ReissueCodeResponse(String message, String newAuthCode) { | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
package wanted.media.user.dto; | ||
|
||
import wanted.media.user.domain.Grade; | ||
|
||
public record UserInfoDto(String account, String email, Grade grade) { | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package wanted.media.user.dto; | ||
|
||
import jakarta.validation.constraints.NotBlank; | ||
import jakarta.validation.constraints.Size; | ||
|
||
public record VerifyRequest( | ||
@NotBlank @Size(max = 50) String account, | ||
@NotBlank @Size(min = 10, max = 200, message = "비밀번호는 최소 10자리 이상으로 설정해주세요.") String password, | ||
@NotBlank @Size(max = 10) String inputCode | ||
) { | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
package wanted.media.user.dto; | ||
|
||
public record VerifyResponse(String message, UserInfoDto dto) { | ||
} |
17 changes: 15 additions & 2 deletions
17
src/main/java/wanted/media/user/repository/CodeRepository.java
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,23 @@ | ||
package wanted.media.user.repository; | ||
|
||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.data.jpa.repository.Query; | ||
import org.springframework.data.repository.query.Param; | ||
import wanted.media.user.domain.Code; | ||
import wanted.media.user.domain.User; | ||
|
||
import java.util.List; | ||
import java.util.Optional; | ||
|
||
public interface CodeRepository extends JpaRepository<Code, Long> { | ||
// 사용자별 인증코드 중복확인 | ||
boolean existsByUserAndAuthCode(User user, String newAuthCode); | ||
// 특정 사용자 인증코드로 조회 | ||
Optional<Code> findByUserAndAuthCode(User user, String authCode); | ||
|
||
//사용자가 발급받은 인증코드 삭제 | ||
void deleteByUser(User user); | ||
|
||
// 사용자에 대해 모든 인증 코드 조회 | ||
@Query("SELECT c FROM Code c WHERE c.user = :user ORDER BY c.createdTime DESC") | ||
List<Code> findAllByUserOrderByCreatedTimeDesc(@Param("user") User user); | ||
|
||
} |
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
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