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);