Skip to content

Commit decbdbc

Browse files
feat(client): allow providing some params positionally
1 parent 96fdae2 commit decbdbc

167 files changed

Lines changed: 7456 additions & 1957 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

braintrust-java-core/src/main/kotlin/com/braintrustdata/api/core/Check.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ package com.braintrustdata.api.core
55
import com.fasterxml.jackson.core.Version
66
import com.fasterxml.jackson.core.util.VersionUtil
77

8+
fun checkRequired(name: String, condition: Boolean) =
9+
check(condition) { "`$name` is required, but was not set" }
10+
811
fun <T : Any> checkRequired(name: String, value: T?): T =
912
checkNotNull(value) { "`$name` is required, but was not set" }
1013

braintrust-java-core/src/main/kotlin/com/braintrustdata/api/models/AclDeleteParams.kt

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ package com.braintrustdata.api.models
44

55
import com.braintrustdata.api.core.JsonValue
66
import com.braintrustdata.api.core.Params
7-
import com.braintrustdata.api.core.checkRequired
87
import com.braintrustdata.api.core.http.Headers
98
import com.braintrustdata.api.core.http.QueryParams
109
import com.braintrustdata.api.core.toImmutable
1110
import java.util.Objects
1211
import java.util.Optional
12+
import kotlin.jvm.optionals.getOrNull
1313

