Skip to content

Commit c7ac76a

Browse files
authored
Merge pull request #164 from Pinback-Team/dev
유저 프로퍼티 조회 API prod 반영
2 parents df39a3d + eff5040 commit c7ac76a

6 files changed

Lines changed: 41 additions & 4 deletions

File tree

api/src/main/java/com/pinback/api/user/controller/UserControllerV3.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.pinback.api.user.dto.request.UpdateUserJobRequest;
1010
import com.pinback.application.user.dto.response.UserHasJobInfoResponse;
1111
import com.pinback.application.user.dto.response.UserJobInfoResponse;
12+
import com.pinback.application.user.dto.response.UserPropertyResponse;
1213
import com.pinback.application.user.port.in.UserManagementPort;
1314
import com.pinback.domain.user.entity.User;
1415
import com.pinback.shared.annotation.CurrentUser;
@@ -42,4 +43,12 @@ public ResponseDto<UserHasJobInfoResponse> getUserJob(
4243
UserHasJobInfoResponse response = userManagementPort.getUserJobInfo(user);
4344
return ResponseDto.ok(response);
4445
}
46+
47+
@GetMapping("/properties")
48+
public ResponseDto<UserPropertyResponse> getUserProperty(
49+
@Parameter(hidden = true) @CurrentUser User user
50+
) {
51+
UserPropertyResponse response = userManagementPort.getUserProperty(user);
52+
return ResponseDto.ok(response);
53+
}
4554
}

application/src/main/java/com/pinback/application/auth/usecase/AuthUsecase.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,10 @@ public Mono<GoogleLoginResponseV3> getInfoAndTokenV3(String email, String pictur
167167

168168
saveRefreshTokenToRedis(updatedUser.getId(), refreshToken);
169169

170+
String jobRole = updatedUser.hasJob() ? updatedUser.getJob().getValue() : null;
171+
170172
return Mono.just(GoogleLoginResponseV3.loggedIn(
171-
updatedUser.hasJob(), updatedUser.getId(), updatedUser.getEmail(), accessToken,
173+
updatedUser.hasJob(), jobRole, updatedUser.getId(), updatedUser.getEmail(), accessToken,
172174
refreshToken
173175
));
174176
} else {

application/src/main/java/com/pinback/application/google/dto/response/GoogleLoginResponseV3.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
public record GoogleLoginResponseV3(
66
boolean isUser,
77
boolean hasJob,
8+
String jobRole,
89
UUID userId,
910
String email,
1011
String accessToken,
1112
String refreshToken
1213
) {
13-
public static GoogleLoginResponseV3 loggedIn(boolean hasJob, UUID userId, String email, String accessToken,
14+
public static GoogleLoginResponseV3 loggedIn(boolean hasJob, String jobRole, UUID userId, String email,
15+
String accessToken,
1416
String refreshToken) {
15-
return new GoogleLoginResponseV3(true, hasJob, userId, email, accessToken, refreshToken);
17+
return new GoogleLoginResponseV3(true, hasJob, jobRole, userId, email, accessToken, refreshToken);
1618
}
1719

1820
public static GoogleLoginResponseV3 tempLogin(UUID userId, String email) {
19-
return new GoogleLoginResponseV3(false, false, userId, email, null, null);
21+
return new GoogleLoginResponseV3(false, false, null, userId, email, null, null);
2022
}
2123
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.pinback.application.user.dto.response;
2+
3+
import java.util.UUID;
4+
5+
public record UserPropertyResponse(
6+
UUID userId,
7+
String jobRole
8+
) {
9+
public static UserPropertyResponse of(UUID id, String jobRole) {
10+
return new UserPropertyResponse(id, jobRole);
11+
}
12+
}

application/src/main/java/com/pinback/application/user/port/in/UserManagementPort.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.pinback.application.user.dto.response.UserInfoResponse;
99
import com.pinback.application.user.dto.response.UserJobInfoResponse;
1010
import com.pinback.application.user.dto.response.UserProfileInfoResponse;
11+
import com.pinback.application.user.dto.response.UserPropertyResponse;
1112
import com.pinback.application.user.dto.response.UserRemindInfoResponse;
1213
import com.pinback.domain.user.entity.User;
1314

@@ -24,4 +25,6 @@ public interface UserManagementPort {
2425
UserJobInfoResponse updateUserJobInfo(User user, UpdateUserJobCommand command);
2526

2627
UserHasJobInfoResponse getUserJobInfo(User user);
28+
29+
UserPropertyResponse getUserProperty(User user);
2730
}

application/src/main/java/com/pinback/application/user/usecase/UserManagementUsecase.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.pinback.application.user.dto.response.UserInfoResponse;
1717
import com.pinback.application.user.dto.response.UserJobInfoResponse;
1818
import com.pinback.application.user.dto.response.UserProfileInfoResponse;
19+
import com.pinback.application.user.dto.response.UserPropertyResponse;
1920
import com.pinback.application.user.dto.response.UserRemindInfoResponse;
2021
import com.pinback.application.user.port.in.UserManagementPort;
2122
import com.pinback.application.user.port.out.AcornServicePort;
@@ -96,6 +97,14 @@ public UserHasJobInfoResponse getUserJobInfo(User user) {
9697

9798
}
9899

100+
@Override
101+
@Transactional(readOnly = true)
102+
public UserPropertyResponse getUserProperty(User user) {
103+
User getUser = userGetServicePort.findById(user.getId());
104+
105+
return UserPropertyResponse.of(getUser.getId(), getUser.getJob().getValue());
106+
}
107+
99108
private LocalDateTime getRemindDateTime(LocalDateTime now, LocalTime remindDefault) {
100109
LocalDateTime remindDate = now.plusDays(1L);
101110

0 commit comments

Comments
 (0)