Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ java {

group = 'com.schematichq'

version = '1.1.1'
version = '1.1.2'

jar {
dependsOn(":generatePomFileForMavenPublication")
Expand Down Expand Up @@ -79,7 +79,7 @@ publishing {
maven(MavenPublication) {
groupId = 'com.schematichq'
artifactId = 'schematic-java'
version = '1.1.1'
version = '1.1.2'
from components.java
pom {
name = 'schematic'
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/schematic/api/core/ClientOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ private ClientOptions(
{
put("X-Fern-Language", "JAVA");
put("X-Fern-SDK-Name", "com.schematic.fern:api-sdk");
put("X-Fern-SDK-Version", "1.1.1");
put("X-Fern-SDK-Version", "1.1.2");
}
});
this.headerSuppliers = headerSuppliers;
Expand Down
34 changes: 32 additions & 2 deletions src/main/java/com/schematic/api/core/RequestOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;

public final class RequestOptions {
private final String apiKey;
Expand All @@ -15,10 +16,21 @@ public final class RequestOptions {

private final TimeUnit timeoutTimeUnit;

private RequestOptions(String apiKey, Optional<Integer> timeout, TimeUnit timeoutTimeUnit) {
private final Map<String, String> headers;

private final Map<String, Supplier<String>> headerSuppliers;

private RequestOptions(
String apiKey,
Optional<Integer> timeout,
TimeUnit timeoutTimeUnit,
Map<String, String> headers,
Map<String, Supplier<String>> headerSuppliers) {
this.apiKey = apiKey;
this.timeout = timeout;
this.timeoutTimeUnit = timeoutTimeUnit;
this.headers = headers;
this.headerSuppliers = headerSuppliers;
}

public Optional<Integer> getTimeout() {
Expand All @@ -34,6 +46,10 @@ public Map<String, String> getHeaders() {
if (this.apiKey != null) {
headers.put("X-Schematic-Api-Key", this.apiKey);
}
headers.putAll(this.headers);
this.headerSuppliers.forEach((key, supplier) -> {
headers.put(key, supplier.get());
});
return headers;
}

Expand All @@ -48,6 +64,10 @@ public static final class Builder {

private TimeUnit timeoutTimeUnit = TimeUnit.SECONDS;

private final Map<String, String> headers = new HashMap<>();

private final Map<String, Supplier<String>> headerSuppliers = new HashMap<>();

public Builder apiKey(String apiKey) {
this.apiKey = apiKey;
return this;
Expand All @@ -64,8 +84,18 @@ public Builder timeout(Integer timeout, TimeUnit timeoutTimeUnit) {
return this;
}

public Builder addHeader(String key, String value) {
this.headers.put(key, value);
return this;
}

public Builder addHeader(String key, Supplier<String> value) {
this.headerSuppliers.put(key, value);
return this;
}

public RequestOptions build() {
return new RequestOptions(apiKey, timeout, timeoutTimeUnit);
return new RequestOptions(apiKey, timeout, timeoutTimeUnit, headers, headerSuppliers);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -874,7 +874,7 @@ public ListProductPricesResponse listProductPrices(
}
if (request.getPriceUsageType().isPresent()) {
httpUrl.addQueryParameter(
"price_usage_type", request.getPriceUsageType().get());
"price_usage_type", request.getPriceUsageType().get().toString());
}
if (request.getWithoutLinkedToPlan().isPresent()) {
httpUrl.addQueryParameter(
Expand Down Expand Up @@ -1078,7 +1078,7 @@ public ListBillingProductsResponse listBillingProducts(
}
if (request.getPriceUsageType().isPresent()) {
httpUrl.addQueryParameter(
"price_usage_type", request.getPriceUsageType().get());
"price_usage_type", request.getPriceUsageType().get().toString());
}
if (request.getWithoutLinkedToPlan().isPresent()) {
httpUrl.addQueryParameter(
Expand Down Expand Up @@ -1167,7 +1167,7 @@ public CountBillingProductsResponse countBillingProducts(
}
if (request.getPriceUsageType().isPresent()) {
httpUrl.addQueryParameter(
"price_usage_type", request.getPriceUsageType().get());
"price_usage_type", request.getPriceUsageType().get().toString());
}
if (request.getWithoutLinkedToPlan().isPresent()) {
httpUrl.addQueryParameter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.schematic.api.core.ObjectMappers;
import com.schematic.api.resources.billing.types.CountBillingProductsRequestPriceUsageType;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
Expand All @@ -26,7 +27,7 @@ public final class CountBillingProductsRequest {

private final Optional<String> q;

private final Optional<String> priceUsageType;
private final Optional<CountBillingProductsRequestPriceUsageType> priceUsageType;

private final Optional<Boolean> withoutLinkedToPlan;

Expand All @@ -44,7 +45,7 @@ private CountBillingProductsRequest(
Optional<String> ids,
Optional<String> name,
Optional<String> q,
Optional<String> priceUsageType,
Optional<CountBillingProductsRequestPriceUsageType> priceUsageType,
Optional<Boolean> withoutLinkedToPlan,
Optional<Boolean> withZeroPrice,
Optional<Boolean> withPricesOnly,
Expand Down Expand Up @@ -79,7 +80,7 @@ public Optional<String> getQ() {
}

@JsonProperty("price_usage_type")
public Optional<String> getPriceUsageType() {
public Optional<CountBillingProductsRequestPriceUsageType> getPriceUsageType() {
return priceUsageType;
}

Expand Down Expand Up @@ -177,7 +178,7 @@ public static final class Builder {

private Optional<String> q = Optional.empty();

private Optional<String> priceUsageType = Optional.empty();
private Optional<CountBillingProductsRequestPriceUsageType> priceUsageType = Optional.empty();

private Optional<Boolean> withoutLinkedToPlan = Optional.empty();

Expand Down Expand Up @@ -241,12 +242,12 @@ public Builder q(String q) {
}

@JsonSetter(value = "price_usage_type", nulls = Nulls.SKIP)
public Builder priceUsageType(Optional<String> priceUsageType) {
public Builder priceUsageType(Optional<CountBillingProductsRequestPriceUsageType> priceUsageType) {
this.priceUsageType = priceUsageType;
return this;
}

public Builder priceUsageType(String priceUsageType) {
public Builder priceUsageType(CountBillingProductsRequestPriceUsageType priceUsageType) {
this.priceUsageType = Optional.ofNullable(priceUsageType);
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.schematic.api.core.ObjectMappers;
import com.schematic.api.resources.billing.types.CreateBillingPriceRequestBodyUsageType;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
Expand All @@ -35,7 +36,7 @@ public final class CreateBillingPriceRequestBody {

private final String productExternalId;

private final String usageType;
private final CreateBillingPriceRequestBodyUsageType usageType;

private final Map<String, Object> additionalProperties;

Expand All @@ -47,7 +48,7 @@ private CreateBillingPriceRequestBody(
int price,
String priceExternalId,
String productExternalId,
String usageType,
CreateBillingPriceRequestBodyUsageType usageType,
Map<String, Object> additionalProperties) {
this.currency = currency;
this.interval = interval;
Expand Down Expand Up @@ -96,7 +97,7 @@ public String getProductExternalId() {
}

@JsonProperty("usage_type")
public String getUsageType() {
public CreateBillingPriceRequestBodyUsageType getUsageType() {
return usageType;
}

Expand Down Expand Up @@ -171,7 +172,7 @@ public interface ProductExternalIdStage {
}

public interface UsageTypeStage {
_FinalStage usageType(@NotNull String usageType);
_FinalStage usageType(@NotNull CreateBillingPriceRequestBodyUsageType usageType);
}

public interface _FinalStage {
Expand Down Expand Up @@ -204,7 +205,7 @@ public static final class Builder

private String productExternalId;

private String usageType;
private CreateBillingPriceRequestBodyUsageType usageType;

private Optional<String> meterId = Optional.empty();

Expand Down Expand Up @@ -270,7 +271,7 @@ public UsageTypeStage productExternalId(@NotNull String productExternalId) {

@java.lang.Override
@JsonSetter("usage_type")
public _FinalStage usageType(@NotNull String usageType) {
public _FinalStage usageType(@NotNull CreateBillingPriceRequestBodyUsageType usageType) {
this.usageType = Objects.requireNonNull(usageType, "usageType must not be null");
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.schematic.api.core.ObjectMappers;
import com.schematic.api.resources.billing.types.ListBillingProductsRequestPriceUsageType;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
Expand All @@ -26,7 +27,7 @@ public final class ListBillingProductsRequest {

private final Optional<String> q;

private final Optional<String> priceUsageType;
private final Optional<ListBillingProductsRequestPriceUsageType> priceUsageType;

private final Optional<Boolean> withoutLinkedToPlan;

Expand All @@ -44,7 +45,7 @@ private ListBillingProductsRequest(
Optional<String> ids,
Optional<String> name,
Optional<String> q,
Optional<String> priceUsageType,
Optional<ListBillingProductsRequestPriceUsageType> priceUsageType,
Optional<Boolean> withoutLinkedToPlan,
Optional<Boolean> withZeroPrice,
Optional<Boolean> withPricesOnly,
Expand Down Expand Up @@ -79,7 +80,7 @@ public Optional<String> getQ() {
}

@JsonProperty("price_usage_type")
public Optional<String> getPriceUsageType() {
public Optional<ListBillingProductsRequestPriceUsageType> getPriceUsageType() {
return priceUsageType;
}

Expand Down Expand Up @@ -177,7 +178,7 @@ public static final class Builder {

private Optional<String> q = Optional.empty();

private Optional<String> priceUsageType = Optional.empty();
private Optional<ListBillingProductsRequestPriceUsageType> priceUsageType = Optional.empty();

private Optional<Boolean> withoutLinkedToPlan = Optional.empty();

Expand Down Expand Up @@ -241,12 +242,12 @@ public Builder q(String q) {
}

@JsonSetter(value = "price_usage_type", nulls = Nulls.SKIP)
public Builder priceUsageType(Optional<String> priceUsageType) {
public Builder priceUsageType(Optional<ListBillingProductsRequestPriceUsageType> priceUsageType) {
this.priceUsageType = priceUsageType;
return this;
}

public Builder priceUsageType(String priceUsageType) {
public Builder priceUsageType(ListBillingProductsRequestPriceUsageType priceUsageType) {
this.priceUsageType = Optional.ofNullable(priceUsageType);
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.schematic.api.core.ObjectMappers;
import com.schematic.api.resources.billing.types.ListProductPricesRequestPriceUsageType;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
Expand All @@ -26,7 +27,7 @@ public final class ListProductPricesRequest {

private final Optional<String> q;

private final Optional<String> priceUsageType;
private final Optional<ListProductPricesRequestPriceUsageType> priceUsageType;

private final Optional<Boolean> withoutLinkedToPlan;

Expand All @@ -44,7 +45,7 @@ private ListProductPricesRequest(
Optional<String> ids,
Optional<String> name,
Optional<String> q,
Optional<String> priceUsageType,
Optional<ListProductPricesRequestPriceUsageType> priceUsageType,
Optional<Boolean> withoutLinkedToPlan,
Optional<Boolean> withZeroPrice,
Optional<Boolean> withPricesOnly,
Expand Down Expand Up @@ -79,7 +80,7 @@ public Optional<String> getQ() {
}

@JsonProperty("price_usage_type")
public Optional<String> getPriceUsageType() {
public Optional<ListProductPricesRequestPriceUsageType> getPriceUsageType() {
return priceUsageType;
}

Expand Down Expand Up @@ -177,7 +178,7 @@ public static final class Builder {

private Optional<String> q = Optional.empty();

private Optional<String> priceUsageType = Optional.empty();
private Optional<ListProductPricesRequestPriceUsageType> priceUsageType = Optional.empty();

private Optional<Boolean> withoutLinkedToPlan = Optional.empty();

Expand Down Expand Up @@ -241,12 +242,12 @@ public Builder q(String q) {
}

@JsonSetter(value = "price_usage_type", nulls = Nulls.SKIP)
public Builder priceUsageType(Optional<String> priceUsageType) {
public Builder priceUsageType(Optional<ListProductPricesRequestPriceUsageType> priceUsageType) {
this.priceUsageType = priceUsageType;
return this;
}

public Builder priceUsageType(String priceUsageType) {
public Builder priceUsageType(ListProductPricesRequestPriceUsageType priceUsageType) {
this.priceUsageType = Optional.ofNullable(priceUsageType);
return this;
}
Expand Down
Loading