1414
/** Delete an acl object by its id */
1515
class AclDeleteParams
1616
private constructor(
17-
private val aclId: String,
17+
private val aclId: String?,
1818
private val additionalHeaders: Headers,
1919
private val additionalQueryParams: QueryParams,
2020
private val additionalBodyProperties: Map<String, JsonValue>,
2121
) : Params {
2222

2323
/** Acl id */
24-
fun aclId(): String = aclId
24+
fun aclId(): Optional<String> = Optional.ofNullable(aclId)
2525

2626
fun _additionalBodyProperties(): Map<String, JsonValue> = additionalBodyProperties
2727

@@ -33,14 +33,9 @@ private constructor(
3333

3434
companion object {
3535

36-
/**
37-
* Returns a mutable builder for constructing an instance of [AclDeleteParams].
38-
*
39-
* The following fields are required:
40-
* ```java
41-
* .aclId()
42-
* ```
43-
*/
36+
@JvmStatic fun none(): AclDeleteParams = builder().build()
37+
38+
/** Returns a mutable builder for constructing an instance of [AclDeleteParams]. */
4439
@JvmStatic fun builder() = Builder()
4540
}
4641

@@ -61,7 +56,10 @@ private constructor(
6156
}
6257

6358
/** Acl id */
64-
fun aclId(aclId: String) = apply { this.aclId = aclId }
59+
fun aclId(aclId: String?) = apply { this.aclId = aclId }
60+
61+
/** Alias for calling [Builder.aclId] with `aclId.orElse(null)`. */
62+
fun aclId(aclId: Optional<String>) = aclId(aclId.getOrNull())
6563

6664
fun additionalHeaders(additionalHeaders: Headers) = apply {
6765
this.additionalHeaders.clear()
@@ -187,17 +185,10 @@ private constructor(
187185
* Returns an immutable instance of [AclDeleteParams].
188186
*
189187
* Further updates to this [Builder] will not mutate the returned instance.
190-
*
191-
* The following fields are required:
192-
* ```java
193-
* .aclId()
194-
* ```
195-
*
196-
* @throws IllegalStateException if any required field is unset.
197188
*/
198189
fun build(): AclDeleteParams =
199190
AclDeleteParams(
200-
checkRequired("aclId", aclId),
191+
aclId,
201192
additionalHeaders.build(),
202193
additionalQueryParams.build(),
203194
additionalBodyProperties.toImmutable(),
@@ -209,7 +200,7 @@ private constructor(
209200

210201
fun _pathParam(index: Int): String =
211202
when (index) {
212-
0 -> aclId
203+
0 -> aclId ?: ""
213204
else -> ""
214205
}
215206

braintrust-java-core/src/main/kotlin/com/braintrustdata/api/models/AclRetrieveParams.kt

Lines changed: 13 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,22 @@
33
package com.braintrustdata.api.models
44

55
import com.braintrustdata.api.core.Params
6-
import com.braintrustdata.api.core.checkRequired
76
import com.braintrustdata.api.core.http.Headers
87
import com.braintrustdata.api.core.http.QueryParams
98
import java.util.Objects
9+
import java.util.Optional
10+
import kotlin.jvm.optionals.getOrNull
1011

1112
/** Get an acl object by its id */
1213
class AclRetrieveParams
1314
private constructor(
14-
private val aclId: String,
15+
private val aclId: String?,
1516
private val additionalHeaders: Headers,
1617
private val additionalQueryParams: QueryParams,
1718
) : Params {
1819

1920
/** Acl id */
20-
fun aclId(): String = aclId
21+
fun aclId(): Optional<String> = Optional.ofNullable(aclId)
2122

2223
fun _additionalHeaders(): Headers = additionalHeaders
2324

@@ -27,14 +28,9 @@ private constructor(
2728

2829
companion object {
2930

30-
/**
31-
* Returns a mutable builder for constructing an instance of [AclRetrieveParams].
32-
*
33-
* The following fields are required:
34-
* ```java
35-
* .aclId()
36-
* ```
37-
*/
31+
@JvmStatic fun none(): AclRetrieveParams = builder().build()
32+
33+
/** Returns a mutable builder for constructing an instance of [AclRetrieveParams]. */
3834
@JvmStatic fun builder() = Builder()
3935
}
4036

@@ -53,7 +49,10 @@ private constructor(
5349
}
5450

5551
/** Acl id */
56-
fun aclId(aclId: String) = apply { this.aclId = aclId }
52+
fun aclId(aclId: String?) = apply { this.aclId = aclId }
53+
54+
/** Alias for calling [Builder.aclId] with `aclId.orElse(null)`. */
55+
fun aclId(aclId: Optional<String>) = aclId(aclId.getOrNull())
5756

5857
fun additionalHeaders(additionalHeaders: Headers) = apply {
5958
this.additionalHeaders.clear()
@@ -157,25 +156,14 @@ private constructor(
157156
* Returns an immutable instance of [AclRetrieveParams].
158157
*
159158
* Further updates to this [Builder] will not mutate the returned instance.
160-
*
161-
* The following fields are required:
162-
* ```java
163-
* .aclId()
164-
* ```
165-
*
166-
* @throws IllegalStateException if any required field is unset.
167159
*/
168160
fun build(): AclRetrieveParams =
169-
AclRetrieveParams(
170-
checkRequired("aclId", aclId),
171-
additionalHeaders.build(),
172-
additionalQueryParams.build(),
173-
)
161+
AclRetrieveParams(aclId, additionalHeaders.build(), additionalQueryParams.build())
174162
}
175163

176164
fun _pathParam(index: Int): String =
177165
when (index) {
178-
0 -> aclId
166+
0 -> aclId ?: ""
179167
else -> ""
180168
}
181169

braintrust-java-core/src/main/kotlin/com/braintrustdata/api/models/AiSecretDeleteParams.kt

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ package com.braintrustdata.api.models
44

55
import com.braintrustdata.api.core.JsonValue
66
import com.braintrustdata.api.core.Params
7-
import com.braintrustdata.api.core.checkRequired
87
import com.braintrustdata.api.core.http.Headers
98
import com.braintrustdata.api.core.http.QueryParams
109
import com.braintrustdata.api.core.toImmutable
1110
import java.util.Objects
1211
import java.util.Optional
12+
import kotlin.jvm.optionals.getOrNull
1313

1414
/** Delete an ai_secret object by its id */
1515
class AiSecretDeleteParams
1616
private constructor(
17-
private val aiSecretId: String,
17+
private val aiSecretId: String?,
1818
private val additionalHeaders: Headers,
1919
private val additionalQueryParams: QueryParams,
2020
private val additionalBodyProperties: Map<String, JsonValue>,
2121
) : Params {
2222

2323
/** AiSecret id */
24-
fun aiSecretId(): String = aiSecretId
24+
fun aiSecretId(): Optional<String> = Optional.ofNullable(aiSecretId)
2525

2626
fun _additionalBodyProperties(): Map<String, JsonValue> = additionalBodyProperties
2727

@@ -33,14 +33,9 @@ private constructor(
3333

3434
companion object {
3535

36-
/**
37-
* Returns a mutable builder for constructing an instance of [AiSecretDeleteParams].
38-
*
39-
* The following fields are required:
40-
* ```java
41-
* .aiSecretId()
42-
* ```
43-
*/
36+
@JvmStatic fun none(): AiSecretDeleteParams = builder().build()
37+
38+
/** Returns a mutable builder for constructing an instance of [AiSecretDeleteParams]. */
4439
@JvmStatic fun builder() = Builder()
4540
}
4641

@@ -61,7 +56,10 @@ private constructor(
6156
}
6257

6358
/** AiSecret id */
64-
fun aiSecretId(aiSecretId: String) = apply { this.aiSecretId = aiSecretId }
59+
fun aiSecretId(aiSecretId: String?) = apply { this.aiSecretId = aiSecretId }
60+
61+
/** Alias for calling [Builder.aiSecretId] with `aiSecretId.orElse(null)`. */
62+
fun aiSecretId(aiSecretId: Optional<String>) = aiSecretId(aiSecretId.getOrNull())
6563

6664
fun additionalHeaders(additionalHeaders: Headers) = apply {
6765
this.additionalHeaders.clear()
@@ -187,17 +185,10 @@ private constructor(
187185
* Returns an immutable instance of [AiSecretDeleteParams].
188186
*
189187
* Further updates to this [Builder] will not mutate the returned instance.
190-
*
191-
* The following fields are required:
192-
* ```java
193-
* .aiSecretId()
194-
* ```
195-
*
196-
* @throws IllegalStateException if any required field is unset.
197188
*/
198189
fun build(): AiSecretDeleteParams =
199190
AiSecretDeleteParams(
200-
checkRequired("aiSecretId", aiSecretId),
191+
aiSecretId,
201192
additionalHeaders.build(),
202193
additionalQueryParams.build(),
203194
additionalBodyProperties.toImmutable(),
@@ -209,7 +200,7 @@ private constructor(
209200

210201
fun _pathParam(index: Int): String =
211202
when (index) {
212-
0 -> aiSecretId
203+
0 -> aiSecretId ?: ""
213204
else -> ""
214205
}
215206

braintrust-java-core/src/main/kotlin/com/braintrustdata/api/models/AiSecretRetrieveParams.kt

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,22 @@
33
package com.braintrustdata.api.models
44

55
import com.braintrustdata.api.core.Params
6-
import com.braintrustdata.api.core.checkRequired
76
import com.braintrustdata.api.core.http.Headers
87
import com.braintrustdata.api.core.http.QueryParams
98
import java.util.Objects
9+
import java.util.Optional
10+
import kotlin.jvm.optionals.getOrNull
1011

1112
/** Get an ai_secret object by its id */
1213
class AiSecretRetrieveParams
1314
private constructor(
14-
private val aiSecretId: String,
15+
private val aiSecretId: String?,
1516
private val additionalHeaders: Headers,
1617
private val additionalQueryParams: QueryParams,
1718
) : Params {
1819

1920
/** AiSecret id */
20-
fun aiSecretId(): String = aiSecretId
21+
fun aiSecretId(): Optional<String> = Optional.ofNullable(aiSecretId)
2122

2223
fun _additionalHeaders(): Headers = additionalHeaders
2324

@@ -27,14 +28,9 @@ private constructor(
2728

2829
companion object {
2930

30-
/**
31-
* Returns a mutable builder for constructing an instance of [AiSecretRetrieveParams].
32-
*
33-
* The following fields are required:
34-
* ```java
35-
* .aiSecretId()
36-
* ```
37-
*/
31+
@JvmStatic fun none(): AiSecretRetrieveParams = builder().build()
32+
33+
/** Returns a mutable builder for constructing an instance of [AiSecretRetrieveParams]. */
3834
@JvmStatic fun builder() = Builder()
3935
}
4036

@@ -53,7 +49,10 @@ private constructor(
5349
}
5450

5551
/** AiSecret id */
56-
fun aiSecretId(aiSecretId: String) = apply { this.aiSecretId = aiSecretId }
52+
fun aiSecretId(aiSecretId: String?) = apply { this.aiSecretId = aiSecretId }
53+
54+
/** Alias for calling [Builder.aiSecretId] with `aiSecretId.orElse(null)`. */
55+
fun aiSecretId(aiSecretId: Optional<String>) = aiSecretId(aiSecretId.getOrNull())
5756

5857
fun additionalHeaders(additionalHeaders: Headers) = apply {
5958
this.additionalHeaders.clear()
@@ -157,25 +156,18 @@ private constructor(
157156
* Returns an immutable instance of [AiSecretRetrieveParams].
158157
*
159158
* Further updates to this [Builder] will not mutate the returned instance.
160-
*
161-
* The following fields are required:
162-
* ```java
163-
* .aiSecretId()
164-
* ```
165-
*
166-
* @throws IllegalStateException if any required field is unset.
167159
*/
168160
fun build(): AiSecretRetrieveParams =
169161
AiSecretRetrieveParams(
170-
checkRequired("aiSecretId", aiSecretId),
162+
aiSecretId,
171163
additionalHeaders.build(),
172164
additionalQueryParams.build(),
173165
)
174166
}
175167

176168
fun _pathParam(index: Int): String =
177169
when (index) {
178-
0 -> aiSecretId
170+
0 -> aiSecretId ?: ""
179171
else -> ""
180172
}
181173

0 commit comments

Comments
 (0)