From fb9b0a49c5afc568aa462b8217e2c7aad01245f5 Mon Sep 17 00:00:00 2001 From: ose0221 Date: Fri, 27 Mar 2026 18:17:51 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EC=9D=91=EB=8B=B5=20=ED=95=84=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/pinback/application/auth/usecase/AuthUsecase.java | 4 +++- .../google/dto/response/GoogleLoginResponseV3.java | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/application/src/main/java/com/pinback/application/auth/usecase/AuthUsecase.java b/application/src/main/java/com/pinback/application/auth/usecase/AuthUsecase.java index bd7a778..6724a14 100644 --- a/application/src/main/java/com/pinback/application/auth/usecase/AuthUsecase.java +++ b/application/src/main/java/com/pinback/application/auth/usecase/AuthUsecase.java @@ -167,8 +167,10 @@ public Mono getInfoAndTokenV3(String email, String pictur saveRefreshTokenToRedis(updatedUser.getId(), refreshToken); + String jobRole = updatedUser.hasJob() ? updatedUser.getJob().getValue() : null; + return Mono.just(GoogleLoginResponseV3.loggedIn( - updatedUser.hasJob(), updatedUser.getId(), updatedUser.getEmail(), accessToken, + updatedUser.hasJob(), jobRole, updatedUser.getId(), updatedUser.getEmail(), accessToken, refreshToken )); } else { diff --git a/application/src/main/java/com/pinback/application/google/dto/response/GoogleLoginResponseV3.java b/application/src/main/java/com/pinback/application/google/dto/response/GoogleLoginResponseV3.java index 59780c9..c556a4e 100644 --- a/application/src/main/java/com/pinback/application/google/dto/response/GoogleLoginResponseV3.java +++ b/application/src/main/java/com/pinback/application/google/dto/response/GoogleLoginResponseV3.java @@ -5,17 +5,19 @@ public record GoogleLoginResponseV3( boolean isUser, boolean hasJob, + String jobRole, UUID userId, String email, String accessToken, String refreshToken ) { - public static GoogleLoginResponseV3 loggedIn(boolean hasJob, UUID userId, String email, String accessToken, + public static GoogleLoginResponseV3 loggedIn(boolean hasJob, String jobRole, UUID userId, String email, + String accessToken, String refreshToken) { - return new GoogleLoginResponseV3(true, hasJob, userId, email, accessToken, refreshToken); + return new GoogleLoginResponseV3(true, hasJob, jobRole, userId, email, accessToken, refreshToken); } public static GoogleLoginResponseV3 tempLogin(UUID userId, String email) { - return new GoogleLoginResponseV3(false, false, userId, email, null, null); + return new GoogleLoginResponseV3(false, false, null, userId, email, null, null); } } From 53992ffa9c2ee90f1c7012ef8a0f242d25781dca Mon Sep 17 00:00:00 2001 From: ose0221 Date: Tue, 31 Mar 2026 15:55:52 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=EC=9C=A0=EC=A0=80=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=ED=8D=BC=ED=8B=B0=20=EC=A1=B0=ED=9A=8C=20API=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/user/controller/UserControllerV3.java | 9 +++++++++ .../user/dto/response/UserPropertyResponse.java | 12 ++++++++++++ .../application/user/port/in/UserManagementPort.java | 3 +++ .../user/usecase/UserManagementUsecase.java | 9 +++++++++ 4 files changed, 33 insertions(+) create mode 100644 application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java diff --git a/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java b/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java index a8692fd..b38f4c1 100644 --- a/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java +++ b/api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java @@ -9,6 +9,7 @@ import com.pinback.api.user.dto.request.UpdateUserJobRequest; import com.pinback.application.user.dto.response.UserHasJobInfoResponse; import com.pinback.application.user.dto.response.UserJobInfoResponse; +import com.pinback.application.user.dto.response.UserPropertyResponse; import com.pinback.application.user.port.in.UserManagementPort; import com.pinback.domain.user.entity.User; import com.pinback.shared.annotation.CurrentUser; @@ -42,4 +43,12 @@ public ResponseDto getUserJob( UserHasJobInfoResponse response = userManagementPort.getUserJobInfo(user); return ResponseDto.ok(response); } + + @GetMapping("/properties") + public ResponseDto getUserProperty( + @Parameter(hidden = true) @CurrentUser User user + ) { + UserPropertyResponse response = userManagementPort.getUserProperty(user); + return ResponseDto.ok(response); + } } diff --git a/application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java b/application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java new file mode 100644 index 0000000..2dc5051 --- /dev/null +++ b/application/src/main/java/com/pinback/application/user/dto/response/UserPropertyResponse.java @@ -0,0 +1,12 @@ +package com.pinback.application.user.dto.response; + +import java.util.UUID; + +public record UserPropertyResponse( + UUID userId, + String jobRole +) { + public static UserPropertyResponse of(UUID id, String jobRole) { + return new UserPropertyResponse(id, jobRole); + } +} diff --git a/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java b/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java index 73f3ab2..3d4c16f 100644 --- a/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java +++ b/application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java @@ -8,6 +8,7 @@ import com.pinback.application.user.dto.response.UserInfoResponse; import com.pinback.application.user.dto.response.UserJobInfoResponse; import com.pinback.application.user.dto.response.UserProfileInfoResponse; +import com.pinback.application.user.dto.response.UserPropertyResponse; import com.pinback.application.user.dto.response.UserRemindInfoResponse; import com.pinback.domain.user.entity.User; @@ -24,4 +25,6 @@ public interface UserManagementPort { UserJobInfoResponse updateUserJobInfo(User user, UpdateUserJobCommand command); UserHasJobInfoResponse getUserJobInfo(User user); + + UserPropertyResponse getUserProperty(User user); } diff --git a/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java b/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java index f83011a..c30b9c2 100644 --- a/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java +++ b/application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java @@ -16,6 +16,7 @@ import com.pinback.application.user.dto.response.UserInfoResponse; import com.pinback.application.user.dto.response.UserJobInfoResponse; import com.pinback.application.user.dto.response.UserProfileInfoResponse; +import com.pinback.application.user.dto.response.UserPropertyResponse; import com.pinback.application.user.dto.response.UserRemindInfoResponse; import com.pinback.application.user.port.in.UserManagementPort; import com.pinback.application.user.port.out.AcornServicePort; @@ -96,6 +97,14 @@ public UserHasJobInfoResponse getUserJobInfo(User user) { } + @Override + @Transactional(readOnly = true) + public UserPropertyResponse getUserProperty(User user) { + User getUser = userGetServicePort.findById(user.getId()); + + return UserPropertyResponse.of(getUser.getId(), getUser.getJob().getValue()); + } + private LocalDateTime getRemindDateTime(LocalDateTime now, LocalTime remindDefault) { LocalDateTime remindDate = now.plusDays(1L);