diff --git a/docs/openapiv2/apidocs.swagger.json b/docs/openapiv2/apidocs.swagger.json index 64ee5953..af33a292 100644 --- a/docs/openapiv2/apidocs.swagger.json +++ b/docs/openapiv2/apidocs.swagger.json @@ -2326,8 +2326,7 @@ "items": { "type": "object", "$ref": "#/definitions/TupleKey" - }, - "maxItems": 100 + } } }, "required": [ @@ -2849,8 +2848,7 @@ "items": { "type": "object", "$ref": "#/definitions/TupleKey" - }, - "maxItems": 100 + } }, "context": { "type": "object", @@ -2953,7 +2951,7 @@ "NULL_VALUE" ], "default": "NULL_VALUE", - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + "description": "Represents a JSON `null`.\n\n`NullValue` is a sentinel, using an enum with only one value to represent\nthe null value for the `Value` type union.\n\nA field of type `NullValue` with any value other than `0` is considered\ninvalid. Most ProtoJSON serializers will emit a Value with a `null_value` set\nas a JSON `null` regardless of the integer value, and so will round trip to\na `0` value.\n\n - NULL_VALUE: Null value." }, "Object": { "type": "object", diff --git a/docs/openapiv3/apidocs.openapi.json b/docs/openapiv3/apidocs.openapi.json index de1ca30f..fc771703 100644 --- a/docs/openapiv3/apidocs.openapi.json +++ b/docs/openapiv3/apidocs.openapi.json @@ -518,7 +518,6 @@ } ] }, - "maxItems": 100, "type": "array" } }, @@ -1076,7 +1075,6 @@ } ] }, - "maxItems": 100, "type": "array" }, "object": { @@ -1220,7 +1218,7 @@ }, "NullValue": { "default": "NULL_VALUE", - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\nThe JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value.", + "description": "Represents a JSON `null`.\n\n`NullValue` is a sentinel, using an enum with only one value to represent\nthe null value for the `Value` type union.\n\nA field of type `NullValue` with any value other than `0` is considered\ninvalid. Most ProtoJSON serializers will emit a Value with a `null_value` set\nas a JSON `null` regardless of the integer value, and so will round trip to\na `0` value.\n\n - NULL_VALUE: Null value.", "enum": [ "NULL_VALUE" ], diff --git a/openfga/v1/openfga.proto b/openfga/v1/openfga.proto index ccdd82e7..3a0a929b 100644 --- a/openfga/v1/openfga.proto +++ b/openfga/v1/openfga.proto @@ -218,9 +218,7 @@ message TupleKeys { message ContextualTupleKeys { repeated TupleKey tuple_keys = 1 [ json_name = "tuple_keys", - (google.api.field_behavior) = REQUIRED, - (validate.rules).repeated.max_items = 100, - (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {max_items: 100} + (google.api.field_behavior) = REQUIRED ]; } diff --git a/openfga/v1/openfga_service.proto b/openfga/v1/openfga_service.proto index 9abc2f31..6b6ccf5e 100644 --- a/openfga/v1/openfga_service.proto +++ b/openfga/v1/openfga_service.proto @@ -1092,11 +1092,7 @@ message ListUsersRequest { } ]; - repeated TupleKey contextual_tuples = 6 [ - json_name = "contextual_tuples", - (validate.rules).repeated.max_items = 100, - (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {max_items: 100} - ]; + repeated TupleKey contextual_tuples = 6 [json_name = "contextual_tuples"]; // Additional request context used to evaluate any ABAC conditions encountered // in the query evaluation. diff --git a/proto/openfga/v1/openfga.pb.go b/proto/openfga/v1/openfga.pb.go index a664aee8..d9662d83 100644 --- a/proto/openfga/v1/openfga.pb.go +++ b/proto/openfga/v1/openfga.pb.go @@ -1415,10 +1415,10 @@ const file_openfga_v1_openfga_proto_rawDesc = "" + "\tTupleKeys\x12G\n" + "\n" + "tuple_keys\x18\x01 \x03(\v2\x14.openfga.v1.TupleKeyB\x11\x92A\x03\xa8\x01\x01\xe0A\x02\xfaB\x05\x92\x01\x02\b\x01R\n" + - "tuple_keys\"^\n" + - "\x13ContextualTupleKeys\x12G\n" + + "tuple_keys\"P\n" + + "\x13ContextualTupleKeys\x129\n" + "\n" + - "tuple_keys\x18\x01 \x03(\v2\x14.openfga.v1.TupleKeyB\x11\x92A\x03\xa0\x01d\xe0A\x02\xfaB\x05\x92\x01\x02\x10dR\n" + + "tuple_keys\x18\x01 \x03(\v2\x14.openfga.v1.TupleKeyB\x03\xe0A\x02R\n" + "tuple_keys\"\xe9\a\n" + "\vUsersetTree\x120\n" + "\x04root\x18\x01 \x01(\v2\x1c.openfga.v1.UsersetTree.NodeR\x04root\x1a\xda\x01\n" + diff --git a/proto/openfga/v1/openfga.pb.validate.go b/proto/openfga/v1/openfga.pb.validate.go index 74b57632..49986a6f 100644 --- a/proto/openfga/v1/openfga.pb.validate.go +++ b/proto/openfga/v1/openfga.pb.validate.go @@ -1437,17 +1437,6 @@ func (m *ContextualTupleKeys) validate(all bool) error { var errors []error - if len(m.GetTupleKeys()) > 100 { - err := ContextualTupleKeysValidationError{ - field: "TupleKeys", - reason: "value must contain no more than 100 item(s)", - } - if !all { - return err - } - errors = append(errors, err) - } - for idx, item := range m.GetTupleKeys() { _, _ = idx, item diff --git a/proto/openfga/v1/openfga_service.pb.go b/proto/openfga/v1/openfga_service.pb.go index 54de5016..f636acb0 100644 --- a/proto/openfga/v1/openfga_service.pb.go +++ b/proto/openfga/v1/openfga_service.pb.go @@ -2985,15 +2985,15 @@ const file_openfga_v1_openfga_service_proto_rawDesc = "" + "\acontext\x18\a \x01(\v2\x17.google.protobuf.StructR\acontext\x12M\n" + "\vconsistency\x18\b \x01(\x0e2!.openfga.v1.ConsistencyPreferenceB\b\xfaB\x05\x82\x01\x02\x10\x01R\vconsistency\"a\n" + "\x13ListObjectsResponse\x12J\n" + - "\aobjects\x18\x01 \x03(\tB0\x92A*J([\"document:roadmap\",\"document:planning\"]\xe0A\x02R\aobjects\"\xc2\x06\n" + + "\aobjects\x18\x01 \x03(\tB0\x92A*J([\"document:roadmap\",\"document:planning\"]\xe0A\x02R\aobjects\"\xb2\x06\n" + "\x10ListUsersRequest\x12e\n" + "\bstore_id\x18\x01 \x01(\tBI\x92A\x1eJ\x1c\"01YCP46JKYM8FJCQ37NMBYHE5X\"\xfaB%r#2!^[ABCDEFGHJKMNPQRSTVWXYZ0-9]{26}$R\bstore_id\x12\x84\x01\n" + "\x16authorization_model_id\x18\x02 \x01(\tBL\x92A\x1eJ\x1c\"01G5JAVJ41T49E9TT3SKVS7X1J\"\xfaB(r&2!^[ABCDEFGHJKMNPQRSTVWXYZ0-9]{26}$\xd0\x01\x01R\x16authorization_model_id\x12N\n" + "\x06object\x18\x03 \x01(\v2\x12.openfga.v1.ObjectB\"\x92A\x14J\x12\"document:example\"\xe0A\x02\xfaB\x05\x8a\x01\x02\x10\x01R\x06object\x12C\n" + "\brelation\x18\x04 \x01(\tB'\x92A\n" + "J\b\"reader\"\xe0A\x02\xfaB\x14r\x122\x10^[^:#@\\s]{1,50}$R\brelation\x12\xd4\x01\n" + - "\fuser_filters\x18\x05 \x03(\v2\x1a.openfga.v1.UserTypeFilterB\x93\x01\x92A\x82\x012=The type of results returned. Only accepts exactly one value.J;[{\"type\": \"user\"}, {\"type\": \"group\", \"relation\": \"member\"}]\xa0\x01\x01\xa8\x01\x01\xe0A\x02\xfaB\a\x92\x01\x04\b\x01\x10\x01R\fuser_filters\x12R\n" + - "\x11contextual_tuples\x18\x06 \x03(\v2\x14.openfga.v1.TupleKeyB\x0e\x92A\x03\xa0\x01d\xfaB\x05\x92\x01\x02\x10dR\x11contextual_tuples\x121\n" + + "\fuser_filters\x18\x05 \x03(\v2\x1a.openfga.v1.UserTypeFilterB\x93\x01\x92A\x82\x012=The type of results returned. Only accepts exactly one value.J;[{\"type\": \"user\"}, {\"type\": \"group\", \"relation\": \"member\"}]\xa0\x01\x01\xa8\x01\x01\xe0A\x02\xfaB\a\x92\x01\x04\b\x01\x10\x01R\fuser_filters\x12B\n" + + "\x11contextual_tuples\x18\x06 \x03(\v2\x14.openfga.v1.TupleKeyR\x11contextual_tuples\x121\n" + "\acontext\x18\a \x01(\v2\x17.google.protobuf.StructR\acontext\x12M\n" + "\vconsistency\x18\b \x01(\x0e2!.openfga.v1.ConsistencyPreferenceB\b\xfaB\x05\x82\x01\x02\x10\x01R\vconsistency\"C\n" + "\x11ListUsersResponse\x12.\n" + diff --git a/proto/openfga/v1/openfga_service.pb.validate.go b/proto/openfga/v1/openfga_service.pb.validate.go index afaf2e5e..4954c8cc 100644 --- a/proto/openfga/v1/openfga_service.pb.validate.go +++ b/proto/openfga/v1/openfga_service.pb.validate.go @@ -519,17 +519,6 @@ func (m *ListUsersRequest) validate(all bool) error { } - if len(m.GetContextualTuples()) > 100 { - err := ListUsersRequestValidationError{ - field: "ContextualTuples", - reason: "value must contain no more than 100 item(s)", - } - if !all { - return err - } - errors = append(errors, err) - } - for idx, item := range m.GetContextualTuples() { _, _ = idx, item