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 689a86294f3601bb328386799b4b2f0b42bb0793..b0089ec9321c326f3754f48bc573f7859e5b12af 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 @@ -52,6 +52,7 @@ public class OzgCloudClientAutoConfiguration { private static final String CLIENT_NAME_VORGANG_MANAGER = "vorgang-manager"; private static final String CLIENT_NAME_FILE_MANAGER = "file-manager"; private static final String CLIENT_NAME_COMMAND_MANAGER = "command-manager"; + private static final String CLIENT_NAME_USER_MANAGER = "user-manager"; @Autowired private OzgCloudVorgangManagerProperties vorgangManagerProperties; @@ -59,6 +60,8 @@ public class OzgCloudClientAutoConfiguration { private OzgCloudFileManagerProperties fileManagerProperties; @Autowired private OzgCloudCommandManagerProperties commandManagerProperties; + @Autowired + private OzgCloudUserManagerProperties userManagerProperties; // @Bean // @ConditionalOnProperty("ozgcloud.vorgang-manager.address") @@ -82,6 +85,23 @@ public class OzgCloudClientAutoConfiguration { return properties; } + @Bean + @ConditionalOnProperty("ozgcloud.user-manager.address") + GrpcChannelsProperties userManagerProperties() { + var properties = new GrpcChannelsProperties(); + var clientMap = properties.getClient(); + addUserManager(clientMap); + return properties; + } + + private void addUserManager(Map<String, GrpcChannelProperties> clientMap) { + var channelProps = new GrpcChannelProperties(); + channelProps.setAddress(userManagerProperties.getAddress()); + channelProps.setNegotiationType(userManagerProperties.getNegotiationType()); + + clientMap.put(CLIENT_NAME_USER_MANAGER, channelProps); + } + private void addVorgangManager(Map<String, GrpcChannelProperties> clientMap) { var channelProps = new GrpcChannelProperties(); channelProps.setAddress(vorgangManagerProperties.getAddress()); diff --git a/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudUserManagerProperties.java b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudUserManagerProperties.java new file mode 100644 index 0000000000000000000000000000000000000000..0686b0204efccec1aa962a6593c86688320e3876 --- /dev/null +++ b/ozg-cloud-spring-boot-starter/src/main/java/de/ozgcloud/client/autoconfigure/OzgCloudUserManagerProperties.java @@ -0,0 +1,24 @@ +package de.ozgcloud.client.autoconfigure; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +import lombok.Getter; +import lombok.Setter; +import net.devh.boot.grpc.client.config.NegotiationType; + +@Getter +@Setter +@Configuration +@ConfigurationProperties("ozgcloud.vorgang-manager") +public class OzgCloudUserManagerProperties { + /** + * Network-Address of the User-Manager instance, starting with resolving + * protocoll. + */ + private String address; + /** + * Negotiation Type for the gRPC connection - possible Values: PLAINTEXT, TLS + */ + private NegotiationType negotiationType = NegotiationType.valueOf("TLS"); +}