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
Branches
Tags
No related merge requests found
......@@ -31,7 +31,7 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-dependencies</artifactId>
<version>4.5.0</version>
<version>4.7.0-SNAPSHOT</version>
<relativePath/>
</parent>
......
......@@ -40,7 +40,7 @@
<name>OZG-Cloud Collaboration Manager Server</name>
<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>
</properties>
......
......@@ -23,13 +23,12 @@
*/
package de.ozgcloud.collaboration.common.callcontext;
import static de.ozgcloud.common.grpc.GrpcUtil.*;
import java.util.UUID;
import org.apache.logging.log4j.CloseableThreadContext;
import org.springframework.security.core.context.SecurityContextHolder;
import de.ozgcloud.common.grpc.GrpcUtil;
import io.grpc.ForwardingServerCallListener;
import io.grpc.Metadata;
import io.grpc.ServerCall;
......@@ -41,18 +40,6 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
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
public <A, B> Listener<A> interceptCall(ServerCall<A, B> call, Metadata headers, ServerCallHandler<A, B> next) {
return new LogContextSettingListener<>(next.startCall(call, headers), headers);
......@@ -94,7 +81,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser
}
void doSurroundOn(Runnable runnable) {
try (var ctc = CloseableThreadContext.put(REQUEST_ID_KEY, requestId)) {
try (var ctc = CloseableThreadContext.put(GrpcUtil.KEY_REQUEST_ID, requestId)) {
startSecurityContext();
runnable.run();
} finally {
......@@ -103,7 +90,7 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser
}
String getRequestId() {
return getFromHeaders(KEY_REQUEST_ID, headers).orElseGet(() -> UUID.randomUUID().toString());
return GrpcUtil.getRequestId(headers).orElseGet(() -> UUID.randomUUID().toString());
}
void startSecurityContext() {
......@@ -113,17 +100,17 @@ public class CollaborationManagerCallContextGrpcServerInterceptor implements Ser
CallContextUser createUser() {
var builder = CallContextUser.builder()
.userId(getFromHeaders(KEY_USER_ID, headers))
.userName(getFromHeaders(KEY_USER_NAME, headers))
.organisatorischeEinheitenIds(getCollection(KEY_ACCESS_LIMITED_ORGAID, headers));
.userId(GrpcUtil.getUserId(headers))
.userName(GrpcUtil.getUserName(headers));
getFromHeaders(KEY_ACCESS_LIMITED, headers).map(Boolean::parseBoolean).ifPresentOrElse(
builder::organisationEinheitenIdCheckNecessary,
GrpcUtil.getAccessLimited(headers).ifPresentOrElse(
isAccessLimited -> builder.organisationEinheitenIdCheckNecessary(isAccessLimited)
.organisatorischeEinheitenIds(GrpcUtil.getAccessLimitedOrgaIds(headers)),
() -> builder.organisationEinheitenIdCheckNecessary(false));
// TODO throw exception if missing required data as soon all clients are fine
// 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();
}
......
......@@ -32,7 +32,7 @@
<parent>
<groupId>de.ozgcloud.common</groupId>
<artifactId>ozgcloud-common-parent</artifactId>
<version>4.5.0</version>
<version>4.7.0-SNAPSHOT</version>
</parent>
<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