From ab3dd1ab8bb22c3823e19a4d3652f5858866905c Mon Sep 17 00:00:00 2001 From: Mary Dickson Date: Mon, 27 Apr 2026 15:15:26 -0700 Subject: [PATCH 1/3] chore(docs): DSPX-2959 use shorthand enum constants in Go SDK examples Update Go code samples to use the new policy.OperatorIn, policy.BooleanAnd, policy.RuleAnyOf shorthand constants instead of verbose proto enum names. Companion to opentdf/platform#3408. Co-Authored-By: Claude Opus 4.6 (1M context) --- code_samples/policy_code/create_attribute.mdx | 2 +- .../policy_code/create_subject_condition_set.mdx | 4 ++-- docs/sdks/policy.mdx | 4 ++-- docs/sdks/quickstart/go.mdx | 12 ++++++------ 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/code_samples/policy_code/create_attribute.mdx b/code_samples/policy_code/create_attribute.mdx index 6ca31d13..4dbce92c 100644 --- a/code_samples/policy_code/create_attribute.mdx +++ b/code_samples/policy_code/create_attribute.mdx @@ -55,7 +55,7 @@ resp, err := client.Attributes.CreateAttribute(context.Background(), &attributes.CreateAttributeRequest{ NamespaceId: "f47ac10b-58cc-4372-a567-0e02b2c3d479", Name: "classification", - Rule: policy.AttributeRuleTypeEnum_ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF, + Rule: policy.RuleAnyOf, Values: []string{"public", "confidential", "secret"}, }, ) diff --git a/code_samples/policy_code/create_subject_condition_set.mdx b/code_samples/policy_code/create_subject_condition_set.mdx index 6ee1741b..23cf8d75 100644 --- a/code_samples/policy_code/create_subject_condition_set.mdx +++ b/code_samples/policy_code/create_subject_condition_set.mdx @@ -56,11 +56,11 @@ conditionset := &subjectmapping.CreateSubjectConditionSetRequest{ { ConditionGroups: []*policy.ConditionGroup{ { - BooleanOperator: policy.ConditionBooleanTypeEnum_CONDITION_BOOLEAN_TYPE_ENUM_AND, + BooleanOperator: policy.BooleanAnd, Conditions: []*policy.Condition{ { SubjectExternalSelectorValue: ".clientId", - Operator: policy.SubjectMappingOperatorEnum_SUBJECT_MAPPING_OPERATOR_ENUM_IN, + Operator: policy.OperatorIn, SubjectExternalValues: []string{"opentdf"}, }, }, diff --git a/docs/sdks/policy.mdx b/docs/sdks/policy.mdx index a63b0c1b..e7092217 100644 --- a/docs/sdks/policy.mdx +++ b/docs/sdks/policy.mdx @@ -1639,11 +1639,11 @@ resp, err := client.SubjectMapping.UpdateSubjectConditionSet(context.Background( { ConditionGroups: []*policy.ConditionGroup{ { - BooleanOperator: policy.ConditionBooleanTypeEnum_CONDITION_BOOLEAN_TYPE_ENUM_AND, + BooleanOperator: policy.BooleanAnd, Conditions: []*policy.Condition{ { SubjectExternalSelectorValue: ".clientId", - Operator: policy.SubjectMappingOperatorEnum_SUBJECT_MAPPING_OPERATOR_ENUM_IN, + Operator: policy.OperatorIn, SubjectExternalValues: []string{"my-service", "my-other-service"}, }, }, diff --git a/docs/sdks/quickstart/go.mdx b/docs/sdks/quickstart/go.mdx index 35860786..e8ccceea 100644 --- a/docs/sdks/quickstart/go.mdx +++ b/docs/sdks/quickstart/go.mdx @@ -249,7 +249,7 @@ if getAttrResp == nil { &attributes.CreateAttributeRequest{ NamespaceId: nsResp.GetNamespace().GetId(), Name: "department", - Rule: policy.AttributeRuleTypeEnum_ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF, + Rule: policy.RuleAnyOf, }) if err != nil { log.Fatalf("Failed to create attribute: %v", err) @@ -360,11 +360,11 @@ scsResp, err := client.SubjectMapping.CreateSubjectConditionSet(context.Backgrou { ConditionGroups: []*policy.ConditionGroup{ { - BooleanOperator: policy.ConditionBooleanTypeEnum_CONDITION_BOOLEAN_TYPE_ENUM_AND, + BooleanOperator: policy.BooleanAnd, Conditions: []*policy.Condition{ { SubjectExternalSelectorValue: ".clientId", - Operator: policy.SubjectMappingOperatorEnum_SUBJECT_MAPPING_OPERATOR_ENUM_IN, + Operator: policy.OperatorIn, SubjectExternalValues: []string{"opentdf"}, }, }, @@ -514,7 +514,7 @@ func main() { &attributes.CreateAttributeRequest{ NamespaceId: nsResp.GetNamespace().GetId(), Name: "department", - Rule: policy.AttributeRuleTypeEnum_ATTRIBUTE_RULE_TYPE_ENUM_ANY_OF, + Rule: policy.RuleAnyOf, Values: []string{"marketing"}, }) if err != nil { @@ -583,11 +583,11 @@ func main() { { ConditionGroups: []*policy.ConditionGroup{ { - BooleanOperator: policy.ConditionBooleanTypeEnum_CONDITION_BOOLEAN_TYPE_ENUM_AND, + BooleanOperator: policy.BooleanAnd, Conditions: []*policy.Condition{ { SubjectExternalSelectorValue: ".clientId", - Operator: policy.SubjectMappingOperatorEnum_SUBJECT_MAPPING_OPERATOR_ENUM_IN, + Operator: policy.OperatorIn, SubjectExternalValues: []string{"opentdf"}, }, }, From 4903cd3288742c4f15ca0b7e0f3d41295bb20f16 Mon Sep 17 00:00:00 2001 From: Mary Dickson Date: Tue, 28 Apr 2026 11:31:32 -0700 Subject: [PATCH 2/3] chore(docs): DSPX-2959 add Java/JS shorthand enum updates and version badges - Update JS imports to use barrel exports from @opentdf/sdk instead of deep proto paths - Update policy.mdx Java example to use PolicyEnums shorthand constants - Update policy.mdx JS example to use enum values instead of strings - Add SdkVersion badges with NEXT placeholders to code samples (replace with actual versions once SDK releases ship) Note: Java code_samples/java/ files are pulled from the java-sdk repo at build time via remote-content plugin. They will update automatically once javaSdkVersion is bumped in docusaurus.config.ts after the java-sdk release containing opentdf/java-sdk#357. Co-Authored-By: Claude Opus 4.6 (1M context) Signed-off-by: Mary Dickson --- code_samples/policy_code/create_attribute.mdx | 9 ++++++++- .../policy_code/create_subject_condition_set.mdx | 9 ++++++++- docs/sdks/policy.mdx | 14 +++++++++----- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/code_samples/policy_code/create_attribute.mdx b/code_samples/policy_code/create_attribute.mdx index 4dbce92c..145c767f 100644 --- a/code_samples/policy_code/create_attribute.mdx +++ b/code_samples/policy_code/create_attribute.mdx @@ -1,5 +1,6 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import SdkVersion from '@site/src/components/SdkVersion';
Create an Attribute @@ -45,6 +46,8 @@ await platform.v1.attributes.createAttribute({ ... }) + + ```go import ( "github.com/opentdf/platform/protocol/go/policy" @@ -69,6 +72,8 @@ log.Printf("Created attribute: %s (ID: %s)\n", + + import CreateAttributeExample from '@site/code_samples/java/create-attribute.mdx'; @@ -76,8 +81,10 @@ import CreateAttributeExample from '@site/code_samples/java/create-attribute.mdx + + ```typescript -import { AttributeRuleTypeEnum } from '@opentdf/sdk/platform/policy/objects_pb.js'; +import { AttributeRuleTypeEnum } from '@opentdf/sdk'; const resp = await platform.v1.attributes.createAttribute({ namespaceId: 'f47ac10b-58cc-4372-a567-0e02b2c3d479', diff --git a/code_samples/policy_code/create_subject_condition_set.mdx b/code_samples/policy_code/create_subject_condition_set.mdx index 23cf8d75..30d8ec5c 100644 --- a/code_samples/policy_code/create_subject_condition_set.mdx +++ b/code_samples/policy_code/create_subject_condition_set.mdx @@ -1,5 +1,6 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import SdkVersion from '@site/src/components/SdkVersion';
Create a Subject Condition Set @@ -42,6 +43,8 @@ await platform.v1.subjectMapping.createSubjectConditionSet({ ... }) + + ```go import ( "github.com/opentdf/platform/protocol/go/policy" @@ -83,6 +86,8 @@ log.Printf("Created Subject Condition Set with ID: %s\n", resp.GetSubjectConditi + + import CreateSubjectConditionSetExample from '@site/code_samples/java/create-subject-condition-set.mdx'; @@ -90,12 +95,14 @@ import CreateSubjectConditionSetExample from '@site/code_samples/java/create-sub + + ```typescript import { create } from '@bufbuild/protobuf'; import { ConditionBooleanTypeEnum, SubjectMappingOperatorEnum, -} from '@opentdf/sdk/platform/policy/objects_pb.js'; +} from '@opentdf/sdk'; import { CreateSubjectConditionSetRequestSchema, } from '@opentdf/sdk/platform/policy/subjectmapping/subject_mapping_pb.js'; diff --git a/docs/sdks/policy.mdx b/docs/sdks/policy.mdx index e7092217..65e6a6cb 100644 --- a/docs/sdks/policy.mdx +++ b/docs/sdks/policy.mdx @@ -1666,16 +1666,17 @@ log.Printf("Updated SCS ID: %s\n", resp.GetSubjectConditionSet().GetId()) ```java import io.opentdf.platform.policy.*; import io.opentdf.platform.policy.subjectmapping.UpdateSubjectConditionSetRequest; +import static io.opentdf.platform.sdk.PolicyEnums.*; var condition = Condition.newBuilder() .setSubjectExternalSelectorValue(".clientId") - .setOperator(SubjectMappingOperatorEnum.SUBJECT_MAPPING_OPERATOR_ENUM_IN) + .setOperator(OPERATOR_IN) .addSubjectExternalValues("my-service") .addSubjectExternalValues("my-other-service") .build(); var conditionGroup = ConditionGroup.newBuilder() - .setBooleanOperator(ConditionBooleanTypeEnum.CONDITION_BOOLEAN_TYPE_ENUM_AND) + .setBooleanOperator(BOOLEAN_AND) .addConditions(condition) .build(); @@ -1698,7 +1699,10 @@ System.out.println("Updated SCS ID: " + resp.getSubjectConditionSet().getId()); ```typescript -import { authTokenInterceptor, clientCredentialsTokenProvider } from '@opentdf/sdk'; +import { + ConditionBooleanTypeEnum, + SubjectMappingOperatorEnum, +} from '@opentdf/sdk'; const resp = await platform.v1.subjectMapping.updateSubjectConditionSet({ id: 'a0b1c2d3-0000-0000-0000-000000000099', @@ -1706,11 +1710,11 @@ const resp = await platform.v1.subjectMapping.updateSubjectConditionSet({ { conditionGroups: [ { - booleanOperator: 'CONDITION_BOOLEAN_TYPE_ENUM_AND', + booleanOperator: ConditionBooleanTypeEnum.AND, conditions: [ { subjectExternalSelectorValue: '.clientId', - operator: 'SUBJECT_MAPPING_OPERATOR_ENUM_IN', + operator: SubjectMappingOperatorEnum.IN, subjectExternalValues: ['my-service', 'my-other-service'], }, ], From 53d65264f1cc396c39bf1e16f22c13d20a0dd4b8 Mon Sep 17 00:00:00 2001 From: Mary Dickson Date: Wed, 29 Apr 2026 08:12:40 -0700 Subject: [PATCH 3/3] chore(docs): replace NEXT version placeholders with target SDK versions - Go: 0.18.0 (opentdf/platform#3410) - Java: 0.15.0 (opentdf/java-sdk#358) - JS: 0.17.0 (opentdf/web-sdk#929) Co-Authored-By: Claude Opus 4.7 (1M context) --- code_samples/policy_code/create_attribute.mdx | 6 +++--- code_samples/policy_code/create_subject_condition_set.mdx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code_samples/policy_code/create_attribute.mdx b/code_samples/policy_code/create_attribute.mdx index 145c767f..84dcb6b1 100644 --- a/code_samples/policy_code/create_attribute.mdx +++ b/code_samples/policy_code/create_attribute.mdx @@ -46,7 +46,7 @@ await platform.v1.attributes.createAttribute({ ... }) - + ```go import ( @@ -72,7 +72,7 @@ log.Printf("Created attribute: %s (ID: %s)\n", - + import CreateAttributeExample from '@site/code_samples/java/create-attribute.mdx'; @@ -81,7 +81,7 @@ import CreateAttributeExample from '@site/code_samples/java/create-attribute.mdx - + ```typescript import { AttributeRuleTypeEnum } from '@opentdf/sdk'; diff --git a/code_samples/policy_code/create_subject_condition_set.mdx b/code_samples/policy_code/create_subject_condition_set.mdx index 30d8ec5c..aa103d50 100644 --- a/code_samples/policy_code/create_subject_condition_set.mdx +++ b/code_samples/policy_code/create_subject_condition_set.mdx @@ -43,7 +43,7 @@ await platform.v1.subjectMapping.createSubjectConditionSet({ ... }) - + ```go import ( @@ -86,7 +86,7 @@ log.Printf("Created Subject Condition Set with ID: %s\n", resp.GetSubjectConditi - + import CreateSubjectConditionSetExample from '@site/code_samples/java/create-subject-condition-set.mdx'; @@ -95,7 +95,7 @@ import CreateSubjectConditionSetExample from '@site/code_samples/java/create-sub - + ```typescript import { create } from '@bufbuild/protobuf';