File tree Expand file tree Collapse file tree
casper-user/src/main/kotlin/hs/kr/entrydsm/user/infrastructure/grpc/server/mapper Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package hs.kr.entrydsm.user.infrastructure.grpc.server.mapper
2+
3+ import hs.kr.entrydsm.casper.user.proto.UserServiceProto
4+ import hs.kr.entrydsm.user.infrastructure.grpc.server.dto.InternalUserResponse
5+ import hs.kr.entrydsm.user.domain.user.adapter.out.domain.UserRole
6+ import org.springframework.stereotype.Component
7+
8+ /* *
9+ * 사용자 정보를 gRPC 프로토콜 버퍼와 매핑하는 매퍼 클래스입니다.
10+ * 내부 DTO와 gRPC 메시지 간의 변환을 담당합니다.
11+ */
12+ @Component
13+ class UserGrpcMapper {
14+
15+ /* *
16+ * InternalUserResponse 객체를 gRPC 사용자 정보 응답으로 변환합니다.
17+ *
18+ * @param userResponse 변환할 사용자 응답 DTO
19+ * @return gRPC 사용자 정보 응답
20+ */
21+ fun toGetUserInfoResponse (userResponse : InternalUserResponse ): UserServiceProto .GetUserInfoResponse {
22+ return UserServiceProto .GetUserInfoResponse .newBuilder()
23+ .setId(userResponse.id.toString())
24+ .setPhoneNumber(userResponse.phoneNumber)
25+ .setName(userResponse.name)
26+ .setIsParent(userResponse.isParent)
27+ .setRole(toProtoUserRole(userResponse.role))
28+ .build()
29+ }
30+
31+ /* *
32+ * 도메인 사용자 역할을 gRPC 프로토콜 사용자 역할로 변환합니다.
33+ *
34+ * @param userRole 변환할 도메인 사용자 역할
35+ * @return gRPC 프로토콜 사용자 역할
36+ */
37+ private fun toProtoUserRole (userRole : UserRole ): UserServiceProto .UserRole {
38+ return when (userRole){
39+ UserRole .ROOT -> UserServiceProto .UserRole .ROOT
40+ UserRole .USER -> UserServiceProto .UserRole .USER
41+ UserRole .ADMIN -> UserServiceProto .UserRole .ADMIN
42+ }
43+ }
44+ }
You can’t perform that action at this time.
0 commit comments