File tree Expand file tree Collapse file tree
kotlin/hs/kr/entrydsm/user
infrastructure/grpc/server Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package hs.kr.entrydsm.user.domain.admin.application.port.`in`
22
3- import hs.kr.entrydsm.user.domain.admin.adapter.`in`.web. dto.response .InternalAdminResponse
3+ import hs.kr.entrydsm.user.infrastructure.grpc.server. dto.InternalAdminResponse
44import java.util.UUID
55
66/* *
Original file line number Diff line number Diff line change 11package hs.kr.entrydsm.user.domain.admin.application.service
22
3- import hs.kr.entrydsm.user.domain.admin.adapter.`in`.web. dto.response .InternalAdminResponse
3+ import hs.kr.entrydsm.user.infrastructure.grpc.server. dto.InternalAdminResponse
44import hs.kr.entrydsm.user.domain.admin.application.port.`in`.QueryAdminByUUIDUseCase
55import hs.kr.entrydsm.user.domain.admin.application.port.out.QueryAdminPort
66import hs.kr.entrydsm.user.domain.admin.exception.AdminNotFoundException
Original file line number Diff line number Diff line change 1+ package hs.kr.entrydsm.user.infrastructure.grpc.server
2+
3+ import hs.kr.entrydsm.casper.admin.proto.AdminServiceGrpcKt
4+ import hs.kr.entrydsm.casper.admin.proto.AdminServiceProto
5+ import hs.kr.entrydsm.user.domain.admin.application.port.`in`.QueryAdminByUUIDUseCase
6+ import hs.kr.entrydsm.user.infrastructure.grpc.server.mapper.UserGrpcMapper
7+ import net.devh.boot.grpc.server.service.GrpcService
8+ import java.util.UUID
9+
10+ @GrpcService
11+ class AdminGrpcService (
12+ private val queryAdminByUUIDUseCase : QueryAdminByUUIDUseCase ,
13+ private val userGrpcMapper : UserGrpcMapper
14+ ) : AdminServiceGrpcKt.AdminServiceCoroutineImplBase() {
15+
16+ /* *
17+ * 어드민 ID로 어드민 ID를 조회합니다.
18+ *
19+ * @param request 어드민 ID가 포함된 gRPC 요청
20+ * @return 어드민 ID gRPC 응답
21+ * @throws AdminNotFoundException admin을 찾을 수 없을 때
22+ */
23+ override suspend fun getAdminByUUID (request : AdminServiceProto .GetAdminIdRequest ): AdminServiceProto .GetAdminIdResponse {
24+ val adminId = UUID .fromString(request.adminId)
25+ val currentAdminId = queryAdminByUUIDUseCase.queryByUUID(adminId)
26+ return userGrpcMapper.toGetAdminIdResponse(currentAdminId)
27+ }
28+ }
Original file line number Diff line number Diff line change 1- package hs.kr.entrydsm.user.domain.admin.adapter.`in`.web. dto.response
1+ package hs.kr.entrydsm.user.infrastructure.grpc.server. dto
22
33import java.util.UUID
44
55/* *
66 * 내부 시스템 간 관리자 정보 응답 데이터를 담는 DTO 클래스입니다.
7+ *
8+ * @property id 고유 식별자
79 */
810data class InternalAdminResponse (
911 val id : UUID ,
10- )
12+ )
Original file line number Diff line number Diff line change 11package hs.kr.entrydsm.user.infrastructure.grpc.server.mapper
22
3+ import hs.kr.entrydsm.casper.admin.proto.AdminServiceProto
34import hs.kr.entrydsm.casper.user.proto.UserServiceProto
5+ import hs.kr.entrydsm.user.infrastructure.grpc.server.dto.InternalAdminResponse
46import hs.kr.entrydsm.user.infrastructure.grpc.server.dto.InternalUserResponse
57import hs.kr.entrydsm.user.domain.user.adapter.out.domain.UserRole
68import org.springframework.stereotype.Component
@@ -27,6 +29,18 @@ class UserGrpcMapper {
2729 .setRole(toProtoUserRole(userResponse.role))
2830 .build()
2931 }
32+
33+ /* *
34+ * InternalAdminResponse 객체를 gRPC 사용자 정보 응답으로 변환합니다.
35+ *
36+ * @param adminResponse 변환할 사용자 응답 DTO
37+ * @return gRPC 사용자 정보 응답
38+ */
39+ fun toGetAdminIdResponse (adminResponse : InternalAdminResponse ): AdminServiceProto .GetAdminIdResponse {
40+ return AdminServiceProto .GetAdminIdResponse .newBuilder()
41+ .setAdminId(adminResponse.id.toString())
42+ .build()
43+ }
3044
3145 /* *
3246 * 도메인 사용자 역할을 gRPC 프로토콜 사용자 역할로 변환합니다.
Original file line number Diff line number Diff line change 1+ syntax = "proto3" ;
2+
3+ package casper.user ;
4+
5+ option java_package = "hs.kr.entrydsm.casper.admin.proto" ;
6+ option java_outer_classname = "AdminServiceProto" ;
7+
8+ service AdminService {
9+ rpc GetAdminByUUID (GetAdminIdRequest ) returns (GetAdminIdResponse );
10+ }
11+
12+ message GetAdminIdRequest {
13+ string admin_id = 1 ;
14+ }
15+
16+ message GetAdminIdResponse {
17+ string admin_id = 1 ;
18+ }
You can’t perform that action at this time.
0 commit comments