diff --git a/.stats.yml b/.stats.yml index c58c656..964eceb 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 59 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/manugoyal%2Fbraintrust-sdk-kotlin-8c69b494e9958f062448f0e4bd2a61abccb4a223502869729fea0565f91ffaca.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/manugoyal%2Fbraintrust-sdk-kotlin-a44e16cb39fc991e410266961f87e6a48c4f9041060cd9e2bdcefe2f4bef9abc.yml diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Acl.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Acl.kt index f343722..19b18e9 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Acl.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Acl.kt @@ -2,28 +2,19 @@ package com.braintrust.api.models -import com.braintrust.api.core.BaseDeserializer -import com.braintrust.api.core.BaseSerializer import com.braintrust.api.core.Enum import com.braintrust.api.core.ExcludeMissing import com.braintrust.api.core.JsonField import com.braintrust.api.core.JsonMissing import com.braintrust.api.core.JsonValue import com.braintrust.api.core.NoAutoDetect -import com.braintrust.api.core.getOrThrow import com.braintrust.api.core.toUnmodifiable import com.braintrust.api.errors.BraintrustInvalidDataException import com.fasterxml.jackson.annotation.JsonAnyGetter import com.fasterxml.jackson.annotation.JsonAnySetter import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.core.JsonGenerator -import com.fasterxml.jackson.core.ObjectCodec -import com.fasterxml.jackson.databind.JsonNode -import com.fasterxml.jackson.databind.SerializerProvider import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import com.fasterxml.jackson.databind.annotation.JsonSerialize -import com.fasterxml.jackson.module.kotlin.jacksonTypeRef import java.time.OffsetDateTime import java.util.Objects import java.util.Optional @@ -63,7 +54,8 @@ private constructor( fun id(): String = id.getRequired("id") /** The object type that the ACL applies to */ - fun objectType(): ObjectType = objectType.getRequired("object_type") + fun objectType(): Optional = + Optional.ofNullable(objectType.getNullable("object_type")) /** The id of the object the ACL applies to */ fun objectId(): String = objectId.getRequired("object_id") @@ -463,595 +455,201 @@ private constructor( fun asString(): String = _value().asStringOrThrow() } - @JsonDeserialize(using = Permission.Deserializer::class) - @JsonSerialize(using = Permission.Serializer::class) class Permission + @JsonCreator private constructor( - private val unionMember0: UnionMember0? = null, - private val unionMember1: UnionMember1? = null, - private val _json: JsonValue? = null, - ) { - - private var validated: Boolean = false - - /** - * Each permission permits a certain type of operation on an object in the system - * - * Permissions can be assigned to to objects on an individual basis, or grouped into roles - */ - fun unionMember0(): Optional = Optional.ofNullable(unionMember0) - - fun unionMember1(): Optional = Optional.ofNullable(unionMember1) - - fun isUnionMember0(): Boolean = unionMember0 != null - - fun isUnionMember1(): Boolean = unionMember1 != null - - fun asUnionMember0(): UnionMember0 = unionMember0.getOrThrow("unionMember0") - - fun asUnionMember1(): UnionMember1 = unionMember1.getOrThrow("unionMember1") - - fun _json(): Optional = Optional.ofNullable(_json) - - fun accept(visitor: Visitor): T { - return when { - unionMember0 != null -> visitor.visitUnionMember0(unionMember0) - unionMember1 != null -> visitor.visitUnionMember1(unionMember1) - else -> visitor.unknown(_json) - } - } + private val value: JsonField, + ) : Enum { - fun validate(): Permission = apply { - if (!validated) { - if (unionMember0 == null && unionMember1 == null) { - throw BraintrustInvalidDataException("Unknown Permission: $_json") - } - unionMember1?.validate() - validated = true - } - } + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is Permission && - this.unionMember0 == other.unionMember0 && - this.unionMember1 == other.unionMember1 + return other is Permission && this.value == other.value } - override fun hashCode(): Int { - return Objects.hash(unionMember0, unionMember1) - } + override fun hashCode() = value.hashCode() - override fun toString(): String { - return when { - unionMember0 != null -> "Permission{unionMember0=$unionMember0}" - unionMember1 != null -> "Permission{unionMember1=$unionMember1}" - _json != null -> "Permission{_unknown=$_json}" - else -> throw IllegalStateException("Invalid Permission") - } - } + override fun toString() = value.toString() companion object { - @JvmStatic - fun ofUnionMember0(unionMember0: UnionMember0) = Permission(unionMember0 = unionMember0) + @JvmField val CREATE = Permission(JsonField.of("create")) - @JvmStatic - fun ofUnionMember1(unionMember1: UnionMember1) = Permission(unionMember1 = unionMember1) - } + @JvmField val READ = Permission(JsonField.of("read")) - interface Visitor { + @JvmField val UPDATE = Permission(JsonField.of("update")) - fun visitUnionMember0(unionMember0: UnionMember0): T + @JvmField val DELETE = Permission(JsonField.of("delete")) - fun visitUnionMember1(unionMember1: UnionMember1): T + @JvmField val CREATE_ACLS = Permission(JsonField.of("create_acls")) - fun unknown(json: JsonValue?): T { - throw BraintrustInvalidDataException("Unknown Permission: $json") - } - } + @JvmField val READ_ACLS = Permission(JsonField.of("read_acls")) - class Deserializer : BaseDeserializer(Permission::class) { + @JvmField val UPDATE_ACLS = Permission(JsonField.of("update_acls")) - override fun ObjectCodec.deserialize(node: JsonNode): Permission { - val json = JsonValue.fromJsonNode(node) - tryDeserialize(node, jacksonTypeRef())?.let { - return Permission(unionMember0 = it, _json = json) - } - tryDeserialize(node, jacksonTypeRef()) { it.validate() } - ?.let { - return Permission(unionMember1 = it, _json = json) - } + @JvmField val DELETE_ACLS = Permission(JsonField.of("delete_acls")) - return Permission(_json = json) - } + @JvmStatic fun of(value: String) = Permission(JsonField.of(value)) } - class Serializer : BaseSerializer(Permission::class) { - - override fun serialize( - value: Permission, - generator: JsonGenerator, - provider: SerializerProvider - ) { - when { - value.unionMember0 != null -> generator.writeObject(value.unionMember0) - value.unionMember1 != null -> generator.writeObject(value.unionMember1) - value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid Permission") - } - } + enum class Known { + CREATE, + READ, + UPDATE, + DELETE, + CREATE_ACLS, + READ_ACLS, + UPDATE_ACLS, + DELETE_ACLS, } - class UnionMember0 - @JsonCreator - private constructor( - private val value: JsonField, - ) : Enum { - - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember0 && this.value == other.value - } - - override fun hashCode() = value.hashCode() - - override fun toString() = value.toString() - - companion object { - - @JvmField val CREATE = UnionMember0(JsonField.of("create")) - - @JvmField val READ = UnionMember0(JsonField.of("read")) - - @JvmField val UPDATE = UnionMember0(JsonField.of("update")) - - @JvmField val DELETE = UnionMember0(JsonField.of("delete")) - - @JvmField val CREATE_ACLS = UnionMember0(JsonField.of("create_acls")) - - @JvmField val READ_ACLS = UnionMember0(JsonField.of("read_acls")) - - @JvmField val UPDATE_ACLS = UnionMember0(JsonField.of("update_acls")) - - @JvmField val DELETE_ACLS = UnionMember0(JsonField.of("delete_acls")) - - @JvmStatic fun of(value: String) = UnionMember0(JsonField.of(value)) - } - - enum class Known { - CREATE, - READ, - UPDATE, - DELETE, - CREATE_ACLS, - READ_ACLS, - UPDATE_ACLS, - DELETE_ACLS, - } - - enum class Value { - CREATE, - READ, - UPDATE, - DELETE, - CREATE_ACLS, - READ_ACLS, - UPDATE_ACLS, - DELETE_ACLS, - _UNKNOWN, - } - - fun value(): Value = - when (this) { - CREATE -> Value.CREATE - READ -> Value.READ - UPDATE -> Value.UPDATE - DELETE -> Value.DELETE - CREATE_ACLS -> Value.CREATE_ACLS - READ_ACLS -> Value.READ_ACLS - UPDATE_ACLS -> Value.UPDATE_ACLS - DELETE_ACLS -> Value.DELETE_ACLS - else -> Value._UNKNOWN - } - - fun known(): Known = - when (this) { - CREATE -> Known.CREATE - READ -> Known.READ - UPDATE -> Known.UPDATE - DELETE -> Known.DELETE - CREATE_ACLS -> Known.CREATE_ACLS - READ_ACLS -> Known.READ_ACLS - UPDATE_ACLS -> Known.UPDATE_ACLS - DELETE_ACLS -> Known.DELETE_ACLS - else -> throw BraintrustInvalidDataException("Unknown UnionMember0: $value") - } - - fun asString(): String = _value().asStringOrThrow() + enum class Value { + CREATE, + READ, + UPDATE, + DELETE, + CREATE_ACLS, + READ_ACLS, + UPDATE_ACLS, + DELETE_ACLS, + _UNKNOWN, } - @JsonDeserialize(builder = UnionMember1.Builder::class) - @NoAutoDetect - class UnionMember1 - private constructor( - private val additionalProperties: Map, - ) { - - private var validated: Boolean = false - - private var hashCode: Int = 0 - - @JsonAnyGetter - @ExcludeMissing - fun _additionalProperties(): Map = additionalProperties - - fun validate(): UnionMember1 = apply { - if (!validated) { - validated = true - } - } - - fun toBuilder() = Builder().from(this) - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember1 && - this.additionalProperties == other.additionalProperties - } - - override fun hashCode(): Int { - if (hashCode == 0) { - hashCode = Objects.hash(additionalProperties) - } - return hashCode + fun value(): Value = + when (this) { + CREATE -> Value.CREATE + READ -> Value.READ + UPDATE -> Value.UPDATE + DELETE -> Value.DELETE + CREATE_ACLS -> Value.CREATE_ACLS + READ_ACLS -> Value.READ_ACLS + UPDATE_ACLS -> Value.UPDATE_ACLS + DELETE_ACLS -> Value.DELETE_ACLS + else -> Value._UNKNOWN } - override fun toString() = "UnionMember1{additionalProperties=$additionalProperties}" - - companion object { - - @JvmStatic fun builder() = Builder() + fun known(): Known = + when (this) { + CREATE -> Known.CREATE + READ -> Known.READ + UPDATE -> Known.UPDATE + DELETE -> Known.DELETE + CREATE_ACLS -> Known.CREATE_ACLS + READ_ACLS -> Known.READ_ACLS + UPDATE_ACLS -> Known.UPDATE_ACLS + DELETE_ACLS -> Known.DELETE_ACLS + else -> throw BraintrustInvalidDataException("Unknown Permission: $value") } - class Builder { - - private var additionalProperties: MutableMap = mutableMapOf() - - @JvmSynthetic - internal fun from(unionMember1: UnionMember1) = apply { - additionalProperties(unionMember1.additionalProperties) - } - - fun additionalProperties(additionalProperties: Map) = apply { - this.additionalProperties.clear() - this.additionalProperties.putAll(additionalProperties) - } - - @JsonAnySetter - fun putAdditionalProperty(key: String, value: JsonValue) = apply { - this.additionalProperties.put(key, value) - } - - fun putAllAdditionalProperties(additionalProperties: Map) = - apply { - this.additionalProperties.putAll(additionalProperties) - } - - fun build(): UnionMember1 = UnionMember1(additionalProperties.toUnmodifiable()) - } - } + fun asString(): String = _value().asStringOrThrow() } - @JsonDeserialize(using = RestrictObjectType.Deserializer::class) - @JsonSerialize(using = RestrictObjectType.Serializer::class) class RestrictObjectType + @JsonCreator private constructor( - private val unionMember0: UnionMember0? = null, - private val unionMember1: UnionMember1? = null, - private val _json: JsonValue? = null, - ) { - - private var validated: Boolean = false - - /** The object type that the ACL applies to */ - fun unionMember0(): Optional = Optional.ofNullable(unionMember0) - - fun unionMember1(): Optional = Optional.ofNullable(unionMember1) - - fun isUnionMember0(): Boolean = unionMember0 != null - - fun isUnionMember1(): Boolean = unionMember1 != null - - fun asUnionMember0(): UnionMember0 = unionMember0.getOrThrow("unionMember0") - - fun asUnionMember1(): UnionMember1 = unionMember1.getOrThrow("unionMember1") - - fun _json(): Optional = Optional.ofNullable(_json) - - fun accept(visitor: Visitor): T { - return when { - unionMember0 != null -> visitor.visitUnionMember0(unionMember0) - unionMember1 != null -> visitor.visitUnionMember1(unionMember1) - else -> visitor.unknown(_json) - } - } + private val value: JsonField, + ) : Enum { - fun validate(): RestrictObjectType = apply { - if (!validated) { - if (unionMember0 == null && unionMember1 == null) { - throw BraintrustInvalidDataException("Unknown RestrictObjectType: $_json") - } - unionMember1?.validate() - validated = true - } - } + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is RestrictObjectType && - this.unionMember0 == other.unionMember0 && - this.unionMember1 == other.unionMember1 + return other is RestrictObjectType && this.value == other.value } - override fun hashCode(): Int { - return Objects.hash(unionMember0, unionMember1) - } + override fun hashCode() = value.hashCode() - override fun toString(): String { - return when { - unionMember0 != null -> "RestrictObjectType{unionMember0=$unionMember0}" - unionMember1 != null -> "RestrictObjectType{unionMember1=$unionMember1}" - _json != null -> "RestrictObjectType{_unknown=$_json}" - else -> throw IllegalStateException("Invalid RestrictObjectType") - } - } + override fun toString() = value.toString() companion object { - @JvmStatic - fun ofUnionMember0(unionMember0: UnionMember0) = - RestrictObjectType(unionMember0 = unionMember0) - - @JvmStatic - fun ofUnionMember1(unionMember1: UnionMember1) = - RestrictObjectType(unionMember1 = unionMember1) - } - - interface Visitor { - - fun visitUnionMember0(unionMember0: UnionMember0): T - - fun visitUnionMember1(unionMember1: UnionMember1): T - - fun unknown(json: JsonValue?): T { - throw BraintrustInvalidDataException("Unknown RestrictObjectType: $json") - } - } - - class Deserializer : BaseDeserializer(RestrictObjectType::class) { - - override fun ObjectCodec.deserialize(node: JsonNode): RestrictObjectType { - val json = JsonValue.fromJsonNode(node) - tryDeserialize(node, jacksonTypeRef())?.let { - return RestrictObjectType(unionMember0 = it, _json = json) - } - tryDeserialize(node, jacksonTypeRef()) { it.validate() } - ?.let { - return RestrictObjectType(unionMember1 = it, _json = json) - } - - return RestrictObjectType(_json = json) - } - } - - class Serializer : BaseSerializer(RestrictObjectType::class) { - - override fun serialize( - value: RestrictObjectType, - generator: JsonGenerator, - provider: SerializerProvider - ) { - when { - value.unionMember0 != null -> generator.writeObject(value.unionMember0) - value.unionMember1 != null -> generator.writeObject(value.unionMember1) - value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid RestrictObjectType") - } - } - } - - class UnionMember0 - @JsonCreator - private constructor( - private val value: JsonField, - ) : Enum { - - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember0 && this.value == other.value - } - - override fun hashCode() = value.hashCode() - - override fun toString() = value.toString() - - companion object { - - @JvmField val ORGANIZATION = UnionMember0(JsonField.of("organization")) + @JvmField val ORGANIZATION = RestrictObjectType(JsonField.of("organization")) - @JvmField val PROJECT = UnionMember0(JsonField.of("project")) + @JvmField val PROJECT = RestrictObjectType(JsonField.of("project")) - @JvmField val EXPERIMENT = UnionMember0(JsonField.of("experiment")) + @JvmField val EXPERIMENT = RestrictObjectType(JsonField.of("experiment")) - @JvmField val DATASET = UnionMember0(JsonField.of("dataset")) + @JvmField val DATASET = RestrictObjectType(JsonField.of("dataset")) - @JvmField val PROMPT = UnionMember0(JsonField.of("prompt")) + @JvmField val PROMPT = RestrictObjectType(JsonField.of("prompt")) - @JvmField val PROMPT_SESSION = UnionMember0(JsonField.of("prompt_session")) + @JvmField val PROMPT_SESSION = RestrictObjectType(JsonField.of("prompt_session")) - @JvmField val PROJECT_SCORE = UnionMember0(JsonField.of("project_score")) + @JvmField val PROJECT_SCORE = RestrictObjectType(JsonField.of("project_score")) - @JvmField val PROJECT_TAG = UnionMember0(JsonField.of("project_tag")) + @JvmField val PROJECT_TAG = RestrictObjectType(JsonField.of("project_tag")) - @JvmField val GROUP = UnionMember0(JsonField.of("group")) + @JvmField val GROUP = RestrictObjectType(JsonField.of("group")) - @JvmField val ROLE = UnionMember0(JsonField.of("role")) + @JvmField val ROLE = RestrictObjectType(JsonField.of("role")) - @JvmStatic fun of(value: String) = UnionMember0(JsonField.of(value)) - } - - enum class Known { - ORGANIZATION, - PROJECT, - EXPERIMENT, - DATASET, - PROMPT, - PROMPT_SESSION, - PROJECT_SCORE, - PROJECT_TAG, - GROUP, - ROLE, - } - - enum class Value { - ORGANIZATION, - PROJECT, - EXPERIMENT, - DATASET, - PROMPT, - PROMPT_SESSION, - PROJECT_SCORE, - PROJECT_TAG, - GROUP, - ROLE, - _UNKNOWN, - } - - fun value(): Value = - when (this) { - ORGANIZATION -> Value.ORGANIZATION - PROJECT -> Value.PROJECT - EXPERIMENT -> Value.EXPERIMENT - DATASET -> Value.DATASET - PROMPT -> Value.PROMPT - PROMPT_SESSION -> Value.PROMPT_SESSION - PROJECT_SCORE -> Value.PROJECT_SCORE - PROJECT_TAG -> Value.PROJECT_TAG - GROUP -> Value.GROUP - ROLE -> Value.ROLE - else -> Value._UNKNOWN - } - - fun known(): Known = - when (this) { - ORGANIZATION -> Known.ORGANIZATION - PROJECT -> Known.PROJECT - EXPERIMENT -> Known.EXPERIMENT - DATASET -> Known.DATASET - PROMPT -> Known.PROMPT - PROMPT_SESSION -> Known.PROMPT_SESSION - PROJECT_SCORE -> Known.PROJECT_SCORE - PROJECT_TAG -> Known.PROJECT_TAG - GROUP -> Known.GROUP - ROLE -> Known.ROLE - else -> throw BraintrustInvalidDataException("Unknown UnionMember0: $value") - } - - fun asString(): String = _value().asStringOrThrow() + @JvmStatic fun of(value: String) = RestrictObjectType(JsonField.of(value)) } - @JsonDeserialize(builder = UnionMember1.Builder::class) - @NoAutoDetect - class UnionMember1 - private constructor( - private val additionalProperties: Map, - ) { - - private var validated: Boolean = false - - private var hashCode: Int = 0 - - @JsonAnyGetter - @ExcludeMissing - fun _additionalProperties(): Map = additionalProperties - - fun validate(): UnionMember1 = apply { - if (!validated) { - validated = true - } - } - - fun toBuilder() = Builder().from(this) - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } + enum class Known { + ORGANIZATION, + PROJECT, + EXPERIMENT, + DATASET, + PROMPT, + PROMPT_SESSION, + PROJECT_SCORE, + PROJECT_TAG, + GROUP, + ROLE, + } - return other is UnionMember1 && - this.additionalProperties == other.additionalProperties - } + enum class Value { + ORGANIZATION, + PROJECT, + EXPERIMENT, + DATASET, + PROMPT, + PROMPT_SESSION, + PROJECT_SCORE, + PROJECT_TAG, + GROUP, + ROLE, + _UNKNOWN, + } - override fun hashCode(): Int { - if (hashCode == 0) { - hashCode = Objects.hash(additionalProperties) - } - return hashCode + fun value(): Value = + when (this) { + ORGANIZATION -> Value.ORGANIZATION + PROJECT -> Value.PROJECT + EXPERIMENT -> Value.EXPERIMENT + DATASET -> Value.DATASET + PROMPT -> Value.PROMPT + PROMPT_SESSION -> Value.PROMPT_SESSION + PROJECT_SCORE -> Value.PROJECT_SCORE + PROJECT_TAG -> Value.PROJECT_TAG + GROUP -> Value.GROUP + ROLE -> Value.ROLE + else -> Value._UNKNOWN } - override fun toString() = "UnionMember1{additionalProperties=$additionalProperties}" - - companion object { - - @JvmStatic fun builder() = Builder() + fun known(): Known = + when (this) { + ORGANIZATION -> Known.ORGANIZATION + PROJECT -> Known.PROJECT + EXPERIMENT -> Known.EXPERIMENT + DATASET -> Known.DATASET + PROMPT -> Known.PROMPT + PROMPT_SESSION -> Known.PROMPT_SESSION + PROJECT_SCORE -> Known.PROJECT_SCORE + PROJECT_TAG -> Known.PROJECT_TAG + GROUP -> Known.GROUP + ROLE -> Known.ROLE + else -> throw BraintrustInvalidDataException("Unknown RestrictObjectType: $value") } - class Builder { - - private var additionalProperties: MutableMap = mutableMapOf() - - @JvmSynthetic - internal fun from(unionMember1: UnionMember1) = apply { - additionalProperties(unionMember1.additionalProperties) - } - - fun additionalProperties(additionalProperties: Map) = apply { - this.additionalProperties.clear() - this.additionalProperties.putAll(additionalProperties) - } - - @JsonAnySetter - fun putAdditionalProperty(key: String, value: JsonValue) = apply { - this.additionalProperties.put(key, value) - } - - fun putAllAdditionalProperties(additionalProperties: Map) = - apply { - this.additionalProperties.putAll(additionalProperties) - } - - fun build(): UnionMember1 = UnionMember1(additionalProperties.toUnmodifiable()) - } - } + fun asString(): String = _value().asStringOrThrow() } } diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclCreateParams.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclCreateParams.kt index f21dd4e..466ee7d 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclCreateParams.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclCreateParams.kt @@ -2,14 +2,11 @@ package com.braintrust.api.models -import com.braintrust.api.core.BaseDeserializer -import com.braintrust.api.core.BaseSerializer import com.braintrust.api.core.Enum import com.braintrust.api.core.ExcludeMissing import com.braintrust.api.core.JsonField import com.braintrust.api.core.JsonValue import com.braintrust.api.core.NoAutoDetect -import com.braintrust.api.core.getOrThrow import com.braintrust.api.core.toUnmodifiable import com.braintrust.api.errors.BraintrustInvalidDataException import com.braintrust.api.models.* @@ -17,20 +14,14 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter import com.fasterxml.jackson.annotation.JsonAnySetter import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.core.JsonGenerator -import com.fasterxml.jackson.core.ObjectCodec -import com.fasterxml.jackson.databind.JsonNode -import com.fasterxml.jackson.databind.SerializerProvider import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import com.fasterxml.jackson.databind.annotation.JsonSerialize -import com.fasterxml.jackson.module.kotlin.jacksonTypeRef import java.util.Objects import java.util.Optional class AclCreateParams constructor( private val objectId: String, - private val objectType: ObjectType, + private val objectType: ObjectType?, private val groupId: String?, private val permission: Permission?, private val restrictObjectType: RestrictObjectType?, @@ -43,7 +34,7 @@ constructor( fun objectId(): String = objectId - fun objectType(): ObjectType = objectType + fun objectType(): Optional = Optional.ofNullable(objectType) fun groupId(): Optional = Optional.ofNullable(groupId) @@ -255,7 +246,7 @@ constructor( fun build(): AclCreateBody = AclCreateBody( checkNotNull(objectId) { "`objectId` is required but was not set" }, - checkNotNull(objectType) { "`objectType` is required but was not set" }, + objectType, groupId, permission, restrictObjectType, @@ -358,31 +349,11 @@ constructor( /** Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided */ fun permission(permission: Permission) = apply { this.permission = permission } - /** Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided */ - fun permission(unionMember0: Permission.UnionMember0) = apply { - this.permission = Permission.ofUnionMember0(unionMember0) - } - - /** Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided */ - fun permission(unionMember1: UnionMember1) = apply { - this.permission = Permission.ofUnionMember1(unionMember1) - } - /** Optionally restricts the permission grant to just the specified object type */ fun restrictObjectType(restrictObjectType: RestrictObjectType) = apply { this.restrictObjectType = restrictObjectType } - /** Optionally restricts the permission grant to just the specified object type */ - fun restrictObjectType(unionMember0: RestrictObjectType.UnionMember0) = apply { - this.restrictObjectType = RestrictObjectType.ofUnionMember0(unionMember0) - } - - /** Optionally restricts the permission grant to just the specified object type */ - fun restrictObjectType(unionMember1: UnionMember1) = apply { - this.restrictObjectType = RestrictObjectType.ofUnionMember1(unionMember1) - } - /** * Id of the role the ACL grants. Exactly one of `permission` and `role_id` will be provided */ @@ -451,7 +422,7 @@ constructor( fun build(): AclCreateParams = AclCreateParams( checkNotNull(objectId) { "`objectId` is required but was not set" }, - checkNotNull(objectType) { "`objectType` is required but was not set" }, + objectType, groupId, permission, restrictObjectType, @@ -568,595 +539,201 @@ constructor( fun asString(): String = _value().asStringOrThrow() } - @JsonDeserialize(using = Permission.Deserializer::class) - @JsonSerialize(using = Permission.Serializer::class) class Permission + @JsonCreator private constructor( - private val unionMember0: UnionMember0? = null, - private val unionMember1: UnionMember1? = null, - private val _json: JsonValue? = null, - ) { - - private var validated: Boolean = false - - /** - * Each permission permits a certain type of operation on an object in the system - * - * Permissions can be assigned to to objects on an individual basis, or grouped into roles - */ - fun unionMember0(): Optional = Optional.ofNullable(unionMember0) - - fun unionMember1(): Optional = Optional.ofNullable(unionMember1) - - fun isUnionMember0(): Boolean = unionMember0 != null - - fun isUnionMember1(): Boolean = unionMember1 != null - - fun asUnionMember0(): UnionMember0 = unionMember0.getOrThrow("unionMember0") - - fun asUnionMember1(): UnionMember1 = unionMember1.getOrThrow("unionMember1") - - fun _json(): Optional = Optional.ofNullable(_json) - - fun accept(visitor: Visitor): T { - return when { - unionMember0 != null -> visitor.visitUnionMember0(unionMember0) - unionMember1 != null -> visitor.visitUnionMember1(unionMember1) - else -> visitor.unknown(_json) - } - } + private val value: JsonField, + ) : Enum { - fun validate(): Permission = apply { - if (!validated) { - if (unionMember0 == null && unionMember1 == null) { - throw BraintrustInvalidDataException("Unknown Permission: $_json") - } - unionMember1?.validate() - validated = true - } - } + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is Permission && - this.unionMember0 == other.unionMember0 && - this.unionMember1 == other.unionMember1 + return other is Permission && this.value == other.value } - override fun hashCode(): Int { - return Objects.hash(unionMember0, unionMember1) - } + override fun hashCode() = value.hashCode() - override fun toString(): String { - return when { - unionMember0 != null -> "Permission{unionMember0=$unionMember0}" - unionMember1 != null -> "Permission{unionMember1=$unionMember1}" - _json != null -> "Permission{_unknown=$_json}" - else -> throw IllegalStateException("Invalid Permission") - } - } + override fun toString() = value.toString() companion object { - @JvmStatic - fun ofUnionMember0(unionMember0: UnionMember0) = Permission(unionMember0 = unionMember0) + @JvmField val CREATE = Permission(JsonField.of("create")) - @JvmStatic - fun ofUnionMember1(unionMember1: UnionMember1) = Permission(unionMember1 = unionMember1) - } + @JvmField val READ = Permission(JsonField.of("read")) - interface Visitor { + @JvmField val UPDATE = Permission(JsonField.of("update")) - fun visitUnionMember0(unionMember0: UnionMember0): T + @JvmField val DELETE = Permission(JsonField.of("delete")) - fun visitUnionMember1(unionMember1: UnionMember1): T + @JvmField val CREATE_ACLS = Permission(JsonField.of("create_acls")) - fun unknown(json: JsonValue?): T { - throw BraintrustInvalidDataException("Unknown Permission: $json") - } - } + @JvmField val READ_ACLS = Permission(JsonField.of("read_acls")) - class Deserializer : BaseDeserializer(Permission::class) { + @JvmField val UPDATE_ACLS = Permission(JsonField.of("update_acls")) - override fun ObjectCodec.deserialize(node: JsonNode): Permission { - val json = JsonValue.fromJsonNode(node) - tryDeserialize(node, jacksonTypeRef())?.let { - return Permission(unionMember0 = it, _json = json) - } - tryDeserialize(node, jacksonTypeRef()) { it.validate() } - ?.let { - return Permission(unionMember1 = it, _json = json) - } + @JvmField val DELETE_ACLS = Permission(JsonField.of("delete_acls")) - return Permission(_json = json) - } + @JvmStatic fun of(value: String) = Permission(JsonField.of(value)) } - class Serializer : BaseSerializer(Permission::class) { - - override fun serialize( - value: Permission, - generator: JsonGenerator, - provider: SerializerProvider - ) { - when { - value.unionMember0 != null -> generator.writeObject(value.unionMember0) - value.unionMember1 != null -> generator.writeObject(value.unionMember1) - value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid Permission") - } - } + enum class Known { + CREATE, + READ, + UPDATE, + DELETE, + CREATE_ACLS, + READ_ACLS, + UPDATE_ACLS, + DELETE_ACLS, } - class UnionMember0 - @JsonCreator - private constructor( - private val value: JsonField, - ) : Enum { - - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember0 && this.value == other.value - } - - override fun hashCode() = value.hashCode() - - override fun toString() = value.toString() - - companion object { - - @JvmField val CREATE = UnionMember0(JsonField.of("create")) - - @JvmField val READ = UnionMember0(JsonField.of("read")) - - @JvmField val UPDATE = UnionMember0(JsonField.of("update")) - - @JvmField val DELETE = UnionMember0(JsonField.of("delete")) - - @JvmField val CREATE_ACLS = UnionMember0(JsonField.of("create_acls")) - - @JvmField val READ_ACLS = UnionMember0(JsonField.of("read_acls")) - - @JvmField val UPDATE_ACLS = UnionMember0(JsonField.of("update_acls")) - - @JvmField val DELETE_ACLS = UnionMember0(JsonField.of("delete_acls")) - - @JvmStatic fun of(value: String) = UnionMember0(JsonField.of(value)) - } - - enum class Known { - CREATE, - READ, - UPDATE, - DELETE, - CREATE_ACLS, - READ_ACLS, - UPDATE_ACLS, - DELETE_ACLS, - } - - enum class Value { - CREATE, - READ, - UPDATE, - DELETE, - CREATE_ACLS, - READ_ACLS, - UPDATE_ACLS, - DELETE_ACLS, - _UNKNOWN, - } - - fun value(): Value = - when (this) { - CREATE -> Value.CREATE - READ -> Value.READ - UPDATE -> Value.UPDATE - DELETE -> Value.DELETE - CREATE_ACLS -> Value.CREATE_ACLS - READ_ACLS -> Value.READ_ACLS - UPDATE_ACLS -> Value.UPDATE_ACLS - DELETE_ACLS -> Value.DELETE_ACLS - else -> Value._UNKNOWN - } - - fun known(): Known = - when (this) { - CREATE -> Known.CREATE - READ -> Known.READ - UPDATE -> Known.UPDATE - DELETE -> Known.DELETE - CREATE_ACLS -> Known.CREATE_ACLS - READ_ACLS -> Known.READ_ACLS - UPDATE_ACLS -> Known.UPDATE_ACLS - DELETE_ACLS -> Known.DELETE_ACLS - else -> throw BraintrustInvalidDataException("Unknown UnionMember0: $value") - } - - fun asString(): String = _value().asStringOrThrow() + enum class Value { + CREATE, + READ, + UPDATE, + DELETE, + CREATE_ACLS, + READ_ACLS, + UPDATE_ACLS, + DELETE_ACLS, + _UNKNOWN, } - @JsonDeserialize(builder = UnionMember1.Builder::class) - @NoAutoDetect - class UnionMember1 - private constructor( - private val additionalProperties: Map, - ) { - - private var validated: Boolean = false - - private var hashCode: Int = 0 - - @JsonAnyGetter - @ExcludeMissing - fun _additionalProperties(): Map = additionalProperties - - fun validate(): UnionMember1 = apply { - if (!validated) { - validated = true - } - } - - fun toBuilder() = Builder().from(this) - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember1 && - this.additionalProperties == other.additionalProperties - } - - override fun hashCode(): Int { - if (hashCode == 0) { - hashCode = Objects.hash(additionalProperties) - } - return hashCode + fun value(): Value = + when (this) { + CREATE -> Value.CREATE + READ -> Value.READ + UPDATE -> Value.UPDATE + DELETE -> Value.DELETE + CREATE_ACLS -> Value.CREATE_ACLS + READ_ACLS -> Value.READ_ACLS + UPDATE_ACLS -> Value.UPDATE_ACLS + DELETE_ACLS -> Value.DELETE_ACLS + else -> Value._UNKNOWN } - override fun toString() = "UnionMember1{additionalProperties=$additionalProperties}" - - companion object { - - @JvmStatic fun builder() = Builder() + fun known(): Known = + when (this) { + CREATE -> Known.CREATE + READ -> Known.READ + UPDATE -> Known.UPDATE + DELETE -> Known.DELETE + CREATE_ACLS -> Known.CREATE_ACLS + READ_ACLS -> Known.READ_ACLS + UPDATE_ACLS -> Known.UPDATE_ACLS + DELETE_ACLS -> Known.DELETE_ACLS + else -> throw BraintrustInvalidDataException("Unknown Permission: $value") } - class Builder { - - private var additionalProperties: MutableMap = mutableMapOf() - - @JvmSynthetic - internal fun from(unionMember1: UnionMember1) = apply { - additionalProperties(unionMember1.additionalProperties) - } - - fun additionalProperties(additionalProperties: Map) = apply { - this.additionalProperties.clear() - this.additionalProperties.putAll(additionalProperties) - } - - @JsonAnySetter - fun putAdditionalProperty(key: String, value: JsonValue) = apply { - this.additionalProperties.put(key, value) - } - - fun putAllAdditionalProperties(additionalProperties: Map) = - apply { - this.additionalProperties.putAll(additionalProperties) - } - - fun build(): UnionMember1 = UnionMember1(additionalProperties.toUnmodifiable()) - } - } + fun asString(): String = _value().asStringOrThrow() } - @JsonDeserialize(using = RestrictObjectType.Deserializer::class) - @JsonSerialize(using = RestrictObjectType.Serializer::class) class RestrictObjectType + @JsonCreator private constructor( - private val unionMember0: UnionMember0? = null, - private val unionMember1: UnionMember1? = null, - private val _json: JsonValue? = null, - ) { - - private var validated: Boolean = false - - /** The object type that the ACL applies to */ - fun unionMember0(): Optional = Optional.ofNullable(unionMember0) - - fun unionMember1(): Optional = Optional.ofNullable(unionMember1) - - fun isUnionMember0(): Boolean = unionMember0 != null - - fun isUnionMember1(): Boolean = unionMember1 != null - - fun asUnionMember0(): UnionMember0 = unionMember0.getOrThrow("unionMember0") - - fun asUnionMember1(): UnionMember1 = unionMember1.getOrThrow("unionMember1") - - fun _json(): Optional = Optional.ofNullable(_json) - - fun accept(visitor: Visitor): T { - return when { - unionMember0 != null -> visitor.visitUnionMember0(unionMember0) - unionMember1 != null -> visitor.visitUnionMember1(unionMember1) - else -> visitor.unknown(_json) - } - } + private val value: JsonField, + ) : Enum { - fun validate(): RestrictObjectType = apply { - if (!validated) { - if (unionMember0 == null && unionMember1 == null) { - throw BraintrustInvalidDataException("Unknown RestrictObjectType: $_json") - } - unionMember1?.validate() - validated = true - } - } + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is RestrictObjectType && - this.unionMember0 == other.unionMember0 && - this.unionMember1 == other.unionMember1 + return other is RestrictObjectType && this.value == other.value } - override fun hashCode(): Int { - return Objects.hash(unionMember0, unionMember1) - } + override fun hashCode() = value.hashCode() - override fun toString(): String { - return when { - unionMember0 != null -> "RestrictObjectType{unionMember0=$unionMember0}" - unionMember1 != null -> "RestrictObjectType{unionMember1=$unionMember1}" - _json != null -> "RestrictObjectType{_unknown=$_json}" - else -> throw IllegalStateException("Invalid RestrictObjectType") - } - } + override fun toString() = value.toString() companion object { - @JvmStatic - fun ofUnionMember0(unionMember0: UnionMember0) = - RestrictObjectType(unionMember0 = unionMember0) - - @JvmStatic - fun ofUnionMember1(unionMember1: UnionMember1) = - RestrictObjectType(unionMember1 = unionMember1) - } - - interface Visitor { - - fun visitUnionMember0(unionMember0: UnionMember0): T - - fun visitUnionMember1(unionMember1: UnionMember1): T + @JvmField val ORGANIZATION = RestrictObjectType(JsonField.of("organization")) - fun unknown(json: JsonValue?): T { - throw BraintrustInvalidDataException("Unknown RestrictObjectType: $json") - } - } - - class Deserializer : BaseDeserializer(RestrictObjectType::class) { - - override fun ObjectCodec.deserialize(node: JsonNode): RestrictObjectType { - val json = JsonValue.fromJsonNode(node) - tryDeserialize(node, jacksonTypeRef())?.let { - return RestrictObjectType(unionMember0 = it, _json = json) - } - tryDeserialize(node, jacksonTypeRef()) { it.validate() } - ?.let { - return RestrictObjectType(unionMember1 = it, _json = json) - } - - return RestrictObjectType(_json = json) - } - } + @JvmField val PROJECT = RestrictObjectType(JsonField.of("project")) - class Serializer : BaseSerializer(RestrictObjectType::class) { - - override fun serialize( - value: RestrictObjectType, - generator: JsonGenerator, - provider: SerializerProvider - ) { - when { - value.unionMember0 != null -> generator.writeObject(value.unionMember0) - value.unionMember1 != null -> generator.writeObject(value.unionMember1) - value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid RestrictObjectType") - } - } - } - - class UnionMember0 - @JsonCreator - private constructor( - private val value: JsonField, - ) : Enum { - - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember0 && this.value == other.value - } + @JvmField val EXPERIMENT = RestrictObjectType(JsonField.of("experiment")) - override fun hashCode() = value.hashCode() + @JvmField val DATASET = RestrictObjectType(JsonField.of("dataset")) - override fun toString() = value.toString() + @JvmField val PROMPT = RestrictObjectType(JsonField.of("prompt")) - companion object { + @JvmField val PROMPT_SESSION = RestrictObjectType(JsonField.of("prompt_session")) - @JvmField val ORGANIZATION = UnionMember0(JsonField.of("organization")) + @JvmField val PROJECT_SCORE = RestrictObjectType(JsonField.of("project_score")) - @JvmField val PROJECT = UnionMember0(JsonField.of("project")) + @JvmField val PROJECT_TAG = RestrictObjectType(JsonField.of("project_tag")) - @JvmField val EXPERIMENT = UnionMember0(JsonField.of("experiment")) + @JvmField val GROUP = RestrictObjectType(JsonField.of("group")) - @JvmField val DATASET = UnionMember0(JsonField.of("dataset")) + @JvmField val ROLE = RestrictObjectType(JsonField.of("role")) - @JvmField val PROMPT = UnionMember0(JsonField.of("prompt")) - - @JvmField val PROMPT_SESSION = UnionMember0(JsonField.of("prompt_session")) - - @JvmField val PROJECT_SCORE = UnionMember0(JsonField.of("project_score")) - - @JvmField val PROJECT_TAG = UnionMember0(JsonField.of("project_tag")) - - @JvmField val GROUP = UnionMember0(JsonField.of("group")) - - @JvmField val ROLE = UnionMember0(JsonField.of("role")) - - @JvmStatic fun of(value: String) = UnionMember0(JsonField.of(value)) - } - - enum class Known { - ORGANIZATION, - PROJECT, - EXPERIMENT, - DATASET, - PROMPT, - PROMPT_SESSION, - PROJECT_SCORE, - PROJECT_TAG, - GROUP, - ROLE, - } - - enum class Value { - ORGANIZATION, - PROJECT, - EXPERIMENT, - DATASET, - PROMPT, - PROMPT_SESSION, - PROJECT_SCORE, - PROJECT_TAG, - GROUP, - ROLE, - _UNKNOWN, - } - - fun value(): Value = - when (this) { - ORGANIZATION -> Value.ORGANIZATION - PROJECT -> Value.PROJECT - EXPERIMENT -> Value.EXPERIMENT - DATASET -> Value.DATASET - PROMPT -> Value.PROMPT - PROMPT_SESSION -> Value.PROMPT_SESSION - PROJECT_SCORE -> Value.PROJECT_SCORE - PROJECT_TAG -> Value.PROJECT_TAG - GROUP -> Value.GROUP - ROLE -> Value.ROLE - else -> Value._UNKNOWN - } - - fun known(): Known = - when (this) { - ORGANIZATION -> Known.ORGANIZATION - PROJECT -> Known.PROJECT - EXPERIMENT -> Known.EXPERIMENT - DATASET -> Known.DATASET - PROMPT -> Known.PROMPT - PROMPT_SESSION -> Known.PROMPT_SESSION - PROJECT_SCORE -> Known.PROJECT_SCORE - PROJECT_TAG -> Known.PROJECT_TAG - GROUP -> Known.GROUP - ROLE -> Known.ROLE - else -> throw BraintrustInvalidDataException("Unknown UnionMember0: $value") - } - - fun asString(): String = _value().asStringOrThrow() + @JvmStatic fun of(value: String) = RestrictObjectType(JsonField.of(value)) } - @JsonDeserialize(builder = UnionMember1.Builder::class) - @NoAutoDetect - class UnionMember1 - private constructor( - private val additionalProperties: Map, - ) { - - private var validated: Boolean = false - - private var hashCode: Int = 0 - - @JsonAnyGetter - @ExcludeMissing - fun _additionalProperties(): Map = additionalProperties - - fun validate(): UnionMember1 = apply { - if (!validated) { - validated = true - } - } - - fun toBuilder() = Builder().from(this) - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } + enum class Known { + ORGANIZATION, + PROJECT, + EXPERIMENT, + DATASET, + PROMPT, + PROMPT_SESSION, + PROJECT_SCORE, + PROJECT_TAG, + GROUP, + ROLE, + } - return other is UnionMember1 && - this.additionalProperties == other.additionalProperties - } + enum class Value { + ORGANIZATION, + PROJECT, + EXPERIMENT, + DATASET, + PROMPT, + PROMPT_SESSION, + PROJECT_SCORE, + PROJECT_TAG, + GROUP, + ROLE, + _UNKNOWN, + } - override fun hashCode(): Int { - if (hashCode == 0) { - hashCode = Objects.hash(additionalProperties) - } - return hashCode + fun value(): Value = + when (this) { + ORGANIZATION -> Value.ORGANIZATION + PROJECT -> Value.PROJECT + EXPERIMENT -> Value.EXPERIMENT + DATASET -> Value.DATASET + PROMPT -> Value.PROMPT + PROMPT_SESSION -> Value.PROMPT_SESSION + PROJECT_SCORE -> Value.PROJECT_SCORE + PROJECT_TAG -> Value.PROJECT_TAG + GROUP -> Value.GROUP + ROLE -> Value.ROLE + else -> Value._UNKNOWN } - override fun toString() = "UnionMember1{additionalProperties=$additionalProperties}" - - companion object { - - @JvmStatic fun builder() = Builder() + fun known(): Known = + when (this) { + ORGANIZATION -> Known.ORGANIZATION + PROJECT -> Known.PROJECT + EXPERIMENT -> Known.EXPERIMENT + DATASET -> Known.DATASET + PROMPT -> Known.PROMPT + PROMPT_SESSION -> Known.PROMPT_SESSION + PROJECT_SCORE -> Known.PROJECT_SCORE + PROJECT_TAG -> Known.PROJECT_TAG + GROUP -> Known.GROUP + ROLE -> Known.ROLE + else -> throw BraintrustInvalidDataException("Unknown RestrictObjectType: $value") } - class Builder { - - private var additionalProperties: MutableMap = mutableMapOf() - - @JvmSynthetic - internal fun from(unionMember1: UnionMember1) = apply { - additionalProperties(unionMember1.additionalProperties) - } - - fun additionalProperties(additionalProperties: Map) = apply { - this.additionalProperties.clear() - this.additionalProperties.putAll(additionalProperties) - } - - @JsonAnySetter - fun putAdditionalProperty(key: String, value: JsonValue) = apply { - this.additionalProperties.put(key, value) - } - - fun putAllAdditionalProperties(additionalProperties: Map) = - apply { - this.additionalProperties.putAll(additionalProperties) - } - - fun build(): UnionMember1 = UnionMember1(additionalProperties.toUnmodifiable()) - } - } + fun asString(): String = _value().asStringOrThrow() } } diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclListParams.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclListParams.kt index e02cce7..ac7b7e2 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclListParams.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclListParams.kt @@ -16,7 +16,7 @@ import java.util.Optional class AclListParams constructor( private val objectId: String, - private val objectType: ObjectType, + private val objectType: ObjectType?, private val endingBefore: String?, private val limit: Long?, private val startingAfter: String?, @@ -27,7 +27,7 @@ constructor( fun objectId(): String = objectId - fun objectType(): ObjectType = objectType + fun objectType(): Optional = Optional.ofNullable(objectType) fun endingBefore(): Optional = Optional.ofNullable(endingBefore) @@ -202,7 +202,7 @@ constructor( fun build(): AclListParams = AclListParams( checkNotNull(objectId) { "`objectId` is required but was not set" }, - checkNotNull(objectType) { "`objectType` is required but was not set" }, + objectType, endingBefore, limit, startingAfter, diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclReplaceParams.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclReplaceParams.kt index 6eaa9ac..a6cf910 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclReplaceParams.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/AclReplaceParams.kt @@ -2,14 +2,11 @@ package com.braintrust.api.models -import com.braintrust.api.core.BaseDeserializer -import com.braintrust.api.core.BaseSerializer import com.braintrust.api.core.Enum import com.braintrust.api.core.ExcludeMissing import com.braintrust.api.core.JsonField import com.braintrust.api.core.JsonValue import com.braintrust.api.core.NoAutoDetect -import com.braintrust.api.core.getOrThrow import com.braintrust.api.core.toUnmodifiable import com.braintrust.api.errors.BraintrustInvalidDataException import com.braintrust.api.models.* @@ -17,20 +14,14 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter import com.fasterxml.jackson.annotation.JsonAnySetter import com.fasterxml.jackson.annotation.JsonCreator import com.fasterxml.jackson.annotation.JsonProperty -import com.fasterxml.jackson.core.JsonGenerator -import com.fasterxml.jackson.core.ObjectCodec -import com.fasterxml.jackson.databind.JsonNode -import com.fasterxml.jackson.databind.SerializerProvider import com.fasterxml.jackson.databind.annotation.JsonDeserialize -import com.fasterxml.jackson.databind.annotation.JsonSerialize -import com.fasterxml.jackson.module.kotlin.jacksonTypeRef import java.util.Objects import java.util.Optional class AclReplaceParams constructor( private val objectId: String, - private val objectType: ObjectType, + private val objectType: ObjectType?, private val groupId: String?, private val permission: Permission?, private val restrictObjectType: RestrictObjectType?, @@ -43,7 +34,7 @@ constructor( fun objectId(): String = objectId - fun objectType(): ObjectType = objectType + fun objectType(): Optional = Optional.ofNullable(objectType) fun groupId(): Optional = Optional.ofNullable(groupId) @@ -255,7 +246,7 @@ constructor( fun build(): AclReplaceBody = AclReplaceBody( checkNotNull(objectId) { "`objectId` is required but was not set" }, - checkNotNull(objectType) { "`objectType` is required but was not set" }, + objectType, groupId, permission, restrictObjectType, @@ -358,31 +349,11 @@ constructor( /** Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided */ fun permission(permission: Permission) = apply { this.permission = permission } - /** Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided */ - fun permission(unionMember0: Permission.UnionMember0) = apply { - this.permission = Permission.ofUnionMember0(unionMember0) - } - - /** Permission the ACL grants. Exactly one of `permission` and `role_id` will be provided */ - fun permission(unionMember1: UnionMember1) = apply { - this.permission = Permission.ofUnionMember1(unionMember1) - } - /** Optionally restricts the permission grant to just the specified object type */ fun restrictObjectType(restrictObjectType: RestrictObjectType) = apply { this.restrictObjectType = restrictObjectType } - /** Optionally restricts the permission grant to just the specified object type */ - fun restrictObjectType(unionMember0: RestrictObjectType.UnionMember0) = apply { - this.restrictObjectType = RestrictObjectType.ofUnionMember0(unionMember0) - } - - /** Optionally restricts the permission grant to just the specified object type */ - fun restrictObjectType(unionMember1: UnionMember1) = apply { - this.restrictObjectType = RestrictObjectType.ofUnionMember1(unionMember1) - } - /** * Id of the role the ACL grants. Exactly one of `permission` and `role_id` will be provided */ @@ -451,7 +422,7 @@ constructor( fun build(): AclReplaceParams = AclReplaceParams( checkNotNull(objectId) { "`objectId` is required but was not set" }, - checkNotNull(objectType) { "`objectType` is required but was not set" }, + objectType, groupId, permission, restrictObjectType, @@ -568,595 +539,201 @@ constructor( fun asString(): String = _value().asStringOrThrow() } - @JsonDeserialize(using = Permission.Deserializer::class) - @JsonSerialize(using = Permission.Serializer::class) class Permission + @JsonCreator private constructor( - private val unionMember0: UnionMember0? = null, - private val unionMember1: UnionMember1? = null, - private val _json: JsonValue? = null, - ) { - - private var validated: Boolean = false - - /** - * Each permission permits a certain type of operation on an object in the system - * - * Permissions can be assigned to to objects on an individual basis, or grouped into roles - */ - fun unionMember0(): Optional = Optional.ofNullable(unionMember0) - - fun unionMember1(): Optional = Optional.ofNullable(unionMember1) - - fun isUnionMember0(): Boolean = unionMember0 != null - - fun isUnionMember1(): Boolean = unionMember1 != null - - fun asUnionMember0(): UnionMember0 = unionMember0.getOrThrow("unionMember0") - - fun asUnionMember1(): UnionMember1 = unionMember1.getOrThrow("unionMember1") - - fun _json(): Optional = Optional.ofNullable(_json) - - fun accept(visitor: Visitor): T { - return when { - unionMember0 != null -> visitor.visitUnionMember0(unionMember0) - unionMember1 != null -> visitor.visitUnionMember1(unionMember1) - else -> visitor.unknown(_json) - } - } + private val value: JsonField, + ) : Enum { - fun validate(): Permission = apply { - if (!validated) { - if (unionMember0 == null && unionMember1 == null) { - throw BraintrustInvalidDataException("Unknown Permission: $_json") - } - unionMember1?.validate() - validated = true - } - } + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is Permission && - this.unionMember0 == other.unionMember0 && - this.unionMember1 == other.unionMember1 + return other is Permission && this.value == other.value } - override fun hashCode(): Int { - return Objects.hash(unionMember0, unionMember1) - } + override fun hashCode() = value.hashCode() - override fun toString(): String { - return when { - unionMember0 != null -> "Permission{unionMember0=$unionMember0}" - unionMember1 != null -> "Permission{unionMember1=$unionMember1}" - _json != null -> "Permission{_unknown=$_json}" - else -> throw IllegalStateException("Invalid Permission") - } - } + override fun toString() = value.toString() companion object { - @JvmStatic - fun ofUnionMember0(unionMember0: UnionMember0) = Permission(unionMember0 = unionMember0) + @JvmField val CREATE = Permission(JsonField.of("create")) - @JvmStatic - fun ofUnionMember1(unionMember1: UnionMember1) = Permission(unionMember1 = unionMember1) - } + @JvmField val READ = Permission(JsonField.of("read")) - interface Visitor { + @JvmField val UPDATE = Permission(JsonField.of("update")) - fun visitUnionMember0(unionMember0: UnionMember0): T + @JvmField val DELETE = Permission(JsonField.of("delete")) - fun visitUnionMember1(unionMember1: UnionMember1): T + @JvmField val CREATE_ACLS = Permission(JsonField.of("create_acls")) - fun unknown(json: JsonValue?): T { - throw BraintrustInvalidDataException("Unknown Permission: $json") - } - } + @JvmField val READ_ACLS = Permission(JsonField.of("read_acls")) - class Deserializer : BaseDeserializer(Permission::class) { + @JvmField val UPDATE_ACLS = Permission(JsonField.of("update_acls")) - override fun ObjectCodec.deserialize(node: JsonNode): Permission { - val json = JsonValue.fromJsonNode(node) - tryDeserialize(node, jacksonTypeRef())?.let { - return Permission(unionMember0 = it, _json = json) - } - tryDeserialize(node, jacksonTypeRef()) { it.validate() } - ?.let { - return Permission(unionMember1 = it, _json = json) - } + @JvmField val DELETE_ACLS = Permission(JsonField.of("delete_acls")) - return Permission(_json = json) - } + @JvmStatic fun of(value: String) = Permission(JsonField.of(value)) } - class Serializer : BaseSerializer(Permission::class) { - - override fun serialize( - value: Permission, - generator: JsonGenerator, - provider: SerializerProvider - ) { - when { - value.unionMember0 != null -> generator.writeObject(value.unionMember0) - value.unionMember1 != null -> generator.writeObject(value.unionMember1) - value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid Permission") - } - } + enum class Known { + CREATE, + READ, + UPDATE, + DELETE, + CREATE_ACLS, + READ_ACLS, + UPDATE_ACLS, + DELETE_ACLS, } - class UnionMember0 - @JsonCreator - private constructor( - private val value: JsonField, - ) : Enum { - - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember0 && this.value == other.value - } - - override fun hashCode() = value.hashCode() - - override fun toString() = value.toString() - - companion object { - - @JvmField val CREATE = UnionMember0(JsonField.of("create")) - - @JvmField val READ = UnionMember0(JsonField.of("read")) - - @JvmField val UPDATE = UnionMember0(JsonField.of("update")) - - @JvmField val DELETE = UnionMember0(JsonField.of("delete")) - - @JvmField val CREATE_ACLS = UnionMember0(JsonField.of("create_acls")) - - @JvmField val READ_ACLS = UnionMember0(JsonField.of("read_acls")) - - @JvmField val UPDATE_ACLS = UnionMember0(JsonField.of("update_acls")) - - @JvmField val DELETE_ACLS = UnionMember0(JsonField.of("delete_acls")) - - @JvmStatic fun of(value: String) = UnionMember0(JsonField.of(value)) - } - - enum class Known { - CREATE, - READ, - UPDATE, - DELETE, - CREATE_ACLS, - READ_ACLS, - UPDATE_ACLS, - DELETE_ACLS, - } - - enum class Value { - CREATE, - READ, - UPDATE, - DELETE, - CREATE_ACLS, - READ_ACLS, - UPDATE_ACLS, - DELETE_ACLS, - _UNKNOWN, - } - - fun value(): Value = - when (this) { - CREATE -> Value.CREATE - READ -> Value.READ - UPDATE -> Value.UPDATE - DELETE -> Value.DELETE - CREATE_ACLS -> Value.CREATE_ACLS - READ_ACLS -> Value.READ_ACLS - UPDATE_ACLS -> Value.UPDATE_ACLS - DELETE_ACLS -> Value.DELETE_ACLS - else -> Value._UNKNOWN - } - - fun known(): Known = - when (this) { - CREATE -> Known.CREATE - READ -> Known.READ - UPDATE -> Known.UPDATE - DELETE -> Known.DELETE - CREATE_ACLS -> Known.CREATE_ACLS - READ_ACLS -> Known.READ_ACLS - UPDATE_ACLS -> Known.UPDATE_ACLS - DELETE_ACLS -> Known.DELETE_ACLS - else -> throw BraintrustInvalidDataException("Unknown UnionMember0: $value") - } - - fun asString(): String = _value().asStringOrThrow() + enum class Value { + CREATE, + READ, + UPDATE, + DELETE, + CREATE_ACLS, + READ_ACLS, + UPDATE_ACLS, + DELETE_ACLS, + _UNKNOWN, } - @JsonDeserialize(builder = UnionMember1.Builder::class) - @NoAutoDetect - class UnionMember1 - private constructor( - private val additionalProperties: Map, - ) { - - private var validated: Boolean = false - - private var hashCode: Int = 0 - - @JsonAnyGetter - @ExcludeMissing - fun _additionalProperties(): Map = additionalProperties - - fun validate(): UnionMember1 = apply { - if (!validated) { - validated = true - } - } - - fun toBuilder() = Builder().from(this) - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember1 && - this.additionalProperties == other.additionalProperties - } - - override fun hashCode(): Int { - if (hashCode == 0) { - hashCode = Objects.hash(additionalProperties) - } - return hashCode + fun value(): Value = + when (this) { + CREATE -> Value.CREATE + READ -> Value.READ + UPDATE -> Value.UPDATE + DELETE -> Value.DELETE + CREATE_ACLS -> Value.CREATE_ACLS + READ_ACLS -> Value.READ_ACLS + UPDATE_ACLS -> Value.UPDATE_ACLS + DELETE_ACLS -> Value.DELETE_ACLS + else -> Value._UNKNOWN } - override fun toString() = "UnionMember1{additionalProperties=$additionalProperties}" - - companion object { - - @JvmStatic fun builder() = Builder() + fun known(): Known = + when (this) { + CREATE -> Known.CREATE + READ -> Known.READ + UPDATE -> Known.UPDATE + DELETE -> Known.DELETE + CREATE_ACLS -> Known.CREATE_ACLS + READ_ACLS -> Known.READ_ACLS + UPDATE_ACLS -> Known.UPDATE_ACLS + DELETE_ACLS -> Known.DELETE_ACLS + else -> throw BraintrustInvalidDataException("Unknown Permission: $value") } - class Builder { - - private var additionalProperties: MutableMap = mutableMapOf() - - @JvmSynthetic - internal fun from(unionMember1: UnionMember1) = apply { - additionalProperties(unionMember1.additionalProperties) - } - - fun additionalProperties(additionalProperties: Map) = apply { - this.additionalProperties.clear() - this.additionalProperties.putAll(additionalProperties) - } - - @JsonAnySetter - fun putAdditionalProperty(key: String, value: JsonValue) = apply { - this.additionalProperties.put(key, value) - } - - fun putAllAdditionalProperties(additionalProperties: Map) = - apply { - this.additionalProperties.putAll(additionalProperties) - } - - fun build(): UnionMember1 = UnionMember1(additionalProperties.toUnmodifiable()) - } - } + fun asString(): String = _value().asStringOrThrow() } - @JsonDeserialize(using = RestrictObjectType.Deserializer::class) - @JsonSerialize(using = RestrictObjectType.Serializer::class) class RestrictObjectType + @JsonCreator private constructor( - private val unionMember0: UnionMember0? = null, - private val unionMember1: UnionMember1? = null, - private val _json: JsonValue? = null, - ) { - - private var validated: Boolean = false - - /** The object type that the ACL applies to */ - fun unionMember0(): Optional = Optional.ofNullable(unionMember0) - - fun unionMember1(): Optional = Optional.ofNullable(unionMember1) - - fun isUnionMember0(): Boolean = unionMember0 != null - - fun isUnionMember1(): Boolean = unionMember1 != null - - fun asUnionMember0(): UnionMember0 = unionMember0.getOrThrow("unionMember0") - - fun asUnionMember1(): UnionMember1 = unionMember1.getOrThrow("unionMember1") - - fun _json(): Optional = Optional.ofNullable(_json) - - fun accept(visitor: Visitor): T { - return when { - unionMember0 != null -> visitor.visitUnionMember0(unionMember0) - unionMember1 != null -> visitor.visitUnionMember1(unionMember1) - else -> visitor.unknown(_json) - } - } + private val value: JsonField, + ) : Enum { - fun validate(): RestrictObjectType = apply { - if (!validated) { - if (unionMember0 == null && unionMember1 == null) { - throw BraintrustInvalidDataException("Unknown RestrictObjectType: $_json") - } - unionMember1?.validate() - validated = true - } - } + @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value override fun equals(other: Any?): Boolean { if (this === other) { return true } - return other is RestrictObjectType && - this.unionMember0 == other.unionMember0 && - this.unionMember1 == other.unionMember1 + return other is RestrictObjectType && this.value == other.value } - override fun hashCode(): Int { - return Objects.hash(unionMember0, unionMember1) - } + override fun hashCode() = value.hashCode() - override fun toString(): String { - return when { - unionMember0 != null -> "RestrictObjectType{unionMember0=$unionMember0}" - unionMember1 != null -> "RestrictObjectType{unionMember1=$unionMember1}" - _json != null -> "RestrictObjectType{_unknown=$_json}" - else -> throw IllegalStateException("Invalid RestrictObjectType") - } - } + override fun toString() = value.toString() companion object { - @JvmStatic - fun ofUnionMember0(unionMember0: UnionMember0) = - RestrictObjectType(unionMember0 = unionMember0) - - @JvmStatic - fun ofUnionMember1(unionMember1: UnionMember1) = - RestrictObjectType(unionMember1 = unionMember1) - } - - interface Visitor { - - fun visitUnionMember0(unionMember0: UnionMember0): T - - fun visitUnionMember1(unionMember1: UnionMember1): T + @JvmField val ORGANIZATION = RestrictObjectType(JsonField.of("organization")) - fun unknown(json: JsonValue?): T { - throw BraintrustInvalidDataException("Unknown RestrictObjectType: $json") - } - } - - class Deserializer : BaseDeserializer(RestrictObjectType::class) { - - override fun ObjectCodec.deserialize(node: JsonNode): RestrictObjectType { - val json = JsonValue.fromJsonNode(node) - tryDeserialize(node, jacksonTypeRef())?.let { - return RestrictObjectType(unionMember0 = it, _json = json) - } - tryDeserialize(node, jacksonTypeRef()) { it.validate() } - ?.let { - return RestrictObjectType(unionMember1 = it, _json = json) - } - - return RestrictObjectType(_json = json) - } - } + @JvmField val PROJECT = RestrictObjectType(JsonField.of("project")) - class Serializer : BaseSerializer(RestrictObjectType::class) { - - override fun serialize( - value: RestrictObjectType, - generator: JsonGenerator, - provider: SerializerProvider - ) { - when { - value.unionMember0 != null -> generator.writeObject(value.unionMember0) - value.unionMember1 != null -> generator.writeObject(value.unionMember1) - value._json != null -> generator.writeObject(value._json) - else -> throw IllegalStateException("Invalid RestrictObjectType") - } - } - } - - class UnionMember0 - @JsonCreator - private constructor( - private val value: JsonField, - ) : Enum { - - @com.fasterxml.jackson.annotation.JsonValue fun _value(): JsonField = value - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } - - return other is UnionMember0 && this.value == other.value - } + @JvmField val EXPERIMENT = RestrictObjectType(JsonField.of("experiment")) - override fun hashCode() = value.hashCode() + @JvmField val DATASET = RestrictObjectType(JsonField.of("dataset")) - override fun toString() = value.toString() + @JvmField val PROMPT = RestrictObjectType(JsonField.of("prompt")) - companion object { + @JvmField val PROMPT_SESSION = RestrictObjectType(JsonField.of("prompt_session")) - @JvmField val ORGANIZATION = UnionMember0(JsonField.of("organization")) + @JvmField val PROJECT_SCORE = RestrictObjectType(JsonField.of("project_score")) - @JvmField val PROJECT = UnionMember0(JsonField.of("project")) + @JvmField val PROJECT_TAG = RestrictObjectType(JsonField.of("project_tag")) - @JvmField val EXPERIMENT = UnionMember0(JsonField.of("experiment")) + @JvmField val GROUP = RestrictObjectType(JsonField.of("group")) - @JvmField val DATASET = UnionMember0(JsonField.of("dataset")) + @JvmField val ROLE = RestrictObjectType(JsonField.of("role")) - @JvmField val PROMPT = UnionMember0(JsonField.of("prompt")) - - @JvmField val PROMPT_SESSION = UnionMember0(JsonField.of("prompt_session")) - - @JvmField val PROJECT_SCORE = UnionMember0(JsonField.of("project_score")) - - @JvmField val PROJECT_TAG = UnionMember0(JsonField.of("project_tag")) - - @JvmField val GROUP = UnionMember0(JsonField.of("group")) - - @JvmField val ROLE = UnionMember0(JsonField.of("role")) - - @JvmStatic fun of(value: String) = UnionMember0(JsonField.of(value)) - } - - enum class Known { - ORGANIZATION, - PROJECT, - EXPERIMENT, - DATASET, - PROMPT, - PROMPT_SESSION, - PROJECT_SCORE, - PROJECT_TAG, - GROUP, - ROLE, - } - - enum class Value { - ORGANIZATION, - PROJECT, - EXPERIMENT, - DATASET, - PROMPT, - PROMPT_SESSION, - PROJECT_SCORE, - PROJECT_TAG, - GROUP, - ROLE, - _UNKNOWN, - } - - fun value(): Value = - when (this) { - ORGANIZATION -> Value.ORGANIZATION - PROJECT -> Value.PROJECT - EXPERIMENT -> Value.EXPERIMENT - DATASET -> Value.DATASET - PROMPT -> Value.PROMPT - PROMPT_SESSION -> Value.PROMPT_SESSION - PROJECT_SCORE -> Value.PROJECT_SCORE - PROJECT_TAG -> Value.PROJECT_TAG - GROUP -> Value.GROUP - ROLE -> Value.ROLE - else -> Value._UNKNOWN - } - - fun known(): Known = - when (this) { - ORGANIZATION -> Known.ORGANIZATION - PROJECT -> Known.PROJECT - EXPERIMENT -> Known.EXPERIMENT - DATASET -> Known.DATASET - PROMPT -> Known.PROMPT - PROMPT_SESSION -> Known.PROMPT_SESSION - PROJECT_SCORE -> Known.PROJECT_SCORE - PROJECT_TAG -> Known.PROJECT_TAG - GROUP -> Known.GROUP - ROLE -> Known.ROLE - else -> throw BraintrustInvalidDataException("Unknown UnionMember0: $value") - } - - fun asString(): String = _value().asStringOrThrow() + @JvmStatic fun of(value: String) = RestrictObjectType(JsonField.of(value)) } - @JsonDeserialize(builder = UnionMember1.Builder::class) - @NoAutoDetect - class UnionMember1 - private constructor( - private val additionalProperties: Map, - ) { - - private var validated: Boolean = false - - private var hashCode: Int = 0 - - @JsonAnyGetter - @ExcludeMissing - fun _additionalProperties(): Map = additionalProperties - - fun validate(): UnionMember1 = apply { - if (!validated) { - validated = true - } - } - - fun toBuilder() = Builder().from(this) - - override fun equals(other: Any?): Boolean { - if (this === other) { - return true - } + enum class Known { + ORGANIZATION, + PROJECT, + EXPERIMENT, + DATASET, + PROMPT, + PROMPT_SESSION, + PROJECT_SCORE, + PROJECT_TAG, + GROUP, + ROLE, + } - return other is UnionMember1 && - this.additionalProperties == other.additionalProperties - } + enum class Value { + ORGANIZATION, + PROJECT, + EXPERIMENT, + DATASET, + PROMPT, + PROMPT_SESSION, + PROJECT_SCORE, + PROJECT_TAG, + GROUP, + ROLE, + _UNKNOWN, + } - override fun hashCode(): Int { - if (hashCode == 0) { - hashCode = Objects.hash(additionalProperties) - } - return hashCode + fun value(): Value = + when (this) { + ORGANIZATION -> Value.ORGANIZATION + PROJECT -> Value.PROJECT + EXPERIMENT -> Value.EXPERIMENT + DATASET -> Value.DATASET + PROMPT -> Value.PROMPT + PROMPT_SESSION -> Value.PROMPT_SESSION + PROJECT_SCORE -> Value.PROJECT_SCORE + PROJECT_TAG -> Value.PROJECT_TAG + GROUP -> Value.GROUP + ROLE -> Value.ROLE + else -> Value._UNKNOWN } - override fun toString() = "UnionMember1{additionalProperties=$additionalProperties}" - - companion object { - - @JvmStatic fun builder() = Builder() + fun known(): Known = + when (this) { + ORGANIZATION -> Known.ORGANIZATION + PROJECT -> Known.PROJECT + EXPERIMENT -> Known.EXPERIMENT + DATASET -> Known.DATASET + PROMPT -> Known.PROMPT + PROMPT_SESSION -> Known.PROMPT_SESSION + PROJECT_SCORE -> Known.PROJECT_SCORE + PROJECT_TAG -> Known.PROJECT_TAG + GROUP -> Known.GROUP + ROLE -> Known.ROLE + else -> throw BraintrustInvalidDataException("Unknown RestrictObjectType: $value") } - class Builder { - - private var additionalProperties: MutableMap = mutableMapOf() - - @JvmSynthetic - internal fun from(unionMember1: UnionMember1) = apply { - additionalProperties(unionMember1.additionalProperties) - } - - fun additionalProperties(additionalProperties: Map) = apply { - this.additionalProperties.clear() - this.additionalProperties.putAll(additionalProperties) - } - - @JsonAnySetter - fun putAdditionalProperty(key: String, value: JsonValue) = apply { - this.additionalProperties.put(key, value) - } - - fun putAllAdditionalProperties(additionalProperties: Map) = - apply { - this.additionalProperties.putAll(additionalProperties) - } - - fun build(): UnionMember1 = UnionMember1(additionalProperties.toUnmodifiable()) - } - } + fun asString(): String = _value().asStringOrThrow() } } diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Role.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Role.kt index bae36f1..151815c 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Role.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/Role.kt @@ -35,7 +35,7 @@ private constructor( private val name: JsonField, private val description: JsonField, private val deletedAt: JsonField, - private val memberPermissions: JsonField>, + private val memberPermissions: JsonField>, private val memberRoles: JsonField>, private val additionalProperties: Map, ) { @@ -75,7 +75,7 @@ private constructor( Optional.ofNullable(deletedAt.getNullable("deleted_at")) /** Permissions which belong to this role */ - fun memberPermissions(): Optional> = + fun memberPermissions(): Optional> = Optional.ofNullable(memberPermissions.getNullable("member_permissions")) /** @@ -201,7 +201,7 @@ private constructor( private var name: JsonField = JsonMissing.of() private var description: JsonField = JsonMissing.of() private var deletedAt: JsonField = JsonMissing.of() - private var memberPermissions: JsonField> = JsonMissing.of() + private var memberPermissions: JsonField> = JsonMissing.of() private var memberRoles: JsonField> = JsonMissing.of() private var additionalProperties: MutableMap = mutableMapOf() @@ -288,13 +288,13 @@ private constructor( fun deletedAt(deletedAt: JsonField) = apply { this.deletedAt = deletedAt } /** Permissions which belong to this role */ - fun memberPermissions(memberPermissions: List) = + fun memberPermissions(memberPermissions: List) = memberPermissions(JsonField.of(memberPermissions)) /** Permissions which belong to this role */ @JsonProperty("member_permissions") @ExcludeMissing - fun memberPermissions(memberPermissions: JsonField>) = apply { + fun memberPermissions(memberPermissions: JsonField>) = apply { this.memberPermissions = memberPermissions } diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleCreateParams.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleCreateParams.kt index 27f67d4..f59454c 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleCreateParams.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleCreateParams.kt @@ -22,7 +22,7 @@ class RoleCreateParams constructor( private val name: String, private val description: String?, - private val memberPermissions: List?, + private val memberPermissions: List?, private val memberRoles: List?, private val orgName: String?, private val additionalQueryParams: Map>, @@ -34,7 +34,7 @@ constructor( fun description(): Optional = Optional.ofNullable(description) - fun memberPermissions(): Optional> = + fun memberPermissions(): Optional> = Optional.ofNullable(memberPermissions) fun memberRoles(): Optional> = Optional.ofNullable(memberRoles) @@ -63,7 +63,7 @@ constructor( internal constructor( private val name: String?, private val description: String?, - private val memberPermissions: List?, + private val memberPermissions: List?, private val memberRoles: List?, private val orgName: String?, private val additionalProperties: Map, @@ -79,7 +79,7 @@ constructor( /** Permissions which belong to this role */ @JsonProperty("member_permissions") - fun memberPermissions(): List? = memberPermissions + fun memberPermissions(): List? = memberPermissions /** * Ids of the roles this role inherits from @@ -143,7 +143,7 @@ constructor( private var name: String? = null private var description: String? = null - private var memberPermissions: List? = null + private var memberPermissions: List? = null private var memberRoles: List? = null private var orgName: String? = null private var additionalProperties: MutableMap = mutableMapOf() @@ -167,7 +167,7 @@ constructor( /** Permissions which belong to this role */ @JsonProperty("member_permissions") - fun memberPermissions(memberPermissions: List) = apply { + fun memberPermissions(memberPermissions: List) = apply { this.memberPermissions = memberPermissions } @@ -264,7 +264,7 @@ constructor( private var name: String? = null private var description: String? = null - private var memberPermissions: MutableList = mutableListOf() + private var memberPermissions: MutableList = mutableListOf() private var memberRoles: MutableList = mutableListOf() private var orgName: String? = null private var additionalQueryParams: MutableMap> = mutableMapOf() @@ -290,7 +290,7 @@ constructor( fun description(description: String) = apply { this.description = description } /** Permissions which belong to this role */ - fun memberPermissions(memberPermissions: List) = apply { + fun memberPermissions(memberPermissions: List) = apply { this.memberPermissions.clear() this.memberPermissions.addAll(memberPermissions) } diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleReplaceParams.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleReplaceParams.kt index 1b68d4a..fad9234 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleReplaceParams.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleReplaceParams.kt @@ -22,7 +22,7 @@ class RoleReplaceParams constructor( private val name: String, private val description: String?, - private val memberPermissions: List?, + private val memberPermissions: List?, private val memberRoles: List?, private val orgName: String?, private val additionalQueryParams: Map>, @@ -34,7 +34,7 @@ constructor( fun description(): Optional = Optional.ofNullable(description) - fun memberPermissions(): Optional> = + fun memberPermissions(): Optional> = Optional.ofNullable(memberPermissions) fun memberRoles(): Optional> = Optional.ofNullable(memberRoles) @@ -63,7 +63,7 @@ constructor( internal constructor( private val name: String?, private val description: String?, - private val memberPermissions: List?, + private val memberPermissions: List?, private val memberRoles: List?, private val orgName: String?, private val additionalProperties: Map, @@ -79,7 +79,7 @@ constructor( /** Permissions which belong to this role */ @JsonProperty("member_permissions") - fun memberPermissions(): List? = memberPermissions + fun memberPermissions(): List? = memberPermissions /** * Ids of the roles this role inherits from @@ -143,7 +143,7 @@ constructor( private var name: String? = null private var description: String? = null - private var memberPermissions: List? = null + private var memberPermissions: List? = null private var memberRoles: List? = null private var orgName: String? = null private var additionalProperties: MutableMap = mutableMapOf() @@ -167,7 +167,7 @@ constructor( /** Permissions which belong to this role */ @JsonProperty("member_permissions") - fun memberPermissions(memberPermissions: List) = apply { + fun memberPermissions(memberPermissions: List) = apply { this.memberPermissions = memberPermissions } @@ -264,7 +264,7 @@ constructor( private var name: String? = null private var description: String? = null - private var memberPermissions: MutableList = mutableListOf() + private var memberPermissions: MutableList = mutableListOf() private var memberRoles: MutableList = mutableListOf() private var orgName: String? = null private var additionalQueryParams: MutableMap> = mutableMapOf() @@ -290,7 +290,7 @@ constructor( fun description(description: String) = apply { this.description = description } /** Permissions which belong to this role */ - fun memberPermissions(memberPermissions: List) = apply { + fun memberPermissions(memberPermissions: List) = apply { this.memberPermissions.clear() this.memberPermissions.addAll(memberPermissions) } diff --git a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleUpdateParams.kt b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleUpdateParams.kt index eaa5b8c..cb2ef49 100644 --- a/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleUpdateParams.kt +++ b/braintrust-java-core/src/main/kotlin/com/braintrust/api/models/RoleUpdateParams.kt @@ -22,7 +22,7 @@ class RoleUpdateParams constructor( private val roleId: String, private val description: String?, - private val memberPermissions: List?, + private val memberPermissions: List?, private val memberRoles: List?, private val name: String?, private val additionalQueryParams: Map>, @@ -34,7 +34,7 @@ constructor( fun description(): Optional = Optional.ofNullable(description) - fun memberPermissions(): Optional> = + fun memberPermissions(): Optional> = Optional.ofNullable(memberPermissions) fun memberRoles(): Optional> = Optional.ofNullable(memberRoles) @@ -68,7 +68,7 @@ constructor( class RoleUpdateBody internal constructor( private val description: String?, - private val memberPermissions: List?, + private val memberPermissions: List?, private val memberRoles: List?, private val name: String?, private val additionalProperties: Map, @@ -81,7 +81,7 @@ constructor( /** Permissions which belong to this role */ @JsonProperty("member_permissions") - fun memberPermissions(): List? = memberPermissions + fun memberPermissions(): List? = memberPermissions /** * Ids of the roles this role inherits from @@ -138,7 +138,7 @@ constructor( class Builder { private var description: String? = null - private var memberPermissions: List? = null + private var memberPermissions: List? = null private var memberRoles: List? = null private var name: String? = null private var additionalProperties: MutableMap = mutableMapOf() @@ -158,7 +158,7 @@ constructor( /** Permissions which belong to this role */ @JsonProperty("member_permissions") - fun memberPermissions(memberPermissions: List) = apply { + fun memberPermissions(memberPermissions: List) = apply { this.memberPermissions = memberPermissions } @@ -249,7 +249,7 @@ constructor( private var roleId: String? = null private var description: String? = null - private var memberPermissions: MutableList = mutableListOf() + private var memberPermissions: MutableList = mutableListOf() private var memberRoles: MutableList = mutableListOf() private var name: String? = null private var additionalQueryParams: MutableMap> = mutableMapOf() @@ -275,7 +275,7 @@ constructor( fun description(description: String) = apply { this.description = description } /** Permissions which belong to this role */ - fun memberPermissions(memberPermissions: List) = apply { + fun memberPermissions(memberPermissions: List) = apply { this.memberPermissions.clear() this.memberPermissions.addAll(memberPermissions) } diff --git a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclCreateParamsTest.kt b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclCreateParamsTest.kt index 03370d4..452cd61 100644 --- a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclCreateParamsTest.kt +++ b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclCreateParamsTest.kt @@ -14,16 +14,8 @@ class AclCreateParamsTest { .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .objectType(AclCreateParams.ObjectType.ORGANIZATION) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission( - AclCreateParams.Permission.ofUnionMember0( - AclCreateParams.Permission.UnionMember0.CREATE - ) - ) - .restrictObjectType( - AclCreateParams.RestrictObjectType.ofUnionMember0( - AclCreateParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(AclCreateParams.Permission.CREATE) + .restrictObjectType(AclCreateParams.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build() @@ -36,16 +28,8 @@ class AclCreateParamsTest { .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .objectType(AclCreateParams.ObjectType.ORGANIZATION) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission( - AclCreateParams.Permission.ofUnionMember0( - AclCreateParams.Permission.UnionMember0.CREATE - ) - ) - .restrictObjectType( - AclCreateParams.RestrictObjectType.ofUnionMember0( - AclCreateParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(AclCreateParams.Permission.CREATE) + .restrictObjectType(AclCreateParams.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build() @@ -54,18 +38,9 @@ class AclCreateParamsTest { assertThat(body.objectId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(body.objectType()).isEqualTo(AclCreateParams.ObjectType.ORGANIZATION) assertThat(body.groupId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(body.permission()) - .isEqualTo( - AclCreateParams.Permission.ofUnionMember0( - AclCreateParams.Permission.UnionMember0.CREATE - ) - ) + assertThat(body.permission()).isEqualTo(AclCreateParams.Permission.CREATE) assertThat(body.restrictObjectType()) - .isEqualTo( - AclCreateParams.RestrictObjectType.ofUnionMember0( - AclCreateParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .isEqualTo(AclCreateParams.RestrictObjectType.ORGANIZATION) assertThat(body.roleId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(body.userId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") } @@ -73,13 +48,9 @@ class AclCreateParamsTest { @Test fun getBodyWithoutOptionalFields() { val params = - AclCreateParams.builder() - .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .objectType(AclCreateParams.ObjectType.ORGANIZATION) - .build() + AclCreateParams.builder().objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e").build() val body = params.getBody() assertThat(body).isNotNull assertThat(body.objectId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(body.objectType()).isEqualTo(AclCreateParams.ObjectType.ORGANIZATION) } } diff --git a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclListParamsTest.kt b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclListParamsTest.kt index 465ce7c..38d8a9a 100644 --- a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclListParamsTest.kt +++ b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclListParamsTest.kt @@ -41,13 +41,9 @@ class AclListParamsTest { @Test fun getQueryParamsWithoutOptionalFields() { val params = - AclListParams.builder() - .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .objectType(AclListParams.ObjectType.ORGANIZATION) - .build() + AclListParams.builder().objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e").build() val expected = mutableMapOf>() expected.put("object_id", listOf("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")) - expected.put("object_type", listOf(AclListParams.ObjectType.ORGANIZATION.toString())) assertThat(params.getQueryParams()).isEqualTo(expected) } } diff --git a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclReplaceParamsTest.kt b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclReplaceParamsTest.kt index d87ed0b..9c4787e 100644 --- a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclReplaceParamsTest.kt +++ b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclReplaceParamsTest.kt @@ -14,16 +14,8 @@ class AclReplaceParamsTest { .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .objectType(AclReplaceParams.ObjectType.ORGANIZATION) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission( - AclReplaceParams.Permission.ofUnionMember0( - AclReplaceParams.Permission.UnionMember0.CREATE - ) - ) - .restrictObjectType( - AclReplaceParams.RestrictObjectType.ofUnionMember0( - AclReplaceParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(AclReplaceParams.Permission.CREATE) + .restrictObjectType(AclReplaceParams.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build() @@ -36,16 +28,8 @@ class AclReplaceParamsTest { .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .objectType(AclReplaceParams.ObjectType.ORGANIZATION) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission( - AclReplaceParams.Permission.ofUnionMember0( - AclReplaceParams.Permission.UnionMember0.CREATE - ) - ) - .restrictObjectType( - AclReplaceParams.RestrictObjectType.ofUnionMember0( - AclReplaceParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(AclReplaceParams.Permission.CREATE) + .restrictObjectType(AclReplaceParams.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build() @@ -54,18 +38,9 @@ class AclReplaceParamsTest { assertThat(body.objectId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(body.objectType()).isEqualTo(AclReplaceParams.ObjectType.ORGANIZATION) assertThat(body.groupId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(body.permission()) - .isEqualTo( - AclReplaceParams.Permission.ofUnionMember0( - AclReplaceParams.Permission.UnionMember0.CREATE - ) - ) + assertThat(body.permission()).isEqualTo(AclReplaceParams.Permission.CREATE) assertThat(body.restrictObjectType()) - .isEqualTo( - AclReplaceParams.RestrictObjectType.ofUnionMember0( - AclReplaceParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .isEqualTo(AclReplaceParams.RestrictObjectType.ORGANIZATION) assertThat(body.roleId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(body.userId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") } @@ -73,13 +48,9 @@ class AclReplaceParamsTest { @Test fun getBodyWithoutOptionalFields() { val params = - AclReplaceParams.builder() - .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .objectType(AclReplaceParams.ObjectType.ORGANIZATION) - .build() + AclReplaceParams.builder().objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e").build() val body = params.getBody() assertThat(body).isNotNull assertThat(body.objectId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(body.objectType()).isEqualTo(AclReplaceParams.ObjectType.ORGANIZATION) } } diff --git a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclTest.kt b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclTest.kt index 62422e7..30e8c52 100644 --- a/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclTest.kt +++ b/braintrust-java-core/src/test/kotlin/com/braintrust/api/models/AclTest.kt @@ -18,12 +18,8 @@ class AclTest { .objectType(Acl.ObjectType.ORGANIZATION) .created(OffsetDateTime.parse("2019-12-27T18:11:19.117Z")) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission(Acl.Permission.ofUnionMember0(Acl.Permission.UnionMember0.CREATE)) - .restrictObjectType( - Acl.RestrictObjectType.ofUnionMember0( - Acl.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(Acl.Permission.CREATE) + .restrictObjectType(Acl.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build() @@ -31,17 +27,11 @@ class AclTest { assertThat(acl.id()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(acl._objectOrgId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(acl.objectId()).isEqualTo("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(acl.objectType()).isEqualTo(Acl.ObjectType.ORGANIZATION) + assertThat(acl.objectType()).contains(Acl.ObjectType.ORGANIZATION) assertThat(acl.created()).contains(OffsetDateTime.parse("2019-12-27T18:11:19.117Z")) assertThat(acl.groupId()).contains("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - assertThat(acl.permission()) - .contains(Acl.Permission.ofUnionMember0(Acl.Permission.UnionMember0.CREATE)) - assertThat(acl.restrictObjectType()) - .contains( - Acl.RestrictObjectType.ofUnionMember0( - Acl.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + assertThat(acl.permission()).contains(Acl.Permission.CREATE) + assertThat(acl.restrictObjectType()).contains(Acl.RestrictObjectType.ORGANIZATION) assertThat(acl.roleId()).contains("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") assertThat(acl.userId()).contains("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") } diff --git a/braintrust-java-core/src/test/kotlin/com/braintrust/api/services/blocking/AclServiceTest.kt b/braintrust-java-core/src/test/kotlin/com/braintrust/api/services/blocking/AclServiceTest.kt index 21e0c19..b6346ec 100644 --- a/braintrust-java-core/src/test/kotlin/com/braintrust/api/services/blocking/AclServiceTest.kt +++ b/braintrust-java-core/src/test/kotlin/com/braintrust/api/services/blocking/AclServiceTest.kt @@ -27,16 +27,8 @@ class AclServiceTest { .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .objectType(AclCreateParams.ObjectType.ORGANIZATION) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission( - AclCreateParams.Permission.ofUnionMember0( - AclCreateParams.Permission.UnionMember0.CREATE - ) - ) - .restrictObjectType( - AclCreateParams.RestrictObjectType.ofUnionMember0( - AclCreateParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(AclCreateParams.Permission.CREATE) + .restrictObjectType(AclCreateParams.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build() @@ -73,10 +65,7 @@ class AclServiceTest { val aclService = client.acl() val response = aclService.list( - AclListParams.builder() - .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .objectType(AclListParams.ObjectType.ORGANIZATION) - .build() + AclListParams.builder().objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e").build() ) println(response) response.objects().forEach { it.validate() } @@ -114,16 +103,8 @@ class AclServiceTest { .objectId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .objectType(AclReplaceParams.ObjectType.ORGANIZATION) .groupId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") - .permission( - AclReplaceParams.Permission.ofUnionMember0( - AclReplaceParams.Permission.UnionMember0.CREATE - ) - ) - .restrictObjectType( - AclReplaceParams.RestrictObjectType.ofUnionMember0( - AclReplaceParams.RestrictObjectType.UnionMember0.ORGANIZATION - ) - ) + .permission(AclReplaceParams.Permission.CREATE) + .restrictObjectType(AclReplaceParams.RestrictObjectType.ORGANIZATION) .roleId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .userId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") .build()