From 03e1d4a7cdc8096b5df862b7f95e253c47425e45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=A9tan=20Collaud?= Date: Thu, 8 Feb 2024 15:06:20 +0100 Subject: [PATCH] current user request --- .../kcc/aggregator/graphql/UserResource.java | 26 +++++++++++++++++++ .../graphql/data/ContextDataSaveRequest.java | 7 ++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/UserResource.java diff --git a/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/UserResource.java b/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/UserResource.java new file mode 100644 index 0000000..edc4205 --- /dev/null +++ b/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/UserResource.java @@ -0,0 +1,26 @@ +package io.spoud.kcc.aggregator.graphql; + +import io.quarkus.security.Authenticated; +import io.quarkus.security.identity.SecurityIdentity; +import jakarta.enterprise.context.RequestScoped; +import jakarta.inject.Inject; +import lombok.RequiredArgsConstructor; +import org.eclipse.microprofile.graphql.GraphQLApi; +import org.eclipse.microprofile.graphql.NonNull; +import org.eclipse.microprofile.graphql.Query; + +@GraphQLApi +@RequiredArgsConstructor +@Authenticated +@RequestScoped +public class UserResource { + + @Inject + SecurityIdentity securityIdentity; + + + @Query("currentUser") + public @NonNull String currentUser() { + return securityIdentity.getPrincipal().getName(); + } +} diff --git a/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/data/ContextDataSaveRequest.java b/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/data/ContextDataSaveRequest.java index 279d555..1ddc788 100644 --- a/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/data/ContextDataSaveRequest.java +++ b/aggregator/src/main/java/io/spoud/kcc/aggregator/graphql/data/ContextDataSaveRequest.java @@ -10,7 +10,12 @@ @RegisterForReflection public record ContextDataSaveRequest( - String id, Instant validFrom, Instant validUntil, @NonNull EntityType entityType, @NonNull String regex, @NonNull Map<@NonNull String, @NonNull String> context) { + String id, + Instant validFrom, + Instant validUntil, + @NonNull EntityType entityType, + @NonNull String regex, + @NonNull Map<@NonNull String, @NonNull String> context) { public ContextData toAvro() { return new ContextData(Instant.now(), validFrom, validUntil, entityType, regex, context); }