Skip to content
Snippets Groups Projects
Commit 8c8f8782 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'OZG-6990 Archivierung: Vorgang auf in Archivierung setzen'...

Merge pull request 'OZG-6990 Archivierung: Vorgang auf in Archivierung setzen' (#18) from OZG-6990-VorgangAufInArchivierungSetzen into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/collaboration-manager/pulls/18


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents a88eb25e 9a444b58
No related branches found
No related tags found
No related merge requests found
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<parent> <parent>
<groupId>de.ozgcloud.common</groupId> <groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId> <artifactId>ozgcloud-common-dependencies</artifactId>
<version>4.5.0</version> <version>4.7.0-SNAPSHOT</version>
<relativePath/> <relativePath/>
</parent> </parent>
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<name>OZG-Cloud Collaboration Manager Server</name> <name>OZG-Cloud Collaboration Manager Server</name>
<properties> <properties>
<vorgang-manager.version>2.17.0</vorgang-manager.version> <vorgang-manager.version>2.18.0</vorgang-manager.version>
<api-lib.version>0.13.0</api-lib.version> <api-lib.version>0.13.0</api-lib.version>
</properties> </properties>
......
...@@ -23,13 +23,12 @@ ...@@ -23,13 +23,12 @@
*/ */
package de.ozgcloud.collaboration.common.callcontext; package de.ozgcloud.collaboration.common.callcontext;
import static de.ozgcloud.common.grpc.GrpcUtil.*;
import java.util.UUID; import java.util.UUID;
import org.apache.logging.log4j.CloseableThreadContext; import org.apache.logging.log4j.CloseableThreadContext;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import de.ozgcloud.common.grpc.GrpcUtil;
import io.grpc.ForwardingServerCallListener; import io.grpc.ForwardingServerCallListener;
import io.grpc.Metadata; import io.grpc.Metadata;
import io.grpc.ServerCall; import io.grpc.ServerCall;
...@@ -41,18 +40,6 @@ import lombok.extern.log4j.Log4j2; ...@@ -41,18 +40,6 @@ import lombok.extern.log4j.Log4j2;
@Log4j2 @Log4j2
public class CollaborationManagerCallContextGrpcServerInterceptor implements ServerInterceptor { public class CollaborationManagerCallContextGrpcServerInterceptor implements ServerInterceptor {
private static final String REQUEST_ID_KEY = "requestId";
// TODO In GrpcUtil verschieben
static final String KEY_USER_ID = "USER_ID-bin";
static final String KEY_USER_NAME = "USER_NAME-bin";
static final String KEY_CLIENT_NAME = "CLIENT_NAME-bin";
static final String KEY_REQUEST_ID = "REQUEST_ID-bin";
static final String KEY_ACCESS_LIMITED_ORGAID = "ACCESS_LIMITED_TO_ORGANISATORISCHEEINHEITENID-bin";
static final String KEY_ACCESS_LIMITED = "ACCESS_LIMITED-bin";
static final String REQUEST_ID_PLACEHOLDER = "no-requestId-given";
@Override @Override
public <A, B> Listener<A> interceptCall(ServerCall<A, B> call, Metadata headers, ServerCallHandler<A, B> next) { public <A, B> Listener<A> interceptCall(ServerCall<A, B> call, Metadata headers, ServerCallHandler<A, B> next) {
return new LogContextSettingListener<>(next.startCall(call, headers), headers); return new LogContextSettingListener<>(next.startCall(call, headers), headers);
...@@ -94,7 +81,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser ...@@ -94,7 +81,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser
} }
void doSurroundOn(Runnable runnable) { void doSurroundOn(Runnable runnable) {
try (var ctc = CloseableThreadContext.put(REQUEST_ID_KEY, requestId)) { try (var ctc = CloseableThreadContext.put(GrpcUtil.KEY_REQUEST_ID, requestId)) {
startSecurityContext(); startSecurityContext();
runnable.run(); runnable.run();
} finally { } finally {
...@@ -103,7 +90,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser ...@@ -103,7 +90,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser
} }
String getRequestId() { String getRequestId() {
return getFromHeaders(KEY_REQUEST_ID, headers).orElseGet(() -> UUID.randomUUID().toString()); return GrpcUtil.getRequestId(headers).orElseGet(() -> UUID.randomUUID().toString());
} }
void startSecurityContext() { void startSecurityContext() {
...@@ -113,17 +100,17 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser ...@@ -113,17 +100,17 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser
CallContextUser createUser() { CallContextUser createUser() {
var builder = CallContextUser.builder() var builder = CallContextUser.builder()
.userId(getFromHeaders(KEY_USER_ID, headers)) .userId(GrpcUtil.getUserId(headers))
.userName(getFromHeaders(KEY_USER_NAME, headers)) .userName(GrpcUtil.getUserName(headers));
.organisatorischeEinheitenIds(getCollection(KEY_ACCESS_LIMITED_ORGAID, headers));
getFromHeaders(KEY_ACCESS_LIMITED, headers).map(Boolean::parseBoolean).ifPresentOrElse( GrpcUtil.getAccessLimited(headers).ifPresentOrElse(
builder::organisationEinheitenIdCheckNecessary, isAccessLimited -> builder.organisationEinheitenIdCheckNecessary(isAccessLimited)
.organisatorischeEinheitenIds(GrpcUtil.getAccessLimitedOrgaIds(headers)),
() -> builder.organisationEinheitenIdCheckNecessary(false)); () -> builder.organisationEinheitenIdCheckNecessary(false));
// TODO throw exception if missing required data as soon all clients are fine // TODO throw exception if missing required data as soon all clients are fine
// with using headers for auth data. // with using headers for auth data.
getFromHeaders(KEY_CLIENT_NAME, headers).ifPresentOrElse(builder::clientName, () -> LOG.warn("Missing client name in grpc header.")); GrpcUtil.getClientName(headers).ifPresentOrElse(builder::clientName, () -> LOG.warn("Missing client name in grpc header."));
return builder.build(); return builder.build();
} }
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<parent> <parent>
<groupId>de.ozgcloud.common</groupId> <groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId> <artifactId>ozgcloud-common-parent</artifactId>
<version>4.5.0</version> <version>4.7.0-SNAPSHOT</version>
</parent> </parent>
<groupId>de.ozgcloud.collaboration</groupId> <groupId>de.ozgcloud.collaboration</groupId>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment