From 0993085d93b9cda354a0c1c2ea53b1228c6c2c6b Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 21 Dec 2023 14:17:26 +0100 Subject: [PATCH] add user profile service --- api-lib-core/pom.xml | 10 ++--- .../user/GrpcOzgCloudUserProfileService.java | 40 +++++++++++-------- .../apilib/user/UserProfileMapper.java | 18 ++++++--- .../OzgCloudClientAutoConfiguration.java | 11 +++-- pom.xml | 4 +- 5 files changed, 49 insertions(+), 34 deletions(-) diff --git a/api-lib-core/pom.xml b/api-lib-core/pom.xml index 2d9a51c..f91b9b7 100644 --- a/api-lib-core/pom.xml +++ b/api-lib-core/pom.xml @@ -42,11 +42,11 @@ <version>${vorgang-manager.version}</version> </dependency> -<!-- <dependency>--> -<!-- <groupId>de.ozgcloud.user</groupId>--> -<!-- <artifactId>user-manager-interface</artifactId>--> -<!-- <version>${user-manager.version}</version>--> -<!-- </dependency>--> + <dependency> + <groupId>de.ozgcloud.user</groupId> + <artifactId>user-manager-interface</artifactId> + <version>${user-manager.version}</version> + </dependency> <!--spring --> <dependency> diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/user/GrpcOzgCloudUserProfileService.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/user/GrpcOzgCloudUserProfileService.java index e5ea311..d9ca904 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/user/GrpcOzgCloudUserProfileService.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/user/GrpcOzgCloudUserProfileService.java @@ -1,23 +1,29 @@ package de.ozgcloud.apilib.user; +import de.ozgcloud.user.grpc.userprofile.UserProfileServiceGrpc.UserProfileServiceBlockingStub; +import de.ozgcloud.user.userprofile.GrpcGetUserProfileRequest; import lombok.RequiredArgsConstructor; +import net.devh.boot.grpc.client.inject.GrpcClient; @RequiredArgsConstructor -public class GrpcOzgCloudUserProfileService { -//implements OzgCloudUserProfileService { - /* - * @GrpcClient("user-manager") private final UserProfileServiceBlockingStub - * serviceStub; - * - * private final UserProfileMapper mapper; - * - * @Override public OzgCloudUserProfile getById(OzgCloudUserId userId) { var - * grpcUserProfileResponse = serviceStub.getById(buildGetUserRequest(userId)); - * - * return mapper.mapFromGrpc(grpcUserProfileResponse.getUserProfile()); } - * - * private GrpcGetUserProfileRequest buildGetUserRequest(OzgCloudUserId id) { - * return GrpcGetUserProfileRequest.newBuilder() .setUserId(id.toString()) - * .build(); } - */ +public class GrpcOzgCloudUserProfileService + implements OzgCloudUserProfileService { + + @GrpcClient("user-manager") + private final UserProfileServiceBlockingStub serviceStub; + + private final UserProfileMapper mapper; + + @Override + public OzgCloudUserProfile getById(OzgCloudUserId userId) { + var grpcUserProfileResponse = serviceStub.getById(buildGetUserRequest(userId)); + + return mapper.mapFromGrpc(grpcUserProfileResponse.getUserProfile()); + } + + private GrpcGetUserProfileRequest buildGetUserRequest(OzgCloudUserId id) { + return GrpcGetUserProfileRequest.newBuilder().setUserId(id.toString()) + .build(); + } + } diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/user/UserProfileMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/user/UserProfileMapper.java index bc9b7b0..8cf98db 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/user/UserProfileMapper.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/user/UserProfileMapper.java @@ -1,13 +1,19 @@ package de.ozgcloud.apilib.user; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; + +import de.ozgcloud.user.userprofile.GrpcUserProfile; +import lombok.NonNull; @Mapper public interface UserProfileMapper { - /* - * OzgCloudUserProfile mapFromGrpc(GrpcUserProfile userProfile); - * - * default OzgCloudUserId toOzgCloudUserId(@NonNull String id) { return - * OzgCloudUserId.from(id); } - */ + + @Mapping(target = "email", source = "email") + OzgCloudUserProfile mapFromGrpc(GrpcUserProfile userProfile); + + default OzgCloudUserId toOzgCloudUserId(@NonNull String id) { + return OzgCloudUserId.from(id); + } + } diff --git a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java index 2da75f7..98d8d61 100644 --- a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java +++ b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudClientAutoConfiguration.java @@ -31,12 +31,12 @@ import de.ozgcloud.apilib.vorgang.dummy.DummyVorgangService; import de.ozgcloud.apilib.vorgang.grpc.GrpcOzgCloudVorgangService; import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangMapper; import de.ozgcloud.apilib.vorgang.grpc.OzgCloudVorgangStubMapper; -import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc.CommandServiceBlockingStub; +import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc; import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; +import io.grpc.ManagedChannelBuilder; import net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration; import net.devh.boot.grpc.client.config.GrpcChannelProperties; import net.devh.boot.grpc.client.config.GrpcChannelsProperties; -import net.devh.boot.grpc.client.inject.GrpcClient; @AutoConfiguration(before = GrpcClientAutoConfiguration.class) @ComponentScan("de.ozgcloud.client.autoconfigure") @@ -169,8 +169,11 @@ public class OzgCloudClientAutoConfiguration { @Bean @ConditionalOnProperty("ozgcloud.command-manager.address") - OzgCloudCommandService grpcOzgCloudCommandService(@GrpcClient("ozgcloud-command-manager") CommandServiceBlockingStub commandServiceStub, - CommandMapper commandMapper, OzgCloudCallContextProvider contextProvider) { + OzgCloudCommandService grpcOzgCloudCommandService(CommandMapper commandMapper, OzgCloudCallContextProvider contextProvider) { + var channel = ManagedChannelBuilder.forTarget(commandManagerProperties.getAddress()).usePlaintext().build(); + + var commandServiceStub = CommandServiceGrpc.newBlockingStub(channel); + return new GrpcOzgCloudCommandService(commandServiceStub, commandMapper, contextProvider, GrpcOzgCloudCommandService.DEFAULT_COMMAND_REQUEST_THRESHOLD_MILLIS); } diff --git a/pom.xml b/pom.xml index 2d12620..7940ece 100644 --- a/pom.xml +++ b/pom.xml @@ -28,8 +28,8 @@ <failsafe-plugin.version>3.2.2</failsafe-plugin.version> <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version> - <vorgang-manager.version>2.0.0-SNAPSHOT</vorgang-manager.version> - <user-manager.version>2.0.0-SNAPSHOT</user-manager.version> + <vorgang-manager.version>2.0.0</vorgang-manager.version> + <user-manager.version>2.1.0-SNAPSHOT</user-manager.version> </properties> <build> -- GitLab