diff --git a/build.gradle b/build.gradle index 8ee9b4d..6a8a790 100644 --- a/build.gradle +++ b/build.gradle @@ -19,6 +19,7 @@ repositories { dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' + implementation 'org.springframework.boot:spring-boot-starter-data-redis' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.projectlombok:lombok' diff --git a/docker-compose.local.yml b/docker-compose.local.yml index 2283eff..1a4d6cd 100644 --- a/docker-compose.local.yml +++ b/docker-compose.local.yml @@ -45,6 +45,16 @@ services: volumes: - rabbitmq-data:/var/lib/rabbitmq + redis: + container_name: zerozero_redis + image: redis:6.0.9 + ports: + - '6379:6379' + restart: always + volumes: + - ./docker/redis/data:/data + - ./docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf + volumes: mongo-data: rabbitmq-data: diff --git a/src/main/java/com/zerozero/auth/application/HandleOAuthLoginUseCase.java b/src/main/java/com/zerozero/auth/application/HandleOAuthLoginUseCase.java index e445fe5..4abe83d 100644 --- a/src/main/java/com/zerozero/auth/application/HandleOAuthLoginUseCase.java +++ b/src/main/java/com/zerozero/auth/application/HandleOAuthLoginUseCase.java @@ -14,7 +14,7 @@ import com.zerozero.core.application.BaseUseCase; import com.zerozero.core.domain.entity.Status; import com.zerozero.core.domain.entity.User; -import com.zerozero.core.domain.infra.repository.RefreshTokenJPARepository; +import com.zerozero.core.domain.infra.repository.RefreshTokenRepository; import com.zerozero.core.domain.infra.repository.UserJPARepository; import com.zerozero.core.domain.vo.AccessToken; import com.zerozero.core.domain.vo.RefreshToken; @@ -47,7 +47,7 @@ public class HandleOAuthLoginUseCase implements BaseUseCase refreshUserToken(@Parameter(hidden = true) RefreshToken refreshToken) { + @GetMapping("/refresh/token") + public ResponseEntity refreshUserToken(@ParameterObject RefreshUserTokenRequest refreshUserTokenRequest) { RefreshUserTokenUseCase.RefreshUserTokenResponse refreshUserTokenResponse = refreshUserTokenUseCase.execute( RefreshUserTokenUseCase.RefreshUserTokenRequest.builder() - .refreshToken(refreshToken) + .refreshToken(RefreshToken.of(refreshUserTokenRequest.getRefreshToken())) .build()); if (refreshUserTokenResponse == null || !refreshUserTokenResponse.isSuccess()) { Optional.ofNullable(refreshUserTokenResponse) @@ -80,4 +82,17 @@ public static class RefreshUserTokenResponse extends BaseResponse { - RefreshToken findByUserId(UUID userId); -} diff --git a/src/main/java/com/zerozero/core/domain/infra/repository/RefreshTokenRepository.java b/src/main/java/com/zerozero/core/domain/infra/repository/RefreshTokenRepository.java new file mode 100644 index 0000000..a309824 --- /dev/null +++ b/src/main/java/com/zerozero/core/domain/infra/repository/RefreshTokenRepository.java @@ -0,0 +1,8 @@ +package com.zerozero.core.domain.infra.repository; + +import com.zerozero.core.domain.entity.RefreshToken; +import java.util.UUID; +import org.springframework.data.repository.CrudRepository; + +public interface RefreshTokenRepository extends CrudRepository { +} diff --git a/src/main/java/com/zerozero/core/domain/vo/RefreshToken.java b/src/main/java/com/zerozero/core/domain/vo/RefreshToken.java index 8656277..59285ba 100644 --- a/src/main/java/com/zerozero/core/domain/vo/RefreshToken.java +++ b/src/main/java/com/zerozero/core/domain/vo/RefreshToken.java @@ -42,8 +42,9 @@ public static RefreshToken of(com.zerozero.core.domain.entity.RefreshToken entit .build(); } - public com.zerozero.core.domain.entity.RefreshToken toEntity() { + public com.zerozero.core.domain.entity.RefreshToken toEntity(UUID userId) { return com.zerozero.core.domain.entity.RefreshToken.builder() + .userId(userId) .refreshToken(this.getToken()) .build(); }