Skip to content

Commit b1fa758

Browse files
feat(api): manual updates
1 parent 1bc623c commit b1fa758

11 files changed

Lines changed: 1287 additions & 2 deletions

File tree

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 12
1+
configured_endpoints: 13
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brand-dev%2Fbrand.dev-f69782c2c4296df9db6b41a3a7359a9e4910f59e34901b9f0e8045cec3f9ca69.yml
33
openapi_spec_hash: f06c3956a6fc7e57614b120910339747
4-
config_hash: 86160e220c81f47769a71c9343e486d8
4+
config_hash: 6aaf0fe6f8877c9c5d9af95597123cb4
Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
// File generated from our OpenAPI spec by Stainless.
2+
3+
package com.branddev.api.models.brand
4+
5+
import com.branddev.api.core.Params
6+
import com.branddev.api.core.checkRequired
7+
import com.branddev.api.core.http.Headers
8+
import com.branddev.api.core.http.QueryParams
9+
import java.util.Objects
10+
import java.util.Optional
11+
import kotlin.jvm.optionals.getOrNull
12+
13+
/**
14+
* Beta feature: Extract font information from a brand's website including font families, usage
15+
* statistics, fallbacks, and element/word counts.
16+
*/
17+
class BrandFontsParams
18+
private constructor(
19+
private val domain: String,
20+
private val timeoutMs: Long?,
21+
private val additionalHeaders: Headers,
22+
private val additionalQueryParams: QueryParams,
23+
) : Params {
24+
25+
/**
26+
* Domain name to extract fonts from (e.g., 'example.com', 'google.com'). The domain will be
27+
* automatically normalized and validated.
28+
*/
29+
fun domain(): String = domain
30+
31+
/**
32+
* Optional timeout in milliseconds for the request. If the request takes longer than this
33+
* value, it will be aborted with a 408 status code. Maximum allowed value is 300000ms (5
34+
* minutes).
35+
*/
36+
fun timeoutMs(): Optional<Long> = Optional.ofNullable(timeoutMs)
37+
38+
/** Additional headers to send with the request. */
39+
fun _additionalHeaders(): Headers = additionalHeaders
40+
41+
/** Additional query param to send with the request. */
42+
fun _additionalQueryParams(): QueryParams = additionalQueryParams
43+
44+
fun toBuilder() = Builder().from(this)
45+
46+
companion object {
47+
48+
/**
49+
* Returns a mutable builder for constructing an instance of [BrandFontsParams].
50+
*
51+
* The following fields are required:
52+
* ```java
53+
* .domain()
54+
* ```
55+
*/
56+
@JvmStatic fun builder() = Builder()
57+
}
58+
59+
/** A builder for [BrandFontsParams]. */
60+
class Builder internal constructor() {
61+
62+
private var domain: String? = null
63+
private var timeoutMs: Long? = null
64+
private var additionalHeaders: Headers.Builder = Headers.builder()
65+
private var additionalQueryParams: QueryParams.Builder = QueryParams.builder()
66+
67+
@JvmSynthetic
68+
internal fun from(brandFontsParams: BrandFontsParams) = apply {
69+
domain = brandFontsParams.domain
70+
timeoutMs = brandFontsParams.timeoutMs
71+
additionalHeaders = brandFontsParams.additionalHeaders.toBuilder()
72+
additionalQueryParams = brandFontsParams.additionalQueryParams.toBuilder()
73+
}
74+
75+
/**
76+
* Domain name to extract fonts from (e.g., 'example.com', 'google.com'). The domain will be
77+
* automatically normalized and validated.
78+
*/
79+
fun domain(domain: String) = apply { this.domain = domain }
80+
81+
/**
82+
* Optional timeout in milliseconds for the request. If the request takes longer than this
83+
* value, it will be aborted with a 408 status code. Maximum allowed value is 300000ms (5
84+
* minutes).
85+
*/
86+
fun timeoutMs(timeoutMs: Long?) = apply { this.timeoutMs = timeoutMs }
87+
88+
/**
89+
* Alias for [Builder.timeoutMs].
90+
*
91+
* This unboxed primitive overload exists for backwards compatibility.
92+
*/
93+
fun timeoutMs(timeoutMs: Long) = timeoutMs(timeoutMs as Long?)
94+
95+
/** Alias for calling [Builder.timeoutMs] with `timeoutMs.orElse(null)`. */
96+
fun timeoutMs(timeoutMs: Optional<Long>) = timeoutMs(timeoutMs.getOrNull())
97+
98+
fun additionalHeaders(additionalHeaders: Headers) = apply {
99+
this.additionalHeaders.clear()
100+
putAllAdditionalHeaders(additionalHeaders)
101+
}
102+
103+
fun additionalHeaders(additionalHeaders: Map<String, Iterable<String>>) = apply {
104+
this.additionalHeaders.clear()
105+
putAllAdditionalHeaders(additionalHeaders)
106+
}
107+
108+
fun putAdditionalHeader(name: String, value: String) = apply {
109+
additionalHeaders.put(name, value)
110+
}
111+
112+
fun putAdditionalHeaders(name: String, values: Iterable<String>) = apply {
113+
additionalHeaders.put(name, values)
114+
}
115+
116+
fun putAllAdditionalHeaders(additionalHeaders: Headers) = apply {
117+
this.additionalHeaders.putAll(additionalHeaders)
118+
}
119+
120+
fun putAllAdditionalHeaders(additionalHeaders: Map<String, Iterable<String>>) = apply {
121+
this.additionalHeaders.putAll(additionalHeaders)
122+
}
123+
124+
fun replaceAdditionalHeaders(name: String, value: String) = apply {
125+
additionalHeaders.replace(name, value)
126+
}
127+
128+
fun replaceAdditionalHeaders(name: String, values: Iterable<String>) = apply {
129+
additionalHeaders.replace(name, values)
130+
}
131+
132+
fun replaceAllAdditionalHeaders(additionalHeaders: Headers) = apply {
133+
this.additionalHeaders.replaceAll(additionalHeaders)
134+
}
135+
136+
fun replaceAllAdditionalHeaders(additionalHeaders: Map<String, Iterable<String>>) = apply {
137+
this.additionalHeaders.replaceAll(additionalHeaders)
138+
}
139+
140+
fun removeAdditionalHeaders(name: String) = apply { additionalHeaders.remove(name) }
141+
142+
fun removeAllAdditionalHeaders(names: Set<String>) = apply {
143+
additionalHeaders.removeAll(names)
144+
}
145+
146+
fun additionalQueryParams(additionalQueryParams: QueryParams) = apply {
147+
this.additionalQueryParams.clear()
148+
putAllAdditionalQueryParams(additionalQueryParams)
149+
}
150+
151+
fun additionalQueryParams(additionalQueryParams: Map<String, Iterable<String>>) = apply {
152+
this.additionalQueryParams.clear()
153+
putAllAdditionalQueryParams(additionalQueryParams)
154+
}
155+
156+
fun putAdditionalQueryParam(key: String, value: String) = apply {
157+
additionalQueryParams.put(key, value)
158+
}
159+
160+
fun putAdditionalQueryParams(key: String, values: Iterable<String>) = apply {
161+
additionalQueryParams.put(key, values)
162+
}
163+
164+
fun putAllAdditionalQueryParams(additionalQueryParams: QueryParams) = apply {
165+
this.additionalQueryParams.putAll(additionalQueryParams)
166+
}
167+
168+
fun putAllAdditionalQueryParams(additionalQueryParams: Map<String, Iterable<String>>) =
169+
apply {
170+
this.additionalQueryParams.putAll(additionalQueryParams)
171+
}
172+
173+
fun replaceAdditionalQueryParams(key: String, value: String) = apply {
174+
additionalQueryParams.replace(key, value)
175+
}
176+
177+
fun replaceAdditionalQueryParams(key: String, values: Iterable<String>) = apply {
178+
additionalQueryParams.replace(key, values)
179+
}
180+
181+
fun replaceAllAdditionalQueryParams(additionalQueryParams: QueryParams) = apply {
182+
this.additionalQueryParams.replaceAll(additionalQueryParams)
183+
}
184+
185+
fun replaceAllAdditionalQueryParams(additionalQueryParams: Map<String, Iterable<String>>) =
186+
apply {
187+
this.additionalQueryParams.replaceAll(additionalQueryParams)
188+
}
189+
190+
fun removeAdditionalQueryParams(key: String) = apply { additionalQueryParams.remove(key) }
191+
192+
fun removeAllAdditionalQueryParams(keys: Set<String>) = apply {
193+
additionalQueryParams.removeAll(keys)
194+
}
195+
196+
/**
197+
* Returns an immutable instance of [BrandFontsParams].
198+
*
199+
* Further updates to this [Builder] will not mutate the returned instance.
200+
*
201+
* The following fields are required:
202+
* ```java
203+
* .domain()
204+
* ```
205+
*
206+
* @throws IllegalStateException if any required field is unset.
207+
*/
208+
fun build(): BrandFontsParams =
209+
BrandFontsParams(
210+
checkRequired("domain", domain),
211+
timeoutMs,
212+
additionalHeaders.build(),
213+
additionalQueryParams.build(),
214+
)
215+
}
216+
217+
override fun _headers(): Headers = additionalHeaders
218+
219+
override fun _queryParams(): QueryParams =
220+
QueryParams.builder()
221+
.apply {
222+
put("domain", domain)
223+
timeoutMs?.let { put("timeoutMS", it.toString()) }
224+
putAll(additionalQueryParams)
225+
}
226+
.build()
227+
228+
override fun equals(other: Any?): Boolean {
229+
if (this === other) {
230+
return true
231+
}
232+
233+
return other is BrandFontsParams &&
234+
domain == other.domain &&
235+
timeoutMs == other.timeoutMs &&
236+
additionalHeaders == other.additionalHeaders &&
237+
additionalQueryParams == other.additionalQueryParams
238+
}
239+
240+
override fun hashCode(): Int =
241+
Objects.hash(domain, timeoutMs, additionalHeaders, additionalQueryParams)
242+
243+
override fun toString() =
244+
"BrandFontsParams{domain=$domain, timeoutMs=$timeoutMs, additionalHeaders=$additionalHeaders, additionalQueryParams=$additionalQueryParams}"
245+
}

0 commit comments

Comments
 (0)