Skip to content

Commit e2631d5

Browse files
chore(internal): refactor query param serialization impl and tests (#156)
1 parent aad71a9 commit e2631d5

Some content is hidden

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

48 files changed

+930
-557
lines changed

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

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,17 +78,28 @@ private constructor(
7878

7979
override fun _headers(): Headers = additionalHeaders
8080

81-
override fun _queryParams(): QueryParams {
82-
val queryParams = QueryParams.builder()
83-
this.objectId.let { queryParams.put("object_id", listOf(it.toString())) }
84-
this.objectType.let { queryParams.put("object_type", listOf(it.toString())) }
85-
this.endingBefore?.let { queryParams.put("ending_before", listOf(it.toString())) }
86-
this.ids?.let { queryParams.put("ids", listOf(it.toString())) }
87-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
88-
this.startingAfter?.let { queryParams.put("starting_after", listOf(it.toString())) }
89-
queryParams.putAll(additionalQueryParams)
90-
return queryParams.build()
91-
}
81+
override fun _queryParams(): QueryParams =
82+
QueryParams.builder()
83+
.apply {
84+
put("object_id", objectId)
85+
put("object_type", objectType.asString())
86+
endingBefore?.let { put("ending_before", it) }
87+
ids?.accept(
88+
object : Ids.Visitor<Unit> {
89+
override fun visitString(string: String) {
90+
put("ids", string)
91+
}
92+
93+
override fun visitStrings(strings: List<String>) {
94+
put("ids", strings.joinToString(","))
95+
}
96+
}
97+
)
98+
limit?.let { put("limit", it.toString()) }
99+
startingAfter?.let { put("starting_after", it) }
100+
putAll(additionalQueryParams)
101+
}
102+
.build()
92103

93104
fun toBuilder() = Builder().from(this)
94105

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

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,39 @@ private constructor(
8080

8181
override fun _headers(): Headers = additionalHeaders
8282

83-
override fun _queryParams(): QueryParams {
84-
val queryParams = QueryParams.builder()
85-
this.aiSecretName?.let { queryParams.put("ai_secret_name", listOf(it.toString())) }
86-
this.aiSecretType?.let { queryParams.put("ai_secret_type", listOf(it.toString())) }
87-
this.endingBefore?.let { queryParams.put("ending_before", listOf(it.toString())) }
88-
this.ids?.let { queryParams.put("ids", listOf(it.toString())) }
89-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
90-
this.orgName?.let { queryParams.put("org_name", listOf(it.toString())) }
91-
this.startingAfter?.let { queryParams.put("starting_after", listOf(it.toString())) }
92-
queryParams.putAll(additionalQueryParams)
93-
return queryParams.build()
94-
}
83+
override fun _queryParams(): QueryParams =
84+
QueryParams.builder()
85+
.apply {
86+
aiSecretName?.let { put("ai_secret_name", it) }
87+
aiSecretType?.accept(
88+
object : AiSecretType.Visitor<Unit> {
89+
override fun visitString(string: String) {
90+
put("ai_secret_type", string)
91+
}
92+
93+
override fun visitStrings(strings: List<String>) {
94+
put("ai_secret_type", strings.joinToString(","))
95+
}
96+
}
97+
)
98+
endingBefore?.let { put("ending_before", it) }
99+
ids?.accept(
100+
object : Ids.Visitor<Unit> {
101+
override fun visitString(string: String) {
102+
put("ids", string)
103+
}
104+
105+
override fun visitStrings(strings: List<String>) {
106+
put("ids", strings.joinToString(","))
107+
}
108+
}
109+
)
110+
limit?.let { put("limit", it.toString()) }
111+
orgName?.let { put("org_name", it) }
112+
startingAfter?.let { put("starting_after", it) }
113+
putAll(additionalQueryParams)
114+
}
115+
.build()
95116

96117
fun toBuilder() = Builder().from(this)
97118

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

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,28 @@ private constructor(
7777

7878
override fun _headers(): Headers = additionalHeaders
7979

80-
override fun _queryParams(): QueryParams {
81-
val queryParams = QueryParams.builder()
82-
this.apiKeyName?.let { queryParams.put("api_key_name", listOf(it.toString())) }
83-
this.endingBefore?.let { queryParams.put("ending_before", listOf(it.toString())) }
84-
this.ids?.let { queryParams.put("ids", listOf(it.toString())) }
85-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
86-
this.orgName?.let { queryParams.put("org_name", listOf(it.toString())) }
87-
this.startingAfter?.let { queryParams.put("starting_after", listOf(it.toString())) }
88-
queryParams.putAll(additionalQueryParams)
89-
return queryParams.build()
90-
}
80+
override fun _queryParams(): QueryParams =
81+
QueryParams.builder()
82+
.apply {
83+
apiKeyName?.let { put("api_key_name", it) }
84+
endingBefore?.let { put("ending_before", it) }
85+
ids?.accept(
86+
object : Ids.Visitor<Unit> {
87+
override fun visitString(string: String) {
88+
put("ids", string)
89+
}
90+
91+
override fun visitStrings(strings: List<String>) {
92+
put("ids", strings.joinToString(","))
93+
}
94+
}
95+
)
96+
limit?.let { put("limit", it.toString()) }
97+
orgName?.let { put("org_name", it) }
98+
startingAfter?.let { put("starting_after", it) }
99+
putAll(additionalQueryParams)
100+
}
101+
.build()
91102

92103
fun toBuilder() = Builder().from(this)
93104

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,16 @@ private constructor(
8888

8989
override fun _headers(): Headers = additionalHeaders
9090

91-
override fun _queryParams(): QueryParams {
92-
val queryParams = QueryParams.builder()
93-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
94-
this.maxRootSpanId?.let { queryParams.put("max_root_span_id", listOf(it.toString())) }
95-
this.maxXactId?.let { queryParams.put("max_xact_id", listOf(it.toString())) }
96-
this.version?.let { queryParams.put("version", listOf(it.toString())) }
97-
queryParams.putAll(additionalQueryParams)
98-
return queryParams.build()
99-
}
91+
override fun _queryParams(): QueryParams =
92+
QueryParams.builder()
93+
.apply {
94+
limit?.let { put("limit", it.toString()) }
95+
maxRootSpanId?.let { put("max_root_span_id", it) }
96+
maxXactId?.let { put("max_xact_id", it) }
97+
version?.let { put("version", it) }
98+
putAll(additionalQueryParams)
99+
}
100+
.build()
100101

101102
fun getPathParam(index: Int): String {
102103
return when (index) {

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

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -85,19 +85,30 @@ private constructor(
8585

8686
override fun _headers(): Headers = additionalHeaders
8787

88-
override fun _queryParams(): QueryParams {
89-
val queryParams = QueryParams.builder()
90-
this.datasetName?.let { queryParams.put("dataset_name", listOf(it.toString())) }
91-
this.endingBefore?.let { queryParams.put("ending_before", listOf(it.toString())) }
92-
this.ids?.let { queryParams.put("ids", listOf(it.toString())) }
93-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
94-
this.orgName?.let { queryParams.put("org_name", listOf(it.toString())) }
95-
this.projectId?.let { queryParams.put("project_id", listOf(it.toString())) }
96-
this.projectName?.let { queryParams.put("project_name", listOf(it.toString())) }
97-
this.startingAfter?.let { queryParams.put("starting_after", listOf(it.toString())) }
98-
queryParams.putAll(additionalQueryParams)
99-
return queryParams.build()
100-
}
88+
override fun _queryParams(): QueryParams =
89+
QueryParams.builder()
90+
.apply {
91+
datasetName?.let { put("dataset_name", it) }
92+
endingBefore?.let { put("ending_before", it) }
93+
ids?.accept(
94+
object : Ids.Visitor<Unit> {
95+
override fun visitString(string: String) {
96+
put("ids", string)
97+
}
98+
99+
override fun visitStrings(strings: List<String>) {
100+
put("ids", strings.joinToString(","))
101+
}
102+
}
103+
)
104+
limit?.let { put("limit", it.toString()) }
105+
orgName?.let { put("org_name", it) }
106+
projectId?.let { put("project_id", it) }
107+
projectName?.let { put("project_name", it) }
108+
startingAfter?.let { put("starting_after", it) }
109+
putAll(additionalQueryParams)
110+
}
111+
.build()
101112

102113
fun toBuilder() = Builder().from(this)
103114

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

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,13 @@ private constructor(
3232

3333
override fun _headers(): Headers = additionalHeaders
3434

35-
override fun _queryParams(): QueryParams {
36-
val queryParams = QueryParams.builder()
37-
this.summarizeData?.let { queryParams.put("summarize_data", listOf(it.toString())) }
38-
queryParams.putAll(additionalQueryParams)
39-
return queryParams.build()
40-
}
35+
override fun _queryParams(): QueryParams =
36+
QueryParams.builder()
37+
.apply {
38+
summarizeData?.let { put("summarize_data", it.toString()) }
39+
putAll(additionalQueryParams)
40+
}
41+
.build()
4142

4243
fun getPathParam(index: Int): String {
4344
return when (index) {

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

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,27 @@ private constructor(
6161

6262
override fun _headers(): Headers = additionalHeaders
6363

64-
override fun _queryParams(): QueryParams {
65-
val queryParams = QueryParams.builder()
66-
this.envVarName?.let { queryParams.put("env_var_name", listOf(it.toString())) }
67-
this.ids?.let { queryParams.put("ids", listOf(it.toString())) }
68-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
69-
this.objectId?.let { queryParams.put("object_id", listOf(it.toString())) }
70-
this.objectType?.let { queryParams.put("object_type", listOf(it.toString())) }
71-
queryParams.putAll(additionalQueryParams)
72-
return queryParams.build()
73-
}
64+
override fun _queryParams(): QueryParams =
65+
QueryParams.builder()
66+
.apply {
67+
envVarName?.let { put("env_var_name", it) }
68+
ids?.accept(
69+
object : Ids.Visitor<Unit> {
70+
override fun visitString(string: String) {
71+
put("ids", string)
72+
}
73+
74+
override fun visitStrings(strings: List<String>) {
75+
put("ids", strings.joinToString(","))
76+
}
77+
}
78+
)
79+
limit?.let { put("limit", it.toString()) }
80+
objectId?.let { put("object_id", it) }
81+
objectType?.let { put("object_type", it.asString()) }
82+
putAll(additionalQueryParams)
83+
}
84+
.build()
7485

7586
fun toBuilder() = Builder().from(this)
7687

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,16 @@ private constructor(
8888

8989
override fun _headers(): Headers = additionalHeaders
9090

91-
override fun _queryParams(): QueryParams {
92-
val queryParams = QueryParams.builder()
93-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
94-
this.maxRootSpanId?.let { queryParams.put("max_root_span_id", listOf(it.toString())) }
95-
this.maxXactId?.let { queryParams.put("max_xact_id", listOf(it.toString())) }
96-
this.version?.let { queryParams.put("version", listOf(it.toString())) }
97-
queryParams.putAll(additionalQueryParams)
98-
return queryParams.build()
99-
}
91+
override fun _queryParams(): QueryParams =
92+
QueryParams.builder()
93+
.apply {
94+
limit?.let { put("limit", it.toString()) }
95+
maxRootSpanId?.let { put("max_root_span_id", it) }
96+
maxXactId?.let { put("max_xact_id", it) }
97+
version?.let { put("version", it) }
98+
putAll(additionalQueryParams)
99+
}
100+
.build()
100101

101102
fun getPathParam(index: Int): String {
102103
return when (index) {

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

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -85,19 +85,30 @@ private constructor(
8585

8686
override fun _headers(): Headers = additionalHeaders
8787

88-
override fun _queryParams(): QueryParams {
89-
val queryParams = QueryParams.builder()
90-
this.endingBefore?.let { queryParams.put("ending_before", listOf(it.toString())) }
91-
this.experimentName?.let { queryParams.put("experiment_name", listOf(it.toString())) }
92-
this.ids?.let { queryParams.put("ids", listOf(it.toString())) }
93-
this.limit?.let { queryParams.put("limit", listOf(it.toString())) }
94-
this.orgName?.let { queryParams.put("org_name", listOf(it.toString())) }
95-
this.projectId?.let { queryParams.put("project_id", listOf(it.toString())) }
96-
this.projectName?.let { queryParams.put("project_name", listOf(it.toString())) }
97-
this.startingAfter?.let { queryParams.put("starting_after", listOf(it.toString())) }
98-
queryParams.putAll(additionalQueryParams)
99-
return queryParams.build()
100-
}
88+
override fun _queryParams(): QueryParams =
89+
QueryParams.builder()
90+
.apply {
91+
endingBefore?.let { put("ending_before", it) }
92+
experimentName?.let { put("experiment_name", it) }
93+
ids?.accept(
94+
object : Ids.Visitor<Unit> {
95+
override fun visitString(string: String) {
96+
put("ids", string)
97+
}
98+
99+
override fun visitStrings(strings: List<String>) {
100+
put("ids", strings.joinToString(","))
101+
}
102+
}
103+
)
104+
limit?.let { put("limit", it.toString()) }
105+
orgName?.let { put("org_name", it) }
106+
projectId?.let { put("project_id", it) }
107+
projectName?.let { put("project_name", it) }
108+
startingAfter?.let { put("starting_after", it) }
109+
putAll(additionalQueryParams)
110+
}
111+
.build()
101112

102113
fun toBuilder() = Builder().from(this)
103114

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

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,14 @@ private constructor(
4343

4444
override fun _headers(): Headers = additionalHeaders
4545

46-
override fun _queryParams(): QueryParams {
47-
val queryParams = QueryParams.builder()
48-
this.comparisonExperimentId?.let {
49-
queryParams.put("comparison_experiment_id", listOf(it.toString()))
50-
}
51-
this.summarizeScores?.let { queryParams.put("summarize_scores", listOf(it.toString())) }
52-
queryParams.putAll(additionalQueryParams)
53-
return queryParams.build()
54-
}
46+
override fun _queryParams(): QueryParams =
47+
QueryParams.builder()
48+
.apply {
49+
comparisonExperimentId?.let { put("comparison_experiment_id", it) }
50+
summarizeScores?.let { put("summarize_scores", it.toString()) }
51+
putAll(additionalQueryParams)
52+
}
53+
.build()
5554

5655
fun getPathParam(index: Int): String {
5756
return when (index) {

0 commit comments

Comments
 (0)