From 861b0c53abb36feede6619f0e215d6bb7483df1e Mon Sep 17 00:00:00 2001 From: "J.R. Hill" Date: Mon, 20 Nov 2023 17:33:28 -0800 Subject: [PATCH] feat(client): add contextual tuples to ClientCheckRequest --- .../openfga/sdk/api/client/ClientCheckRequest.java | 13 ++++++++++++- .../dev/openfga/sdk/api/client/OpenFgaClient.java | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/openfga/sdk/api/client/ClientCheckRequest.java b/src/main/java/dev/openfga/sdk/api/client/ClientCheckRequest.java index afc2ffd..1ce257c 100644 --- a/src/main/java/dev/openfga/sdk/api/client/ClientCheckRequest.java +++ b/src/main/java/dev/openfga/sdk/api/client/ClientCheckRequest.java @@ -12,11 +12,13 @@ package dev.openfga.sdk.api.client; +import java.util.List; + public class ClientCheckRequest { private String user; private String relation; private String _object; - // TODO: Add "contextual tuples" + private List contextualTuples; public ClientCheckRequest _object(String _object) { this._object = _object; @@ -56,4 +58,13 @@ public ClientCheckRequest user(String user) { public String getUser() { return user; } + + public ClientCheckRequest contextualTuples(List contextualTuples) { + this.contextualTuples = contextualTuples; + return this; + } + + public List getContextualTuples() { + return contextualTuples; + } } diff --git a/src/main/java/dev/openfga/sdk/api/client/OpenFgaClient.java b/src/main/java/dev/openfga/sdk/api/client/OpenFgaClient.java index 9b10e4f..51f8bfc 100644 --- a/src/main/java/dev/openfga/sdk/api/client/OpenFgaClient.java +++ b/src/main/java/dev/openfga/sdk/api/client/OpenFgaClient.java @@ -417,6 +417,11 @@ public CompletableFuture check(ClientCheckRequest request, .user(request.getUser()) .relation(request.getRelation()) ._object(request.getObject())); + + var contextualTuples = request.getContextualTuples(); + if (contextualTuples != null && !contextualTuples.isEmpty()) { + body.contextualTuples(ClientTupleKey.asContextualTupleKeys(contextualTuples)); + } } if (options != null && !isNullOrWhitespace(options.getAuthorizationModelId())) {