From 9b4b7c872f19073e2dccd1d0121f601b6f845f0d Mon Sep 17 00:00:00 2001 From: "fern-api[bot]" <115122769+fern-api[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2026 18:09:27 +0000 Subject: [PATCH] SDK regeneration --- .fern/metadata.json | 9 +- build.gradle | 6 +- reference.md | 368 +++++++++++ .../com/schematic/api/AsyncBaseSchematic.java | 8 + .../schematic/api/core/RetryInterceptor.java | 9 +- .../requests/CountApiKeysRequest.java | 10 +- .../requests/CountAuditLogsRequest.java | 16 +- .../requests/ListAccountMembersRequest.java | 10 +- .../accounts/requests/ListApiKeysRequest.java | 10 +- .../requests/ListAuditLogsRequest.java | 16 +- .../requests/ListEnvironmentsRequest.java | 8 +- .../requests/CountBillingProductsRequest.java | 26 +- .../requests/CountCustomersRequest.java | 14 +- .../requests/ListBillingPricesRequest.java | 34 +- .../ListBillingProductPricesRequest.java | 34 +- .../requests/ListBillingProductsRequest.java | 26 +- .../billing/requests/ListCouponsRequest.java | 10 +- ...ListCustomersWithSubscriptionsRequest.java | 14 +- .../billing/requests/ListInvoicesRequest.java | 12 +- .../billing/requests/ListMetersRequest.java | 8 +- .../requests/ListPaymentMethodsRequest.java | 10 +- .../requests/CountCompaniesRequest.java | 40 +- .../CountEntityKeyDefinitionsRequest.java | 12 +- .../CountEntityTraitDefinitionsRequest.java | 16 +- .../requests/CountPlanTraitsRequest.java | 14 +- .../companies/requests/CountUsersRequest.java | 14 +- .../requests/DeleteCompanyRequest.java | 6 +- .../GetActiveCompanySubscriptionRequest.java | 10 +- .../requests/GetEntityTraitValuesRequest.java | 10 +- .../requests/ListCompaniesRequest.java | 40 +- .../ListCompanyMembershipsRequest.java | 10 +- .../ListEntityKeyDefinitionsRequest.java | 12 +- .../ListEntityTraitDefinitionsRequest.java | 16 +- .../requests/ListPlanChangesRequest.java | 16 +- .../requests/ListPlanTraitsRequest.java | 14 +- .../companies/requests/ListUsersRequest.java | 14 +- .../requests/LookupCompanyRequest.java | 4 +- .../companies/requests/LookupUserRequest.java | 4 +- .../requests/CountComponentsRequest.java | 8 +- .../requests/ListComponentsRequest.java | 8 +- .../requests/PreviewComponentDataRequest.java | 6 +- .../resources/credits/AsyncCreditsClient.java | 12 + .../credits/AsyncRawCreditsClient.java | 90 +++ .../api/resources/credits/CreditsClient.java | 11 + .../resources/credits/RawCreditsClient.java | 66 ++ .../CountBillingCreditsGrantsRequest.java | 10 +- .../requests/CountBillingCreditsRequest.java | 10 +- .../CountBillingPlanCreditGrantsRequest.java | 16 +- .../requests/CountCompanyGrantsRequest.java | 12 +- .../requests/CountCreditBundlesRequest.java | 14 +- .../CountCreditEventLedgerRequest.java | 18 +- .../requests/CountCreditLedgerRequest.java | 18 +- .../DeleteBillingPlanCreditGrantRequest.java | 4 +- .../GetEnrichedCreditLedgerRequest.java | 18 +- .../requests/ListBillingCreditsRequest.java | 10 +- .../ListBillingPlanCreditGrantsRequest.java | 16 +- .../ListCompanyCreditBalancesRequest.java | 118 ++++ .../requests/ListCompanyGrantsRequest.java | 12 +- .../requests/ListCreditBundlesRequest.java | 14 +- .../ListCreditEventLedgerRequest.java | 18 +- .../requests/ListGrantsForCreditRequest.java | 10 +- .../ListCompanyCreditBalancesParams.java | 105 ++++ .../ListCompanyCreditBalancesResponse.java | 177 ++++++ .../CountCompanyOverridesRequest.java | 20 +- .../CountFeatureCompaniesRequest.java | 10 +- .../requests/CountFeatureUsageRequest.java | 18 +- .../requests/CountFeatureUsersRequest.java | 10 +- .../CountPlanEntitlementsRequest.java | 24 +- .../GetFeatureUsageByCompanyRequest.java | 4 +- .../GetFeatureUsageTimeSeriesRequest.java | 12 +- .../requests/ListCompanyOverridesRequest.java | 20 +- .../requests/ListFeatureCompaniesRequest.java | 10 +- .../requests/ListFeatureUsageRequest.java | 18 +- .../requests/ListFeatureUsersRequest.java | 10 +- .../requests/ListPlanEntitlementsRequest.java | 24 +- .../requests/GetEventSummariesRequest.java | 10 +- .../events/requests/ListEventsRequest.java | 16 +- .../requests/CountFeaturesRequest.java | 20 +- .../features/requests/CountFlagsRequest.java | 12 +- .../requests/ListFeaturesRequest.java | 20 +- .../features/requests/ListFlagsRequest.java | 12 +- .../insights/AsyncInsightsClient.java | 113 ++++ .../insights/AsyncRawInsightsClient.java | 578 ++++++++++++++++++ .../resources/insights/InsightsClient.java | 109 ++++ .../resources/insights/RawInsightsClient.java | 437 +++++++++++++ .../insights/requests/GetActivityRequest.java | 105 ++++ ...ironmentFeatureUsageTimeSeriesRequest.java | 204 +++++++ ...nvironmentTraitUsageTimeSeriesRequest.java | 204 +++++++ .../requests/GetPlanGrowthRequest.java | 105 ++++ .../GetTopFeaturesByUsageRequest.java | 175 ++++++ .../insights/types/GetActivityParams.java | 105 ++++ .../insights/types/GetActivityResponse.java | 153 +++++ ...vironmentFeatureUsageTimeSeriesParams.java | 183 ++++++ ...ronmentFeatureUsageTimeSeriesResponse.java | 156 +++++ ...EnvironmentTraitUsageTimeSeriesParams.java | 183 ++++++ ...vironmentTraitUsageTimeSeriesResponse.java | 156 +++++ .../insights/types/GetPlanGrowthParams.java | 105 ++++ .../insights/types/GetPlanGrowthResponse.java | 153 +++++ .../insights/types/GetSummaryResponse.java | 181 ++++++ .../types/GetTopFeaturesByUsageParams.java | 154 +++++ .../types/GetTopFeaturesByUsageResponse.java | 155 +++++ .../requests/GetPlanGroupRequest.java | 4 +- .../CountCompanyMigrationsRequest.java | 12 +- .../requests/CountMigrationsRequest.java | 10 +- .../ListCompanyMigrationsRequest.java | 12 +- .../requests/ListMigrationsRequest.java | 10 +- ...ntBillingProductMatchCompaniesRequest.java | 10 +- .../plans/requests/CountPlansRequest.java | 32 +- .../requests/DeletePlanVersionRequest.java | 4 +- .../plans/requests/GetPlanRequest.java | 4 +- ...stBillingProductMatchCompaniesRequest.java | 10 +- .../ListCustomPlanBillingsRequest.java | 14 +- .../plans/requests/ListPlanIssuesRequest.java | 6 +- .../plans/requests/ListPlansRequest.java | 32 +- .../ListScheduledCheckoutsRequest.java | 10 +- .../requests/CountWebhookEventsRequest.java | 12 +- .../requests/CountWebhooksRequest.java | 8 +- .../requests/ListWebhookEventsRequest.java | 12 +- .../requests/ListWebhooksRequest.java | 8 +- .../api/types/AccountMemberPermission.java | 68 +-- .../api/types/ActivityEntryResponseData.java | 250 ++++++++ .../types/ActivityResponseResponseData.java | 117 ++++ .../com/schematic/api/types/ActorType.java | 12 +- .../com/schematic/api/types/ApiKeyScope.java | 12 +- .../api/types/BillingCreditExpiryType.java | 12 +- .../api/types/BillingCreditGrantReason.java | 12 +- .../BillingPlanCreditGrantResetCadence.java | 14 +- .../CompanyCreditBalanceResponseData.java | 200 ++++++ .../api/types/ComparableOperator.java | 24 +- .../schematic/api/types/ConditionType.java | 22 +- .../schematic/api/types/CreditEventType.java | 12 +- .../api/types/CreditLedgerPeriod.java | 24 +- .../schematic/api/types/DataExportStatus.java | 12 +- .../api/types/EntitlementPriceBehavior.java | 24 +- .../api/types/EntitlementValueType.java | 12 +- ...entFeatureUsageTimeSeriesResponseData.java | 192 ++++++ ...nmentTraitUsageTimeSeriesResponseData.java | 192 ++++++ .../EnvironmentUsagePointResponseData.java | 142 +++++ .../com/schematic/api/types/EventBody.java | 28 +- .../com/schematic/api/types/EventStatus.java | 12 +- .../api/types/FeatureLifecyclePhase.java | 14 +- .../types/InsightsSummaryResponseData.java | 274 +++++++++ .../schematic/api/types/InvoiceStatus.java | 24 +- .../com/schematic/api/types/MetricPeriod.java | 12 +- .../schematic/api/types/MrrResponseData.java | 140 +++++ .../schematic/api/types/PlanChangeAction.java | 60 +- .../types/PlanChangeSubscriptionAction.java | 14 +- .../types/PlanGrowthPointResponseData.java | 193 ++++++ .../api/types/PlanGrowthResponseData.java | 116 ++++ .../com/schematic/api/types/PlanIcon.java | 66 +- .../PlanVersionCompanyMigrationStatus.java | 14 +- .../api/types/PlanVersionMigrationStatus.java | 14 +- .../api/types/PlanVersionStatus.java | 12 +- .../com/schematic/api/types/RuleType.java | 24 +- .../api/types/RulesengineConditionType.java | 22 +- .../RulesengineEntitlementValueType.java | 14 +- .../api/types/RulesengineMetricPeriod.java | 12 +- .../api/types/RulesengineRuleType.java | 26 +- .../api/types/SubscriptionStatus.java | 22 +- .../schematic/api/types/SubscriptionType.java | 12 +- .../api/types/TimeSeriesGranularity.java | 12 +- .../types/TopFeatureByUsageResponseData.java | 257 ++++++++ .../types/TopFeaturesByUsageResponseData.java | 117 ++++ .../api/types/WebhookEventStatus.java | 12 +- .../api/types/WebhookRequestType.java | 244 ++++---- .../api/UndiscriminatedUnionTest.java | 36 ++ 166 files changed, 7985 insertions(+), 1076 deletions(-) create mode 100644 src/main/java/com/schematic/api/resources/credits/requests/ListCompanyCreditBalancesRequest.java create mode 100644 src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesParams.java create mode 100644 src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesResponse.java create mode 100644 src/main/java/com/schematic/api/resources/insights/AsyncInsightsClient.java create mode 100644 src/main/java/com/schematic/api/resources/insights/AsyncRawInsightsClient.java create mode 100644 src/main/java/com/schematic/api/resources/insights/InsightsClient.java create mode 100644 src/main/java/com/schematic/api/resources/insights/RawInsightsClient.java create mode 100644 src/main/java/com/schematic/api/resources/insights/requests/GetActivityRequest.java create mode 100644 src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentFeatureUsageTimeSeriesRequest.java create mode 100644 src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentTraitUsageTimeSeriesRequest.java create mode 100644 src/main/java/com/schematic/api/resources/insights/requests/GetPlanGrowthRequest.java create mode 100644 src/main/java/com/schematic/api/resources/insights/requests/GetTopFeaturesByUsageRequest.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetActivityParams.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetActivityResponse.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesParams.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesResponse.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesParams.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesResponse.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthParams.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthResponse.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetSummaryResponse.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageParams.java create mode 100644 src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageResponse.java create mode 100644 src/main/java/com/schematic/api/types/ActivityEntryResponseData.java create mode 100644 src/main/java/com/schematic/api/types/ActivityResponseResponseData.java create mode 100644 src/main/java/com/schematic/api/types/CompanyCreditBalanceResponseData.java create mode 100644 src/main/java/com/schematic/api/types/EnvironmentFeatureUsageTimeSeriesResponseData.java create mode 100644 src/main/java/com/schematic/api/types/EnvironmentTraitUsageTimeSeriesResponseData.java create mode 100644 src/main/java/com/schematic/api/types/EnvironmentUsagePointResponseData.java create mode 100644 src/main/java/com/schematic/api/types/InsightsSummaryResponseData.java create mode 100644 src/main/java/com/schematic/api/types/MrrResponseData.java create mode 100644 src/main/java/com/schematic/api/types/PlanGrowthPointResponseData.java create mode 100644 src/main/java/com/schematic/api/types/PlanGrowthResponseData.java create mode 100644 src/main/java/com/schematic/api/types/TopFeatureByUsageResponseData.java create mode 100644 src/main/java/com/schematic/api/types/TopFeaturesByUsageResponseData.java create mode 100644 src/test/java/com/schematic/api/UndiscriminatedUnionTest.java diff --git a/.fern/metadata.json b/.fern/metadata.json index 5bb954a..7f8583c 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,16 +1,19 @@ { "cliVersion": "4.76.1", "generatorName": "fernapi/fern-java-sdk", - "generatorVersion": "3.44.6", + "generatorVersion": "4.6.1", "generatorConfig": { "client-class-name": "BaseSchematic", "generate-unknown-as-json-node": true, "enable-wire-tests": false, "custom-dependencies": [ "testImplementation org.mockito:mockito-core:5.3.1", - "testImplementation org.mockito:mockito-junit-jupiter:5.3.1" + "testImplementation org.mockito:mockito-junit-jupiter:5.3.1", + "implementation com.dylibso.chicory:runtime:1.4.0", + "implementation com.dylibso.chicory:wasi:1.4.0", + "implementation redis.clients:jedis:5.2.0" ] }, - "originGitCommit": "5315b1ba06c9c71f00ac501c3e7ea3092701cd7b", + "originGitCommit": "57973a46a4d4ac7fb0dba2d9296b6f6073efd859", "sdkVersion": "1.3.0" } \ No newline at end of file diff --git a/build.gradle b/build.gradle index f2d0b00..994224f 100644 --- a/build.gradle +++ b/build.gradle @@ -18,14 +18,14 @@ dependencies { api 'com.fasterxml.jackson.core:jackson-databind:2.18.6' api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.6' api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.6' - implementation 'com.dylibso.chicory:runtime:1.4.0' - implementation 'com.dylibso.chicory:wasi:1.4.0' - implementation 'redis.clients:jedis:5.2.0' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2' testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2' testImplementation 'org.mockito:mockito-core:5.3.1' testImplementation 'org.mockito:mockito-junit-jupiter:5.3.1' + implementation 'com.dylibso.chicory:runtime:1.4.0' + implementation 'com.dylibso.chicory:wasi:1.4.0' + implementation 'redis.clients:jedis:5.2.0' } diff --git a/reference.md b/reference.md index e65755c..fd6bb6f 100644 --- a/reference.md +++ b/reference.md @@ -3730,6 +3730,51 @@ client.credits().softDeleteBillingCredit("credit_id"); + + + + +
client.credits.listCompanyCreditBalances() -> ListCompanyCreditBalancesResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.credits().listCompanyCreditBalances( + ListCompanyCreditBalancesRequest + .builder() + .companyId("company_id") + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**companyId:** `String` + +
+
+
+
+ +
@@ -14696,6 +14741,329 @@ client.features().countFlags( + + + + +## insights +
client.insights.getActivity() -> GetActivityResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.insights().getActivity( + GetActivityRequest + .builder() + .limit(1000000L) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**limit:** `Optional` + +
+
+
+
+ + +
+
+
+ +
client.insights.getEnvironmentFeatureUsageTimeSeries() -> GetEnvironmentFeatureUsageTimeSeriesResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.insights().getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest + .builder() + .endTime(OffsetDateTime.parse("2024-01-15T09:30:00Z")) + .featureId("feature_id") + .startTime(OffsetDateTime.parse("2024-01-15T09:30:00Z")) + .granularity(TimeSeriesGranularity.DAILY) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**endTime:** `OffsetDateTime` + +
+
+ +
+
+ +**featureId:** `String` + +
+
+ +
+
+ +**granularity:** `Optional` + +
+
+ +
+
+ +**startTime:** `OffsetDateTime` + +
+
+
+
+ + +
+
+
+ +
client.insights.getPlanGrowth() -> GetPlanGrowthResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.insights().getPlanGrowth( + GetPlanGrowthRequest + .builder() + .months(1000000L) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**months:** `Optional` + +
+
+
+
+ + +
+
+
+ +
client.insights.getSummary() -> GetSummaryResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.insights().getSummary(); +``` +
+
+
+
+ + +
+
+
+ +
client.insights.getTopFeaturesByUsage() -> GetTopFeaturesByUsageResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.insights().getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest + .builder() + .endTime(OffsetDateTime.parse("2024-01-15T09:30:00Z")) + .startTime(OffsetDateTime.parse("2024-01-15T09:30:00Z")) + .limit(1000000L) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**endTime:** `OffsetDateTime` + +
+
+ +
+
+ +**limit:** `Optional` + +
+
+ +
+
+ +**startTime:** `OffsetDateTime` + +
+
+
+
+ + +
+
+
+ +
client.insights.getEnvironmentTraitUsageTimeSeries() -> GetEnvironmentTraitUsageTimeSeriesResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.insights().getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest + .builder() + .endTime(OffsetDateTime.parse("2024-01-15T09:30:00Z")) + .featureId("feature_id") + .startTime(OffsetDateTime.parse("2024-01-15T09:30:00Z")) + .granularity(TimeSeriesGranularity.DAILY) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**endTime:** `OffsetDateTime` + +
+
+ +
+
+ +**featureId:** `String` + +
+
+ +
+
+ +**granularity:** `Optional` + +
+
+ +
+
+ +**startTime:** `OffsetDateTime` + +
+
+
+
+ +
diff --git a/src/main/java/com/schematic/api/AsyncBaseSchematic.java b/src/main/java/com/schematic/api/AsyncBaseSchematic.java index 7a592fb..93714ed 100644 --- a/src/main/java/com/schematic/api/AsyncBaseSchematic.java +++ b/src/main/java/com/schematic/api/AsyncBaseSchematic.java @@ -17,6 +17,7 @@ import com.schematic.api.resources.entitlements.AsyncEntitlementsClient; import com.schematic.api.resources.events.AsyncEventsClient; import com.schematic.api.resources.features.AsyncFeaturesClient; +import com.schematic.api.resources.insights.AsyncInsightsClient; import com.schematic.api.resources.integrationsapi.AsyncIntegrationsapiClient; import com.schematic.api.resources.planbundle.AsyncPlanbundleClient; import com.schematic.api.resources.plangroups.AsyncPlangroupsClient; @@ -51,6 +52,8 @@ public class AsyncBaseSchematic { protected final Supplier featuresClient; + protected final Supplier insightsClient; + protected final Supplier integrationsapiClient; protected final Supplier planbundleClient; @@ -80,6 +83,7 @@ public AsyncBaseSchematic(ClientOptions clientOptions) { this.dataexportsClient = Suppliers.memoize(() -> new AsyncDataexportsClient(clientOptions)); this.eventsClient = Suppliers.memoize(() -> new AsyncEventsClient(clientOptions)); this.featuresClient = Suppliers.memoize(() -> new AsyncFeaturesClient(clientOptions)); + this.insightsClient = Suppliers.memoize(() -> new AsyncInsightsClient(clientOptions)); this.integrationsapiClient = Suppliers.memoize(() -> new AsyncIntegrationsapiClient(clientOptions)); this.planbundleClient = Suppliers.memoize(() -> new AsyncPlanbundleClient(clientOptions)); this.plangroupsClient = Suppliers.memoize(() -> new AsyncPlangroupsClient(clientOptions)); @@ -134,6 +138,10 @@ public AsyncFeaturesClient features() { return this.featuresClient.get(); } + public AsyncInsightsClient insights() { + return this.insightsClient.get(); + } + public AsyncIntegrationsapiClient integrationsapi() { return this.integrationsapiClient.get(); } diff --git a/src/main/java/com/schematic/api/core/RetryInterceptor.java b/src/main/java/com/schematic/api/core/RetryInterceptor.java index 9579be6..5493606 100644 --- a/src/main/java/com/schematic/api/core/RetryInterceptor.java +++ b/src/main/java/com/schematic/api/core/RetryInterceptor.java @@ -19,11 +19,11 @@ public class RetryInterceptor implements Interceptor { private static final Duration MAX_RETRY_DELAY = Duration.ofMillis(60000); private static final double JITTER_FACTOR = 0.2; - private final ExponentialBackoff backoff; + private final int maxRetries; private final Random random = new Random(); public RetryInterceptor(int maxRetries) { - this.backoff = new ExponentialBackoff(maxRetries); + this.maxRetries = maxRetries; } @Override @@ -38,7 +38,8 @@ public Response intercept(Chain chain) throws IOException { } private Response retryChain(Response response, Chain chain) throws IOException { - Optional nextBackoff = this.backoff.nextBackoff(response); + ExponentialBackoff backoff = new ExponentialBackoff(this.maxRetries); + Optional nextBackoff = backoff.nextBackoff(response); while (nextBackoff.isPresent()) { try { Thread.sleep(nextBackoff.get().toMillis()); @@ -48,7 +49,7 @@ private Response retryChain(Response response, Chain chain) throws IOException { response.close(); response = chain.proceed(chain.request()); if (shouldRetry(response.code())) { - nextBackoff = this.backoff.nextBackoff(response); + nextBackoff = backoff.nextBackoff(response); } else { return response; } diff --git a/src/main/java/com/schematic/api/resources/accounts/requests/CountApiKeysRequest.java b/src/main/java/com/schematic/api/resources/accounts/requests/CountApiKeysRequest.java index b1404d5..b26ce1c 100644 --- a/src/main/java/com/schematic/api/resources/accounts/requests/CountApiKeysRequest.java +++ b/src/main/java/com/schematic/api/resources/accounts/requests/CountApiKeysRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -43,12 +43,12 @@ private CountApiKeysRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("environment_id") + @JsonIgnore public Optional getEnvironmentId() { return environmentId; } - @JsonProperty("require_environment") + @JsonIgnore public boolean getRequireEnvironment() { return requireEnvironment; } @@ -56,7 +56,7 @@ public boolean getRequireEnvironment() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/accounts/requests/CountAuditLogsRequest.java b/src/main/java/com/schematic/api/resources/accounts/requests/CountAuditLogsRequest.java index ac71a48..dcf8548 100644 --- a/src/main/java/com/schematic/api/resources/accounts/requests/CountAuditLogsRequest.java +++ b/src/main/java/com/schematic/api/resources/accounts/requests/CountAuditLogsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -57,27 +57,27 @@ private CountAuditLogsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("actor_type") + @JsonIgnore public Optional getActorType() { return actorType; } - @JsonProperty("end_time") + @JsonIgnore public Optional getEndTime() { return endTime; } - @JsonProperty("environment_id") + @JsonIgnore public Optional getEnvironmentId() { return environmentId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("start_time") + @JsonIgnore public Optional getStartTime() { return startTime; } @@ -85,7 +85,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -93,7 +93,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/accounts/requests/ListAccountMembersRequest.java b/src/main/java/com/schematic/api/resources/accounts/requests/ListAccountMembersRequest.java index 10a0328..c2374fc 100644 --- a/src/main/java/com/schematic/api/resources/accounts/requests/ListAccountMembersRequest.java +++ b/src/main/java/com/schematic/api/resources/accounts/requests/ListAccountMembersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,7 +45,7 @@ private ListAccountMembersRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -53,7 +53,7 @@ public Optional> getIds() { /** * @return Search filter */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -61,7 +61,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -69,7 +69,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/accounts/requests/ListApiKeysRequest.java b/src/main/java/com/schematic/api/resources/accounts/requests/ListApiKeysRequest.java index 4973446..876e1f0 100644 --- a/src/main/java/com/schematic/api/resources/accounts/requests/ListApiKeysRequest.java +++ b/src/main/java/com/schematic/api/resources/accounts/requests/ListApiKeysRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -43,12 +43,12 @@ private ListApiKeysRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("environment_id") + @JsonIgnore public Optional getEnvironmentId() { return environmentId; } - @JsonProperty("require_environment") + @JsonIgnore public boolean getRequireEnvironment() { return requireEnvironment; } @@ -56,7 +56,7 @@ public boolean getRequireEnvironment() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/accounts/requests/ListAuditLogsRequest.java b/src/main/java/com/schematic/api/resources/accounts/requests/ListAuditLogsRequest.java index 6fa6321..e9c4d56 100644 --- a/src/main/java/com/schematic/api/resources/accounts/requests/ListAuditLogsRequest.java +++ b/src/main/java/com/schematic/api/resources/accounts/requests/ListAuditLogsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -57,27 +57,27 @@ private ListAuditLogsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("actor_type") + @JsonIgnore public Optional getActorType() { return actorType; } - @JsonProperty("end_time") + @JsonIgnore public Optional getEndTime() { return endTime; } - @JsonProperty("environment_id") + @JsonIgnore public Optional getEnvironmentId() { return environmentId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("start_time") + @JsonIgnore public Optional getStartTime() { return startTime; } @@ -85,7 +85,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -93,7 +93,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/accounts/requests/ListEnvironmentsRequest.java b/src/main/java/com/schematic/api/resources/accounts/requests/ListEnvironmentsRequest.java index 26a0616..fc8e5f5 100644 --- a/src/main/java/com/schematic/api/resources/accounts/requests/ListEnvironmentsRequest.java +++ b/src/main/java/com/schematic/api/resources/accounts/requests/ListEnvironmentsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -41,7 +41,7 @@ private ListEnvironmentsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -49,7 +49,7 @@ public Optional> getIds() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -57,7 +57,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/CountBillingProductsRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/CountBillingProductsRequest.java index 7e8550f..81b1d03 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/CountBillingProductsRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/CountBillingProductsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -79,7 +79,7 @@ private CountBillingProductsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -87,27 +87,27 @@ public Optional> getIds() { /** * @return Filter products that are active. Defaults to true if not specified */ - @JsonProperty("is_active") + @JsonIgnore public Optional getIsActive() { return isActive; } - @JsonProperty("name") + @JsonIgnore public Optional getName() { return name; } - @JsonProperty("price_usage_type") + @JsonIgnore public Optional getPriceUsageType() { return priceUsageType; } - @JsonProperty("provider_type") + @JsonIgnore public Optional getProviderType() { return providerType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -115,7 +115,7 @@ public Optional getQ() { /** * @return Filter products that are one time charges */ - @JsonProperty("with_one_time_charges") + @JsonIgnore public Optional getWithOneTimeCharges() { return withOneTimeCharges; } @@ -123,7 +123,7 @@ public Optional getWithOneTimeCharges() { /** * @return Filter products that have prices */ - @JsonProperty("with_prices_only") + @JsonIgnore public Optional getWithPricesOnly() { return withPricesOnly; } @@ -131,7 +131,7 @@ public Optional getWithPricesOnly() { /** * @return Filter products that have zero price for free subscription type */ - @JsonProperty("with_zero_price") + @JsonIgnore public Optional getWithZeroPrice() { return withZeroPrice; } @@ -139,7 +139,7 @@ public Optional getWithZeroPrice() { /** * @return Filter products that are not linked to any plan */ - @JsonProperty("without_linked_to_plan") + @JsonIgnore public Optional getWithoutLinkedToPlan() { return withoutLinkedToPlan; } @@ -147,7 +147,7 @@ public Optional getWithoutLinkedToPlan() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -155,7 +155,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/CountCustomersRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/CountCustomersRequest.java index 7b10283..c0ef76e 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/CountCustomersRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/CountCustomersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -54,22 +54,22 @@ private CountCustomersRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_ids") + @JsonIgnore public Optional> getCompanyIds() { return companyIds; } - @JsonProperty("name") + @JsonIgnore public Optional getName() { return name; } - @JsonProperty("provider_type") + @JsonIgnore public Optional getProviderType() { return providerType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -77,7 +77,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListBillingPricesRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListBillingPricesRequest.java index c438be3..c245ca6 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListBillingPricesRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListBillingPricesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -96,12 +96,12 @@ private ListBillingPricesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("product_ids") + @JsonIgnore public Optional> getProductIds() { return productIds; } @@ -109,7 +109,7 @@ public Optional> getProductIds() { /** * @return Filter for prices in a specific currency (e.g. usd, eur) */ - @JsonProperty("currency") + @JsonIgnore public Optional getCurrency() { return currency; } @@ -117,7 +117,7 @@ public Optional getCurrency() { /** * @return Filter for prices valid for initial plans (free prices only) */ - @JsonProperty("for_initial_plan") + @JsonIgnore public Optional getForInitialPlan() { return forInitialPlan; } @@ -125,12 +125,12 @@ public Optional getForInitialPlan() { /** * @return Filter for prices valid for trial expiry plans (free prices only) */ - @JsonProperty("for_trial_expiry_plan") + @JsonIgnore public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } - @JsonProperty("interval") + @JsonIgnore public Optional getInterval() { return interval; } @@ -138,37 +138,37 @@ public Optional getInterval() { /** * @return Filter for active prices on active products (defaults to true if not specified) */ - @JsonProperty("is_active") + @JsonIgnore public Optional getIsActive() { return isActive; } - @JsonProperty("price") + @JsonIgnore public Optional getPrice() { return price; } - @JsonProperty("product_id") + @JsonIgnore public Optional getProductId() { return productId; } - @JsonProperty("provider_type") + @JsonIgnore public Optional getProviderType() { return providerType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("tiers_mode") + @JsonIgnore public Optional getTiersMode() { return tiersMode; } - @JsonProperty("usage_type") + @JsonIgnore public Optional getUsageType() { return usageType; } @@ -176,7 +176,7 @@ public Optional getUsageType() { /** * @return Filter for prices with a meter */ - @JsonProperty("with_meter") + @JsonIgnore public Optional getWithMeter() { return withMeter; } @@ -184,7 +184,7 @@ public Optional getWithMeter() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -192,7 +192,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductPricesRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductPricesRequest.java index a70372c..18539b1 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductPricesRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductPricesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -96,12 +96,12 @@ private ListBillingProductPricesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("product_ids") + @JsonIgnore public Optional> getProductIds() { return productIds; } @@ -109,7 +109,7 @@ public Optional> getProductIds() { /** * @return Filter for prices in a specific currency (e.g. usd, eur) */ - @JsonProperty("currency") + @JsonIgnore public Optional getCurrency() { return currency; } @@ -117,7 +117,7 @@ public Optional getCurrency() { /** * @return Filter for prices valid for initial plans (free prices only) */ - @JsonProperty("for_initial_plan") + @JsonIgnore public Optional getForInitialPlan() { return forInitialPlan; } @@ -125,12 +125,12 @@ public Optional getForInitialPlan() { /** * @return Filter for prices valid for trial expiry plans (free prices only) */ - @JsonProperty("for_trial_expiry_plan") + @JsonIgnore public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } - @JsonProperty("interval") + @JsonIgnore public Optional getInterval() { return interval; } @@ -138,37 +138,37 @@ public Optional getInterval() { /** * @return Filter for active prices on active products (defaults to true if not specified) */ - @JsonProperty("is_active") + @JsonIgnore public Optional getIsActive() { return isActive; } - @JsonProperty("price") + @JsonIgnore public Optional getPrice() { return price; } - @JsonProperty("product_id") + @JsonIgnore public Optional getProductId() { return productId; } - @JsonProperty("provider_type") + @JsonIgnore public Optional getProviderType() { return providerType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("tiers_mode") + @JsonIgnore public Optional getTiersMode() { return tiersMode; } - @JsonProperty("usage_type") + @JsonIgnore public Optional getUsageType() { return usageType; } @@ -176,7 +176,7 @@ public Optional getUsageType() { /** * @return Filter for prices with a meter */ - @JsonProperty("with_meter") + @JsonIgnore public Optional getWithMeter() { return withMeter; } @@ -184,7 +184,7 @@ public Optional getWithMeter() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -192,7 +192,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductsRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductsRequest.java index 25d953b..0203db8 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductsRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListBillingProductsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -79,7 +79,7 @@ private ListBillingProductsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -87,27 +87,27 @@ public Optional> getIds() { /** * @return Filter products that are active. Defaults to true if not specified */ - @JsonProperty("is_active") + @JsonIgnore public Optional getIsActive() { return isActive; } - @JsonProperty("name") + @JsonIgnore public Optional getName() { return name; } - @JsonProperty("price_usage_type") + @JsonIgnore public Optional getPriceUsageType() { return priceUsageType; } - @JsonProperty("provider_type") + @JsonIgnore public Optional getProviderType() { return providerType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -115,7 +115,7 @@ public Optional getQ() { /** * @return Filter products that are one time charges */ - @JsonProperty("with_one_time_charges") + @JsonIgnore public Optional getWithOneTimeCharges() { return withOneTimeCharges; } @@ -123,7 +123,7 @@ public Optional getWithOneTimeCharges() { /** * @return Filter products that have prices */ - @JsonProperty("with_prices_only") + @JsonIgnore public Optional getWithPricesOnly() { return withPricesOnly; } @@ -131,7 +131,7 @@ public Optional getWithPricesOnly() { /** * @return Filter products that have zero price for free subscription type */ - @JsonProperty("with_zero_price") + @JsonIgnore public Optional getWithZeroPrice() { return withZeroPrice; } @@ -139,7 +139,7 @@ public Optional getWithZeroPrice() { /** * @return Filter products that are not linked to any plan */ - @JsonProperty("without_linked_to_plan") + @JsonIgnore public Optional getWithoutLinkedToPlan() { return withoutLinkedToPlan; } @@ -147,7 +147,7 @@ public Optional getWithoutLinkedToPlan() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -155,7 +155,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListCouponsRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListCouponsRequest.java index d934e55..d629b00 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListCouponsRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListCouponsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -43,12 +43,12 @@ private ListCouponsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("is_active") + @JsonIgnore public Optional getIsActive() { return isActive; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -56,7 +56,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListCustomersWithSubscriptionsRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListCustomersWithSubscriptionsRequest.java index 01643e6..9b29ac3 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListCustomersWithSubscriptionsRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListCustomersWithSubscriptionsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -54,22 +54,22 @@ private ListCustomersWithSubscriptionsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_ids") + @JsonIgnore public Optional> getCompanyIds() { return companyIds; } - @JsonProperty("name") + @JsonIgnore public Optional getName() { return name; } - @JsonProperty("provider_type") + @JsonIgnore public Optional getProviderType() { return providerType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -77,7 +77,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListInvoicesRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListInvoicesRequest.java index 66cb929..8219394 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListInvoicesRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListInvoicesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -48,17 +48,17 @@ private ListInvoicesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("customer_external_id") + @JsonIgnore public String getCustomerExternalId() { return customerExternalId; } - @JsonProperty("subscription_external_id") + @JsonIgnore public String getSubscriptionExternalId() { return subscriptionExternalId; } @@ -66,7 +66,7 @@ public String getSubscriptionExternalId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -74,7 +74,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListMetersRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListMetersRequest.java index a8da457..1ef42f3 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListMetersRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListMetersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -39,7 +39,7 @@ private ListMetersRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("display_name") + @JsonIgnore public Optional getDisplayName() { return displayName; } @@ -47,7 +47,7 @@ public Optional getDisplayName() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -55,7 +55,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/requests/ListPaymentMethodsRequest.java b/src/main/java/com/schematic/api/resources/billing/requests/ListPaymentMethodsRequest.java index e59a85c..33833c4 100644 --- a/src/main/java/com/schematic/api/resources/billing/requests/ListPaymentMethodsRequest.java +++ b/src/main/java/com/schematic/api/resources/billing/requests/ListPaymentMethodsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private ListPaymentMethodsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("customer_external_id") + @JsonIgnore public String getCustomerExternalId() { return customerExternalId; } @@ -57,7 +57,7 @@ public String getCustomerExternalId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/CountCompaniesRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/CountCompaniesRequest.java index fb2b7bc..9794196 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/CountCompaniesRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/CountCompaniesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -111,7 +111,7 @@ private CountCompaniesRequest( /** * @return Filter companies by one or more credit type IDs (each ID starts with bcrd_) */ - @JsonProperty("credit_type_ids") + @JsonIgnore public Optional> getCreditTypeIds() { return creditTypeIds; } @@ -119,7 +119,7 @@ public Optional> getCreditTypeIds() { /** * @return Filter companies by multiple company IDs (starts with comp_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -127,7 +127,7 @@ public Optional> getIds() { /** * @return Filter companies by one or more plan IDs (each ID starts with plan_) */ - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } @@ -135,7 +135,7 @@ public Optional> getPlanIds() { /** * @return Filter companies by one or more subscription statuses */ - @JsonProperty("subscription_statuses") + @JsonIgnore public Optional> getSubscriptionStatuses() { return subscriptionStatuses; } @@ -143,7 +143,7 @@ public Optional> getSubscriptionStatuses() { /** * @return Filter companies by one or more subscription types */ - @JsonProperty("subscription_types") + @JsonIgnore public Optional> getSubscriptionTypes() { return subscriptionTypes; } @@ -151,7 +151,7 @@ public Optional> getSubscriptionTypes() { /** * @return Filter companies that have a pending scheduled downgrade */ - @JsonProperty("has_scheduled_downgrade") + @JsonIgnore public Optional getHasScheduledDowngrade() { return hasScheduledDowngrade; } @@ -159,7 +159,7 @@ public Optional getHasScheduledDowngrade() { /** * @return Filter companies that have monetized subscriptions */ - @JsonProperty("monetized_subscriptions") + @JsonIgnore public Optional getMonetizedSubscriptions() { return monetizedSubscriptions; } @@ -167,7 +167,7 @@ public Optional getMonetizedSubscriptions() { /** * @return Filter companies by plan ID (starts with plan_) */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -175,7 +175,7 @@ public Optional getPlanId() { /** * @return Filter companies by plan version ID (starts with plvr_) */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -183,7 +183,7 @@ public Optional getPlanVersionId() { /** * @return Search for companies by name, keys or string traits */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -191,7 +191,7 @@ public Optional getQ() { /** * @return Column to sort by (e.g. name, created_at, last_seen_at) */ - @JsonProperty("sort_order_column") + @JsonIgnore public Optional getSortOrderColumn() { return sortOrderColumn; } @@ -199,7 +199,7 @@ public Optional getSortOrderColumn() { /** * @return Direction to sort by (asc or desc) */ - @JsonProperty("sort_order_direction") + @JsonIgnore public Optional getSortOrderDirection() { return sortOrderDirection; } @@ -207,7 +207,7 @@ public Optional getSortOrderDirection() { /** * @return Filter companies that have an entitlement (plan entitlement or company override) for the specified feature ID */ - @JsonProperty("with_entitlement_for") + @JsonIgnore public Optional getWithEntitlementFor() { return withEntitlementFor; } @@ -215,7 +215,7 @@ public Optional getWithEntitlementFor() { /** * @return Filter out companies that already have a company override for the specified feature ID */ - @JsonProperty("without_feature_override_for") + @JsonIgnore public Optional getWithoutFeatureOverrideFor() { return withoutFeatureOverrideFor; } @@ -223,7 +223,7 @@ public Optional getWithoutFeatureOverrideFor() { /** * @return Filter out companies that have a plan */ - @JsonProperty("without_plan") + @JsonIgnore public Optional getWithoutPlan() { return withoutPlan; } @@ -231,7 +231,7 @@ public Optional getWithoutPlan() { /** * @return Filter out companies that have a subscription */ - @JsonProperty("without_subscription") + @JsonIgnore public Optional getWithoutSubscription() { return withoutSubscription; } @@ -239,7 +239,7 @@ public Optional getWithoutSubscription() { /** * @return Filter companies that have a subscription */ - @JsonProperty("with_subscription") + @JsonIgnore public Optional getWithSubscription() { return withSubscription; } @@ -247,7 +247,7 @@ public Optional getWithSubscription() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -255,7 +255,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/CountEntityKeyDefinitionsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/CountEntityKeyDefinitionsRequest.java index bcf453c..31cdeb9 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/CountEntityKeyDefinitionsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/CountEntityKeyDefinitionsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -50,17 +50,17 @@ private CountEntityKeyDefinitionsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("entity_type") + @JsonIgnore public Optional getEntityType() { return entityType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -68,7 +68,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -76,7 +76,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/CountEntityTraitDefinitionsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/CountEntityTraitDefinitionsRequest.java index 9102e4c..1d3c94b 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/CountEntityTraitDefinitionsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/CountEntityTraitDefinitionsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -59,27 +59,27 @@ private CountEntityTraitDefinitionsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("trait_types") + @JsonIgnore public Optional> getTraitTypes() { return traitTypes; } - @JsonProperty("entity_type") + @JsonIgnore public Optional getEntityType() { return entityType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("trait_type") + @JsonIgnore public Optional getTraitType() { return traitType; } @@ -87,7 +87,7 @@ public Optional getTraitType() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -95,7 +95,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/CountPlanTraitsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/CountPlanTraitsRequest.java index 3af7630..a653cc2 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/CountPlanTraitsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/CountPlanTraitsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -53,22 +53,22 @@ private CountPlanTraitsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("trait_ids") + @JsonIgnore public Optional> getTraitIds() { return traitIds; } - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } - @JsonProperty("trait_id") + @JsonIgnore public Optional getTraitId() { return traitId; } @@ -76,7 +76,7 @@ public Optional getTraitId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -84,7 +84,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/CountUsersRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/CountUsersRequest.java index 5954844..4bcee89 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/CountUsersRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/CountUsersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -56,7 +56,7 @@ private CountUsersRequest( /** * @return Filter users by multiple user IDs (starts with user_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -64,7 +64,7 @@ public Optional> getIds() { /** * @return Filter users by company ID (starts with comp_) */ - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -72,7 +72,7 @@ public Optional getCompanyId() { /** * @return Filter users by plan ID (starts with plan_) */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -80,7 +80,7 @@ public Optional getPlanId() { /** * @return Search for users by name, keys or string traits */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -88,7 +88,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -96,7 +96,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/DeleteCompanyRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/DeleteCompanyRequest.java index 2767940..b37a87e 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/DeleteCompanyRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/DeleteCompanyRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -33,12 +33,12 @@ private DeleteCompanyRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("cancel_subscription") + @JsonIgnore public Optional getCancelSubscription() { return cancelSubscription; } - @JsonProperty("prorate") + @JsonIgnore public Optional getProrate() { return prorate; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/GetActiveCompanySubscriptionRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/GetActiveCompanySubscriptionRequest.java index c7a08cf..73e169e 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/GetActiveCompanySubscriptionRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/GetActiveCompanySubscriptionRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,12 +45,12 @@ private GetActiveCompanySubscriptionRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_ids") + @JsonIgnore public Optional> getCompanyIds() { return companyIds; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -58,7 +58,7 @@ public Optional getCompanyId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/GetEntityTraitValuesRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/GetEntityTraitValuesRequest.java index 2aa9f6d..82a6746 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/GetEntityTraitValuesRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/GetEntityTraitValuesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private GetEntityTraitValuesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("definition_id") + @JsonIgnore public String getDefinitionId() { return definitionId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListCompaniesRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListCompaniesRequest.java index 28ee241..60511f2 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListCompaniesRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListCompaniesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -111,7 +111,7 @@ private ListCompaniesRequest( /** * @return Filter companies by one or more credit type IDs (each ID starts with bcrd_) */ - @JsonProperty("credit_type_ids") + @JsonIgnore public Optional> getCreditTypeIds() { return creditTypeIds; } @@ -119,7 +119,7 @@ public Optional> getCreditTypeIds() { /** * @return Filter companies by multiple company IDs (starts with comp_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -127,7 +127,7 @@ public Optional> getIds() { /** * @return Filter companies by one or more plan IDs (each ID starts with plan_) */ - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } @@ -135,7 +135,7 @@ public Optional> getPlanIds() { /** * @return Filter companies by one or more subscription statuses */ - @JsonProperty("subscription_statuses") + @JsonIgnore public Optional> getSubscriptionStatuses() { return subscriptionStatuses; } @@ -143,7 +143,7 @@ public Optional> getSubscriptionStatuses() { /** * @return Filter companies by one or more subscription types */ - @JsonProperty("subscription_types") + @JsonIgnore public Optional> getSubscriptionTypes() { return subscriptionTypes; } @@ -151,7 +151,7 @@ public Optional> getSubscriptionTypes() { /** * @return Filter companies that have a pending scheduled downgrade */ - @JsonProperty("has_scheduled_downgrade") + @JsonIgnore public Optional getHasScheduledDowngrade() { return hasScheduledDowngrade; } @@ -159,7 +159,7 @@ public Optional getHasScheduledDowngrade() { /** * @return Filter companies that have monetized subscriptions */ - @JsonProperty("monetized_subscriptions") + @JsonIgnore public Optional getMonetizedSubscriptions() { return monetizedSubscriptions; } @@ -167,7 +167,7 @@ public Optional getMonetizedSubscriptions() { /** * @return Filter companies by plan ID (starts with plan_) */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -175,7 +175,7 @@ public Optional getPlanId() { /** * @return Filter companies by plan version ID (starts with plvr_) */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -183,7 +183,7 @@ public Optional getPlanVersionId() { /** * @return Search for companies by name, keys or string traits */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -191,7 +191,7 @@ public Optional getQ() { /** * @return Column to sort by (e.g. name, created_at, last_seen_at) */ - @JsonProperty("sort_order_column") + @JsonIgnore public Optional getSortOrderColumn() { return sortOrderColumn; } @@ -199,7 +199,7 @@ public Optional getSortOrderColumn() { /** * @return Direction to sort by (asc or desc) */ - @JsonProperty("sort_order_direction") + @JsonIgnore public Optional getSortOrderDirection() { return sortOrderDirection; } @@ -207,7 +207,7 @@ public Optional getSortOrderDirection() { /** * @return Filter companies that have an entitlement (plan entitlement or company override) for the specified feature ID */ - @JsonProperty("with_entitlement_for") + @JsonIgnore public Optional getWithEntitlementFor() { return withEntitlementFor; } @@ -215,7 +215,7 @@ public Optional getWithEntitlementFor() { /** * @return Filter out companies that already have a company override for the specified feature ID */ - @JsonProperty("without_feature_override_for") + @JsonIgnore public Optional getWithoutFeatureOverrideFor() { return withoutFeatureOverrideFor; } @@ -223,7 +223,7 @@ public Optional getWithoutFeatureOverrideFor() { /** * @return Filter out companies that have a plan */ - @JsonProperty("without_plan") + @JsonIgnore public Optional getWithoutPlan() { return withoutPlan; } @@ -231,7 +231,7 @@ public Optional getWithoutPlan() { /** * @return Filter out companies that have a subscription */ - @JsonProperty("without_subscription") + @JsonIgnore public Optional getWithoutSubscription() { return withoutSubscription; } @@ -239,7 +239,7 @@ public Optional getWithoutSubscription() { /** * @return Filter companies that have a subscription */ - @JsonProperty("with_subscription") + @JsonIgnore public Optional getWithSubscription() { return withSubscription; } @@ -247,7 +247,7 @@ public Optional getWithSubscription() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -255,7 +255,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListCompanyMembershipsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListCompanyMembershipsRequest.java index da2ab3d..f87fe6a 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListCompanyMembershipsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListCompanyMembershipsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -43,12 +43,12 @@ private ListCompanyMembershipsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("user_id") + @JsonIgnore public Optional getUserId() { return userId; } @@ -56,7 +56,7 @@ public Optional getUserId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListEntityKeyDefinitionsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListEntityKeyDefinitionsRequest.java index daecd29..5700eab 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListEntityKeyDefinitionsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListEntityKeyDefinitionsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -50,17 +50,17 @@ private ListEntityKeyDefinitionsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("entity_type") + @JsonIgnore public Optional getEntityType() { return entityType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -68,7 +68,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -76,7 +76,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListEntityTraitDefinitionsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListEntityTraitDefinitionsRequest.java index 6bfafbe..f3ae9f9 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListEntityTraitDefinitionsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListEntityTraitDefinitionsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -59,27 +59,27 @@ private ListEntityTraitDefinitionsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("trait_types") + @JsonIgnore public Optional> getTraitTypes() { return traitTypes; } - @JsonProperty("entity_type") + @JsonIgnore public Optional getEntityType() { return entityType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("trait_type") + @JsonIgnore public Optional getTraitType() { return traitType; } @@ -87,7 +87,7 @@ public Optional getTraitType() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -95,7 +95,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListPlanChangesRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListPlanChangesRequest.java index aa3452c..28ac15c 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListPlanChangesRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListPlanChangesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -59,27 +59,27 @@ private ListPlanChangesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_ids") + @JsonIgnore public Optional> getCompanyIds() { return companyIds; } - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } - @JsonProperty("action") + @JsonIgnore public Optional getAction() { return action; } - @JsonProperty("base_plan_action") + @JsonIgnore public Optional getBasePlanAction() { return basePlanAction; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -87,7 +87,7 @@ public Optional getCompanyId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -95,7 +95,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListPlanTraitsRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListPlanTraitsRequest.java index 6178385..9e61d17 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListPlanTraitsRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListPlanTraitsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -53,22 +53,22 @@ private ListPlanTraitsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("trait_ids") + @JsonIgnore public Optional> getTraitIds() { return traitIds; } - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } - @JsonProperty("trait_id") + @JsonIgnore public Optional getTraitId() { return traitId; } @@ -76,7 +76,7 @@ public Optional getTraitId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -84,7 +84,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/ListUsersRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/ListUsersRequest.java index 2cb70c6..37748c3 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/ListUsersRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/ListUsersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -56,7 +56,7 @@ private ListUsersRequest( /** * @return Filter users by multiple user IDs (starts with user_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -64,7 +64,7 @@ public Optional> getIds() { /** * @return Filter users by company ID (starts with comp_) */ - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -72,7 +72,7 @@ public Optional getCompanyId() { /** * @return Filter users by plan ID (starts with plan_) */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -80,7 +80,7 @@ public Optional getPlanId() { /** * @return Search for users by name, keys or string traits */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -88,7 +88,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -96,7 +96,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/LookupCompanyRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/LookupCompanyRequest.java index a0a1f94..f7b77d2 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/LookupCompanyRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/LookupCompanyRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -32,7 +32,7 @@ private LookupCompanyRequest(Map keys, Map addit /** * @return Key/value pairs */ - @JsonProperty("keys") + @JsonIgnore public Map getKeys() { return keys; } diff --git a/src/main/java/com/schematic/api/resources/companies/requests/LookupUserRequest.java b/src/main/java/com/schematic/api/resources/companies/requests/LookupUserRequest.java index 99ec230..944459d 100644 --- a/src/main/java/com/schematic/api/resources/companies/requests/LookupUserRequest.java +++ b/src/main/java/com/schematic/api/resources/companies/requests/LookupUserRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -32,7 +32,7 @@ private LookupUserRequest(Map keys, Map addition /** * @return Key/value pairs */ - @JsonProperty("keys") + @JsonIgnore public Map getKeys() { return keys; } diff --git a/src/main/java/com/schematic/api/resources/components/requests/CountComponentsRequest.java b/src/main/java/com/schematic/api/resources/components/requests/CountComponentsRequest.java index 9553ad2..f52e35f 100644 --- a/src/main/java/com/schematic/api/resources/components/requests/CountComponentsRequest.java +++ b/src/main/java/com/schematic/api/resources/components/requests/CountComponentsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -36,7 +36,7 @@ private CountComponentsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/components/requests/ListComponentsRequest.java b/src/main/java/com/schematic/api/resources/components/requests/ListComponentsRequest.java index 9f45256..00bcbe6 100644 --- a/src/main/java/com/schematic/api/resources/components/requests/ListComponentsRequest.java +++ b/src/main/java/com/schematic/api/resources/components/requests/ListComponentsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -36,7 +36,7 @@ private ListComponentsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/components/requests/PreviewComponentDataRequest.java b/src/main/java/com/schematic/api/resources/components/requests/PreviewComponentDataRequest.java index 7b1ff0f..e7c587b 100644 --- a/src/main/java/com/schematic/api/resources/components/requests/PreviewComponentDataRequest.java +++ b/src/main/java/com/schematic/api/resources/components/requests/PreviewComponentDataRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -33,12 +33,12 @@ private PreviewComponentDataRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("component_id") + @JsonIgnore public Optional getComponentId() { return componentId; } diff --git a/src/main/java/com/schematic/api/resources/credits/AsyncCreditsClient.java b/src/main/java/com/schematic/api/resources/credits/AsyncCreditsClient.java index 07c80c1..00695b7 100644 --- a/src/main/java/com/schematic/api/resources/credits/AsyncCreditsClient.java +++ b/src/main/java/com/schematic/api/resources/credits/AsyncCreditsClient.java @@ -19,6 +19,7 @@ import com.schematic.api.resources.credits.requests.GetEnrichedCreditLedgerRequest; import com.schematic.api.resources.credits.requests.ListBillingCreditsRequest; import com.schematic.api.resources.credits.requests.ListBillingPlanCreditGrantsRequest; +import com.schematic.api.resources.credits.requests.ListCompanyCreditBalancesRequest; import com.schematic.api.resources.credits.requests.ListCompanyGrantsRequest; import com.schematic.api.resources.credits.requests.ListCreditBundlesRequest; import com.schematic.api.resources.credits.requests.ListCreditEventLedgerRequest; @@ -45,6 +46,7 @@ import com.schematic.api.resources.credits.types.GrantBillingCreditsToCompanyResponse; import com.schematic.api.resources.credits.types.ListBillingCreditsResponse; import com.schematic.api.resources.credits.types.ListBillingPlanCreditGrantsResponse; +import com.schematic.api.resources.credits.types.ListCompanyCreditBalancesResponse; import com.schematic.api.resources.credits.types.ListCompanyGrantsResponse; import com.schematic.api.resources.credits.types.ListCreditBundlesResponse; import com.schematic.api.resources.credits.types.ListCreditEventLedgerResponse; @@ -131,6 +133,16 @@ public CompletableFuture softDeleteBillingCredi return this.rawClient.softDeleteBillingCredit(creditId, requestOptions).thenApply(response -> response.body()); } + public CompletableFuture listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request) { + return this.rawClient.listCompanyCreditBalances(request).thenApply(response -> response.body()); + } + + public CompletableFuture listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request, RequestOptions requestOptions) { + return this.rawClient.listCompanyCreditBalances(request, requestOptions).thenApply(response -> response.body()); + } + public CompletableFuture listCreditBundles() { return this.rawClient.listCreditBundles().thenApply(response -> response.body()); } diff --git a/src/main/java/com/schematic/api/resources/credits/AsyncRawCreditsClient.java b/src/main/java/com/schematic/api/resources/credits/AsyncRawCreditsClient.java index 62867e6..07bd1ce 100644 --- a/src/main/java/com/schematic/api/resources/credits/AsyncRawCreditsClient.java +++ b/src/main/java/com/schematic/api/resources/credits/AsyncRawCreditsClient.java @@ -31,6 +31,7 @@ import com.schematic.api.resources.credits.requests.GetEnrichedCreditLedgerRequest; import com.schematic.api.resources.credits.requests.ListBillingCreditsRequest; import com.schematic.api.resources.credits.requests.ListBillingPlanCreditGrantsRequest; +import com.schematic.api.resources.credits.requests.ListCompanyCreditBalancesRequest; import com.schematic.api.resources.credits.requests.ListCompanyGrantsRequest; import com.schematic.api.resources.credits.requests.ListCreditBundlesRequest; import com.schematic.api.resources.credits.requests.ListCreditEventLedgerRequest; @@ -57,6 +58,7 @@ import com.schematic.api.resources.credits.types.GrantBillingCreditsToCompanyResponse; import com.schematic.api.resources.credits.types.ListBillingCreditsResponse; import com.schematic.api.resources.credits.types.ListBillingPlanCreditGrantsResponse; +import com.schematic.api.resources.credits.types.ListCompanyCreditBalancesResponse; import com.schematic.api.resources.credits.types.ListCompanyGrantsResponse; import com.schematic.api.resources.credits.types.ListCreditBundlesResponse; import com.schematic.api.resources.credits.types.ListCreditEventLedgerResponse; @@ -558,6 +560,94 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { return future; } + public CompletableFuture> listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request) { + return listCompanyCreditBalances(request, null); + } + + public CompletableFuture> listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("billing/credits/balance"); + QueryStringMapper.addQueryParameter(httpUrl, "company_id", request.getCompanyId(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = + new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, ListCompanyCreditBalancesResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + public CompletableFuture> listCreditBundles() { return listCreditBundles(ListCreditBundlesRequest.builder().build()); } diff --git a/src/main/java/com/schematic/api/resources/credits/CreditsClient.java b/src/main/java/com/schematic/api/resources/credits/CreditsClient.java index a70d81e..56b2735 100644 --- a/src/main/java/com/schematic/api/resources/credits/CreditsClient.java +++ b/src/main/java/com/schematic/api/resources/credits/CreditsClient.java @@ -19,6 +19,7 @@ import com.schematic.api.resources.credits.requests.GetEnrichedCreditLedgerRequest; import com.schematic.api.resources.credits.requests.ListBillingCreditsRequest; import com.schematic.api.resources.credits.requests.ListBillingPlanCreditGrantsRequest; +import com.schematic.api.resources.credits.requests.ListCompanyCreditBalancesRequest; import com.schematic.api.resources.credits.requests.ListCompanyGrantsRequest; import com.schematic.api.resources.credits.requests.ListCreditBundlesRequest; import com.schematic.api.resources.credits.requests.ListCreditEventLedgerRequest; @@ -45,6 +46,7 @@ import com.schematic.api.resources.credits.types.GrantBillingCreditsToCompanyResponse; import com.schematic.api.resources.credits.types.ListBillingCreditsResponse; import com.schematic.api.resources.credits.types.ListBillingPlanCreditGrantsResponse; +import com.schematic.api.resources.credits.types.ListCompanyCreditBalancesResponse; import com.schematic.api.resources.credits.types.ListCompanyGrantsResponse; import com.schematic.api.resources.credits.types.ListCreditBundlesResponse; import com.schematic.api.resources.credits.types.ListCreditEventLedgerResponse; @@ -127,6 +129,15 @@ public SoftDeleteBillingCreditResponse softDeleteBillingCredit(String creditId, return this.rawClient.softDeleteBillingCredit(creditId, requestOptions).body(); } + public ListCompanyCreditBalancesResponse listCompanyCreditBalances(ListCompanyCreditBalancesRequest request) { + return this.rawClient.listCompanyCreditBalances(request).body(); + } + + public ListCompanyCreditBalancesResponse listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request, RequestOptions requestOptions) { + return this.rawClient.listCompanyCreditBalances(request, requestOptions).body(); + } + public ListCreditBundlesResponse listCreditBundles() { return this.rawClient.listCreditBundles().body(); } diff --git a/src/main/java/com/schematic/api/resources/credits/RawCreditsClient.java b/src/main/java/com/schematic/api/resources/credits/RawCreditsClient.java index fafdf41..07efbb2 100644 --- a/src/main/java/com/schematic/api/resources/credits/RawCreditsClient.java +++ b/src/main/java/com/schematic/api/resources/credits/RawCreditsClient.java @@ -31,6 +31,7 @@ import com.schematic.api.resources.credits.requests.GetEnrichedCreditLedgerRequest; import com.schematic.api.resources.credits.requests.ListBillingCreditsRequest; import com.schematic.api.resources.credits.requests.ListBillingPlanCreditGrantsRequest; +import com.schematic.api.resources.credits.requests.ListCompanyCreditBalancesRequest; import com.schematic.api.resources.credits.requests.ListCompanyGrantsRequest; import com.schematic.api.resources.credits.requests.ListCreditBundlesRequest; import com.schematic.api.resources.credits.requests.ListCreditEventLedgerRequest; @@ -57,6 +58,7 @@ import com.schematic.api.resources.credits.types.GrantBillingCreditsToCompanyResponse; import com.schematic.api.resources.credits.types.ListBillingCreditsResponse; import com.schematic.api.resources.credits.types.ListBillingPlanCreditGrantsResponse; +import com.schematic.api.resources.credits.types.ListCompanyCreditBalancesResponse; import com.schematic.api.resources.credits.types.ListCompanyGrantsResponse; import com.schematic.api.resources.credits.types.ListCreditBundlesResponse; import com.schematic.api.resources.credits.types.ListCreditEventLedgerResponse; @@ -431,6 +433,70 @@ public BaseSchematicHttpResponse softDeleteBill } } + public BaseSchematicHttpResponse listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request) { + return listCompanyCreditBalances(request, null); + } + + public BaseSchematicHttpResponse listCompanyCreditBalances( + ListCompanyCreditBalancesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("billing/credits/balance"); + QueryStringMapper.addQueryParameter(httpUrl, "company_id", request.getCompanyId(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, ListCompanyCreditBalancesResponse.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + public BaseSchematicHttpResponse listCreditBundles() { return listCreditBundles(ListCreditBundlesRequest.builder().build()); } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsGrantsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsGrantsRequest.java index 7c2cb54..3bab2a9 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsGrantsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsGrantsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,12 +45,12 @@ private CountBillingCreditsGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("credit_id") + @JsonIgnore public Optional getCreditId() { return creditId; } @@ -58,7 +58,7 @@ public Optional getCreditId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsRequest.java index 2d4975b..7997d4d 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountBillingCreditsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,12 +45,12 @@ private CountBillingCreditsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("name") + @JsonIgnore public Optional getName() { return name; } @@ -58,7 +58,7 @@ public Optional getName() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountBillingPlanCreditGrantsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountBillingPlanCreditGrantsRequest.java index e86801a..076ad53 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountBillingPlanCreditGrantsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountBillingPlanCreditGrantsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -57,27 +57,27 @@ private CountBillingPlanCreditGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } - @JsonProperty("credit_id") + @JsonIgnore public Optional getCreditId() { return creditId; } - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -85,7 +85,7 @@ public Optional getPlanVersionId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -93,7 +93,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountCompanyGrantsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountCompanyGrantsRequest.java index 8a7a48d..1c97a5d 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountCompanyGrantsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountCompanyGrantsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -49,17 +49,17 @@ private CountCompanyGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("order") + @JsonIgnore public Optional getOrder() { return order; } - @JsonProperty("dir") + @JsonIgnore public Optional getDir() { return dir; } @@ -67,7 +67,7 @@ public Optional getDir() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountCreditBundlesRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountCreditBundlesRequest.java index 823732e..193b2bb 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountCreditBundlesRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountCreditBundlesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -54,22 +54,22 @@ private CountCreditBundlesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("credit_id") + @JsonIgnore public Optional getCreditId() { return creditId; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } - @JsonProperty("bundle_type") + @JsonIgnore public Optional getBundleType() { return bundleType; } @@ -77,7 +77,7 @@ public Optional getBundleType() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountCreditEventLedgerRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountCreditEventLedgerRequest.java index 58cfa57..2dab17a 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountCreditEventLedgerRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountCreditEventLedgerRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -61,32 +61,32 @@ private CountCreditEventLedgerRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("billing_credit_id") + @JsonIgnore public Optional getBillingCreditId() { return billingCreditId; } - @JsonProperty("company_id") + @JsonIgnore public String getCompanyId() { return companyId; } - @JsonProperty("end_time") + @JsonIgnore public Optional getEndTime() { return endTime; } - @JsonProperty("event_type") + @JsonIgnore public Optional getEventType() { return eventType; } - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } - @JsonProperty("start_time") + @JsonIgnore public Optional getStartTime() { return startTime; } @@ -94,7 +94,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/CountCreditLedgerRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/CountCreditLedgerRequest.java index 32fb794..33b1190 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/CountCreditLedgerRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/CountCreditLedgerRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -61,32 +61,32 @@ private CountCreditLedgerRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public String getCompanyId() { return companyId; } - @JsonProperty("billing_credit_id") + @JsonIgnore public Optional getBillingCreditId() { return billingCreditId; } - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } - @JsonProperty("period") + @JsonIgnore public CreditLedgerPeriod getPeriod() { return period; } - @JsonProperty("start_time") + @JsonIgnore public Optional getStartTime() { return startTime; } - @JsonProperty("end_time") + @JsonIgnore public Optional getEndTime() { return endTime; } @@ -94,7 +94,7 @@ public Optional getEndTime() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/DeleteBillingPlanCreditGrantRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/DeleteBillingPlanCreditGrantRequest.java index e44c61b..c0b48fe 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/DeleteBillingPlanCreditGrantRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/DeleteBillingPlanCreditGrantRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -30,7 +30,7 @@ private DeleteBillingPlanCreditGrantRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("apply_to_existing") + @JsonIgnore public Optional getApplyToExisting() { return applyToExisting; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/GetEnrichedCreditLedgerRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/GetEnrichedCreditLedgerRequest.java index 4b10bb1..3e0b55b 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/GetEnrichedCreditLedgerRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/GetEnrichedCreditLedgerRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -61,32 +61,32 @@ private GetEnrichedCreditLedgerRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public String getCompanyId() { return companyId; } - @JsonProperty("billing_credit_id") + @JsonIgnore public Optional getBillingCreditId() { return billingCreditId; } - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } - @JsonProperty("period") + @JsonIgnore public CreditLedgerPeriod getPeriod() { return period; } - @JsonProperty("start_time") + @JsonIgnore public Optional getStartTime() { return startTime; } - @JsonProperty("end_time") + @JsonIgnore public Optional getEndTime() { return endTime; } @@ -94,7 +94,7 @@ public Optional getEndTime() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListBillingCreditsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListBillingCreditsRequest.java index 46df3fa..29e84aa 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListBillingCreditsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListBillingCreditsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,12 +45,12 @@ private ListBillingCreditsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("name") + @JsonIgnore public Optional getName() { return name; } @@ -58,7 +58,7 @@ public Optional getName() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListBillingPlanCreditGrantsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListBillingPlanCreditGrantsRequest.java index 05c67d7..8add3fd 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListBillingPlanCreditGrantsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListBillingPlanCreditGrantsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -57,27 +57,27 @@ private ListBillingPlanCreditGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } - @JsonProperty("credit_id") + @JsonIgnore public Optional getCreditId() { return creditId; } - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -85,7 +85,7 @@ public Optional getPlanVersionId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -93,7 +93,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyCreditBalancesRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyCreditBalancesRequest.java new file mode 100644 index 0000000..8ad363c --- /dev/null +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyCreditBalancesRequest.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.credits.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ListCompanyCreditBalancesRequest.Builder.class) +public final class ListCompanyCreditBalancesRequest { + private final String companyId; + + private final Map additionalProperties; + + private ListCompanyCreditBalancesRequest(String companyId, Map additionalProperties) { + this.companyId = companyId; + this.additionalProperties = additionalProperties; + } + + @JsonIgnore + public String getCompanyId() { + return companyId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListCompanyCreditBalancesRequest && equalTo((ListCompanyCreditBalancesRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListCompanyCreditBalancesRequest other) { + return companyId.equals(other.companyId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.companyId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CompanyIdStage builder() { + return new Builder(); + } + + public interface CompanyIdStage { + _FinalStage companyId(@NotNull String companyId); + + Builder from(ListCompanyCreditBalancesRequest other); + } + + public interface _FinalStage { + ListCompanyCreditBalancesRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CompanyIdStage, _FinalStage { + private String companyId; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(ListCompanyCreditBalancesRequest other) { + companyId(other.getCompanyId()); + return this; + } + + @java.lang.Override + @JsonSetter("company_id") + public _FinalStage companyId(@NotNull String companyId) { + this.companyId = Objects.requireNonNull(companyId, "companyId must not be null"); + return this; + } + + @java.lang.Override + public ListCompanyCreditBalancesRequest build() { + return new ListCompanyCreditBalancesRequest(companyId, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyGrantsRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyGrantsRequest.java index 9942d53..732d5a7 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyGrantsRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyGrantsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -49,17 +49,17 @@ private ListCompanyGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("order") + @JsonIgnore public Optional getOrder() { return order; } - @JsonProperty("dir") + @JsonIgnore public Optional getDir() { return dir; } @@ -67,7 +67,7 @@ public Optional getDir() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListCreditBundlesRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListCreditBundlesRequest.java index cd2a45a..f91f24f 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListCreditBundlesRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListCreditBundlesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -54,22 +54,22 @@ private ListCreditBundlesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("credit_id") + @JsonIgnore public Optional getCreditId() { return creditId; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } - @JsonProperty("bundle_type") + @JsonIgnore public Optional getBundleType() { return bundleType; } @@ -77,7 +77,7 @@ public Optional getBundleType() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListCreditEventLedgerRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListCreditEventLedgerRequest.java index 10baedd..58e05c9 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListCreditEventLedgerRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListCreditEventLedgerRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -61,32 +61,32 @@ private ListCreditEventLedgerRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("billing_credit_id") + @JsonIgnore public Optional getBillingCreditId() { return billingCreditId; } - @JsonProperty("company_id") + @JsonIgnore public String getCompanyId() { return companyId; } - @JsonProperty("end_time") + @JsonIgnore public Optional getEndTime() { return endTime; } - @JsonProperty("event_type") + @JsonIgnore public Optional getEventType() { return eventType; } - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } - @JsonProperty("start_time") + @JsonIgnore public Optional getStartTime() { return startTime; } @@ -94,7 +94,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/requests/ListGrantsForCreditRequest.java b/src/main/java/com/schematic/api/resources/credits/requests/ListGrantsForCreditRequest.java index fbd26d6..a0b3418 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListGrantsForCreditRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListGrantsForCreditRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,12 +45,12 @@ private ListGrantsForCreditRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("credit_id") + @JsonIgnore public Optional getCreditId() { return creditId; } @@ -58,7 +58,7 @@ public Optional getCreditId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesParams.java b/src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesParams.java new file mode 100644 index 0000000..8388cb5 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesParams.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.credits.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ListCompanyCreditBalancesParams.Builder.class) +public final class ListCompanyCreditBalancesParams { + private final Optional companyId; + + private final Map additionalProperties; + + private ListCompanyCreditBalancesParams(Optional companyId, Map additionalProperties) { + this.companyId = companyId; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("company_id") + public Optional getCompanyId() { + return companyId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListCompanyCreditBalancesParams && equalTo((ListCompanyCreditBalancesParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListCompanyCreditBalancesParams other) { + return companyId.equals(other.companyId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.companyId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional companyId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ListCompanyCreditBalancesParams other) { + companyId(other.getCompanyId()); + return this; + } + + @JsonSetter(value = "company_id", nulls = Nulls.SKIP) + public Builder companyId(Optional companyId) { + this.companyId = companyId; + return this; + } + + public Builder companyId(String companyId) { + this.companyId = Optional.ofNullable(companyId); + return this; + } + + public ListCompanyCreditBalancesParams build() { + return new ListCompanyCreditBalancesParams(companyId, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesResponse.java b/src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesResponse.java new file mode 100644 index 0000000..17aeeb6 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/credits/types/ListCompanyCreditBalancesResponse.java @@ -0,0 +1,177 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.credits.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.CompanyCreditBalanceResponseData; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ListCompanyCreditBalancesResponse.Builder.class) +public final class ListCompanyCreditBalancesResponse { + private final List data; + + private final ListCompanyCreditBalancesParams params; + + private final Map additionalProperties; + + private ListCompanyCreditBalancesResponse( + List data, + ListCompanyCreditBalancesParams params, + Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public List getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public ListCompanyCreditBalancesParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListCompanyCreditBalancesResponse && equalTo((ListCompanyCreditBalancesResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListCompanyCreditBalancesResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ParamsStage builder() { + return new Builder(); + } + + public interface ParamsStage { + /** + *

Input parameters

+ */ + _FinalStage params(@NotNull ListCompanyCreditBalancesParams params); + + Builder from(ListCompanyCreditBalancesResponse other); + } + + public interface _FinalStage { + ListCompanyCreditBalancesResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage data(List data); + + _FinalStage addData(CompanyCreditBalanceResponseData data); + + _FinalStage addAllData(List data); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ParamsStage, _FinalStage { + private ListCompanyCreditBalancesParams params; + + private List data = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(ListCompanyCreditBalancesResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + /** + *

Input parameters

+ *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("params") + public _FinalStage params(@NotNull ListCompanyCreditBalancesParams params) { + this.params = Objects.requireNonNull(params, "params must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage addAllData(List data) { + if (data != null) { + this.data.addAll(data); + } + return this; + } + + @java.lang.Override + public _FinalStage addData(CompanyCreditBalanceResponseData data) { + this.data.add(data); + return this; + } + + @java.lang.Override + @JsonSetter(value = "data", nulls = Nulls.SKIP) + public _FinalStage data(List data) { + this.data.clear(); + if (data != null) { + this.data.addAll(data); + } + return this; + } + + @java.lang.Override + public ListCompanyCreditBalancesResponse build() { + return new ListCompanyCreditBalancesResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CountCompanyOverridesRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CountCompanyOverridesRequest.java index 5ca3aaa..2ddecfa 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CountCompanyOverridesRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CountCompanyOverridesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -68,7 +68,7 @@ private CountCompanyOverridesRequest( /** * @return Filter company overrides by multiple company IDs (starting with comp_) */ - @JsonProperty("company_ids") + @JsonIgnore public Optional> getCompanyIds() { return companyIds; } @@ -76,7 +76,7 @@ public Optional> getCompanyIds() { /** * @return Filter company overrides by multiple feature IDs (starting with feat_) */ - @JsonProperty("feature_ids") + @JsonIgnore public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter company overrides by multiple company override IDs (starting with cmov_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter company overrides by a single company ID (starting with comp_) */ - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -100,7 +100,7 @@ public Optional getCompanyId() { /** * @return Filter company overrides by a single feature ID (starting with feat_) */ - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } @@ -108,7 +108,7 @@ public Optional getFeatureId() { /** * @return Filter company overrides by whether they have not expired */ - @JsonProperty("without_expired") + @JsonIgnore public Optional getWithoutExpired() { return withoutExpired; } @@ -116,7 +116,7 @@ public Optional getWithoutExpired() { /** * @return Search for company overrides by feature or company name */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -124,7 +124,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -132,7 +132,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureCompaniesRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureCompaniesRequest.java index 7080fce..1c233b7 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureCompaniesRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureCompaniesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private CountFeatureCompaniesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("feature_id") + @JsonIgnore public String getFeatureId() { return featureId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java index 378680e..b74d1d7 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsageRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -61,17 +61,17 @@ private CountFeatureUsageRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("feature_ids") + @JsonIgnore public Optional> getFeatureIds() { return featureIds; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("company_keys") + @JsonIgnore public Optional> getCompanyKeys() { return companyKeys; } @@ -79,17 +79,17 @@ public Optional> getCompanyKeys() { /** * @return Include time-bucketed usage aggregation (today, this week, this month, billing period) for credit-based entitlements. Defaults to false for performance. */ - @JsonProperty("include_usage_aggregation") + @JsonIgnore public Optional getIncludeUsageAggregation() { return includeUsageAggregation; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("without_negative_entitlements") + @JsonIgnore public Optional getWithoutNegativeEntitlements() { return withoutNegativeEntitlements; } @@ -97,7 +97,7 @@ public Optional getWithoutNegativeEntitlements() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -105,7 +105,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsersRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsersRequest.java index cbd0496..c601bdb 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsersRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CountFeatureUsersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private CountFeatureUsersRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("feature_id") + @JsonIgnore public String getFeatureId() { return featureId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/CountPlanEntitlementsRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/CountPlanEntitlementsRequest.java index 7ac1079..5a83721 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/CountPlanEntitlementsRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/CountPlanEntitlementsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -76,7 +76,7 @@ private CountPlanEntitlementsRequest( /** * @return Filter plan entitlements by multiple feature IDs (starting with feat_) */ - @JsonProperty("feature_ids") + @JsonIgnore public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter plan entitlements by multiple plan entitlement IDs (starting with pltl_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter plan entitlements by multiple plan IDs (starting with plan_) */ - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } @@ -100,7 +100,7 @@ public Optional> getPlanIds() { /** * @return Filter plan entitlements by multiple plan version IDs (starting with plvr_) */ - @JsonProperty("plan_version_ids") + @JsonIgnore public Optional> getPlanVersionIds() { return planVersionIds; } @@ -108,7 +108,7 @@ public Optional> getPlanVersionIds() { /** * @return Filter plan entitlements by a single feature ID (starting with feat_) */ - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } @@ -116,7 +116,7 @@ public Optional getFeatureId() { /** * @return Filter plan entitlements by a single plan ID (starting with plan_) */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -124,7 +124,7 @@ public Optional getPlanId() { /** * @return Filter plan entitlements by a single plan version ID (starting with plvr_) */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -132,7 +132,7 @@ public Optional getPlanVersionId() { /** * @return Search for plan entitlements by feature or company name */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -140,7 +140,7 @@ public Optional getQ() { /** * @return Filter plan entitlements only with metered products */ - @JsonProperty("with_metered_products") + @JsonIgnore public Optional getWithMeteredProducts() { return withMeteredProducts; } @@ -148,7 +148,7 @@ public Optional getWithMeteredProducts() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -156,7 +156,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageByCompanyRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageByCompanyRequest.java index 432feb7..5e0cf42 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageByCompanyRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageByCompanyRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -32,7 +32,7 @@ private GetFeatureUsageByCompanyRequest(Map keys, Map getKeys() { return keys; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageTimeSeriesRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageTimeSeriesRequest.java index 3068ddb..eb3334b 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageTimeSeriesRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/GetFeatureUsageTimeSeriesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -50,27 +50,27 @@ private GetFeatureUsageTimeSeriesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public String getCompanyId() { return companyId; } - @JsonProperty("end_time") + @JsonIgnore public OffsetDateTime getEndTime() { return endTime; } - @JsonProperty("feature_id") + @JsonIgnore public String getFeatureId() { return featureId; } - @JsonProperty("granularity") + @JsonIgnore public Optional getGranularity() { return granularity; } - @JsonProperty("start_time") + @JsonIgnore public OffsetDateTime getStartTime() { return startTime; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/ListCompanyOverridesRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/ListCompanyOverridesRequest.java index 66cfdb2..ce18985 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/ListCompanyOverridesRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/ListCompanyOverridesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -68,7 +68,7 @@ private ListCompanyOverridesRequest( /** * @return Filter company overrides by multiple company IDs (starting with comp_) */ - @JsonProperty("company_ids") + @JsonIgnore public Optional> getCompanyIds() { return companyIds; } @@ -76,7 +76,7 @@ public Optional> getCompanyIds() { /** * @return Filter company overrides by multiple feature IDs (starting with feat_) */ - @JsonProperty("feature_ids") + @JsonIgnore public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter company overrides by multiple company override IDs (starting with cmov_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter company overrides by a single company ID (starting with comp_) */ - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -100,7 +100,7 @@ public Optional getCompanyId() { /** * @return Filter company overrides by a single feature ID (starting with feat_) */ - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } @@ -108,7 +108,7 @@ public Optional getFeatureId() { /** * @return Filter company overrides by whether they have not expired */ - @JsonProperty("without_expired") + @JsonIgnore public Optional getWithoutExpired() { return withoutExpired; } @@ -116,7 +116,7 @@ public Optional getWithoutExpired() { /** * @return Search for company overrides by feature or company name */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -124,7 +124,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -132,7 +132,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureCompaniesRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureCompaniesRequest.java index 9353c5c..6814525 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureCompaniesRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureCompaniesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private ListFeatureCompaniesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("feature_id") + @JsonIgnore public String getFeatureId() { return featureId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java index 14394b6..fc5cc82 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsageRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -61,17 +61,17 @@ private ListFeatureUsageRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("feature_ids") + @JsonIgnore public Optional> getFeatureIds() { return featureIds; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("company_keys") + @JsonIgnore public Optional> getCompanyKeys() { return companyKeys; } @@ -79,17 +79,17 @@ public Optional> getCompanyKeys() { /** * @return Include time-bucketed usage aggregation (today, this week, this month, billing period) for credit-based entitlements. Defaults to false for performance. */ - @JsonProperty("include_usage_aggregation") + @JsonIgnore public Optional getIncludeUsageAggregation() { return includeUsageAggregation; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("without_negative_entitlements") + @JsonIgnore public Optional getWithoutNegativeEntitlements() { return withoutNegativeEntitlements; } @@ -97,7 +97,7 @@ public Optional getWithoutNegativeEntitlements() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -105,7 +105,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsersRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsersRequest.java index 4e75ad5..7d315e9 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsersRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/ListFeatureUsersRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private ListFeatureUsersRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("feature_id") + @JsonIgnore public String getFeatureId() { return featureId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/entitlements/requests/ListPlanEntitlementsRequest.java b/src/main/java/com/schematic/api/resources/entitlements/requests/ListPlanEntitlementsRequest.java index 55adb06..124d752 100644 --- a/src/main/java/com/schematic/api/resources/entitlements/requests/ListPlanEntitlementsRequest.java +++ b/src/main/java/com/schematic/api/resources/entitlements/requests/ListPlanEntitlementsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -76,7 +76,7 @@ private ListPlanEntitlementsRequest( /** * @return Filter plan entitlements by multiple feature IDs (starting with feat_) */ - @JsonProperty("feature_ids") + @JsonIgnore public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter plan entitlements by multiple plan entitlement IDs (starting with pltl_) */ - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter plan entitlements by multiple plan IDs (starting with plan_) */ - @JsonProperty("plan_ids") + @JsonIgnore public Optional> getPlanIds() { return planIds; } @@ -100,7 +100,7 @@ public Optional> getPlanIds() { /** * @return Filter plan entitlements by multiple plan version IDs (starting with plvr_) */ - @JsonProperty("plan_version_ids") + @JsonIgnore public Optional> getPlanVersionIds() { return planVersionIds; } @@ -108,7 +108,7 @@ public Optional> getPlanVersionIds() { /** * @return Filter plan entitlements by a single feature ID (starting with feat_) */ - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } @@ -116,7 +116,7 @@ public Optional getFeatureId() { /** * @return Filter plan entitlements by a single plan ID (starting with plan_) */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -124,7 +124,7 @@ public Optional getPlanId() { /** * @return Filter plan entitlements by a single plan version ID (starting with plvr_) */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -132,7 +132,7 @@ public Optional getPlanVersionId() { /** * @return Search for plan entitlements by feature or company name */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -140,7 +140,7 @@ public Optional getQ() { /** * @return Filter plan entitlements only with metered products */ - @JsonProperty("with_metered_products") + @JsonIgnore public Optional getWithMeteredProducts() { return withMeteredProducts; } @@ -148,7 +148,7 @@ public Optional getWithMeteredProducts() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -156,7 +156,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/events/requests/GetEventSummariesRequest.java b/src/main/java/com/schematic/api/resources/events/requests/GetEventSummariesRequest.java index a70a044..fb51f69 100644 --- a/src/main/java/com/schematic/api/resources/events/requests/GetEventSummariesRequest.java +++ b/src/main/java/com/schematic/api/resources/events/requests/GetEventSummariesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -45,12 +45,12 @@ private GetEventSummariesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("event_subtypes") + @JsonIgnore public Optional> getEventSubtypes() { return eventSubtypes; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -58,7 +58,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/events/requests/ListEventsRequest.java b/src/main/java/com/schematic/api/resources/events/requests/ListEventsRequest.java index 3c6d55c..bbadb38 100644 --- a/src/main/java/com/schematic/api/resources/events/requests/ListEventsRequest.java +++ b/src/main/java/com/schematic/api/resources/events/requests/ListEventsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -58,27 +58,27 @@ private ListEventsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("event_types") + @JsonIgnore public Optional> getEventTypes() { return eventTypes; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("event_subtype") + @JsonIgnore public Optional getEventSubtype() { return eventSubtype; } - @JsonProperty("flag_id") + @JsonIgnore public Optional getFlagId() { return flagId; } - @JsonProperty("user_id") + @JsonIgnore public Optional getUserId() { return userId; } @@ -86,7 +86,7 @@ public Optional getUserId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -94,7 +94,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/features/requests/CountFeaturesRequest.java b/src/main/java/com/schematic/api/resources/features/requests/CountFeaturesRequest.java index ca5cc96..f992cf4 100644 --- a/src/main/java/com/schematic/api/resources/features/requests/CountFeaturesRequest.java +++ b/src/main/java/com/schematic/api/resources/features/requests/CountFeaturesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -69,12 +69,12 @@ private CountFeaturesRequest( /** * @return Filter by one or more feature types (boolean, event, trait) */ - @JsonProperty("feature_type") + @JsonIgnore public Optional> getFeatureType() { return featureType; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -82,7 +82,7 @@ public Optional> getIds() { /** * @return Only return boolean features if there is an associated event. Automatically includes boolean in the feature types filter. */ - @JsonProperty("boolean_require_event") + @JsonIgnore public Optional getBooleanRequireEvent() { return booleanRequireEvent; } @@ -90,7 +90,7 @@ public Optional getBooleanRequireEvent() { /** * @return Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -98,7 +98,7 @@ public Optional getPlanVersionId() { /** * @return Search by feature name or ID */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -106,7 +106,7 @@ public Optional getQ() { /** * @return Filter out features that already have a company override for the specified company ID */ - @JsonProperty("without_company_override_for") + @JsonIgnore public Optional getWithoutCompanyOverrideFor() { return withoutCompanyOverrideFor; } @@ -114,7 +114,7 @@ public Optional getWithoutCompanyOverrideFor() { /** * @return Filter out features that already have a plan entitlement for the specified plan ID */ - @JsonProperty("without_plan_entitlement_for") + @JsonIgnore public Optional getWithoutPlanEntitlementFor() { return withoutPlanEntitlementFor; } @@ -122,7 +122,7 @@ public Optional getWithoutPlanEntitlementFor() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -130,7 +130,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/features/requests/CountFlagsRequest.java b/src/main/java/com/schematic/api/resources/features/requests/CountFlagsRequest.java index b129819..9607b55 100644 --- a/src/main/java/com/schematic/api/resources/features/requests/CountFlagsRequest.java +++ b/src/main/java/com/schematic/api/resources/features/requests/CountFlagsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -49,12 +49,12 @@ private CountFlagsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } @@ -62,7 +62,7 @@ public Optional getFeatureId() { /** * @return Search by flag name, key, or ID */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -70,7 +70,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -78,7 +78,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/features/requests/ListFeaturesRequest.java b/src/main/java/com/schematic/api/resources/features/requests/ListFeaturesRequest.java index 4289e89..9b26d93 100644 --- a/src/main/java/com/schematic/api/resources/features/requests/ListFeaturesRequest.java +++ b/src/main/java/com/schematic/api/resources/features/requests/ListFeaturesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -69,12 +69,12 @@ private ListFeaturesRequest( /** * @return Filter by one or more feature types (boolean, event, trait) */ - @JsonProperty("feature_type") + @JsonIgnore public Optional> getFeatureType() { return featureType; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } @@ -82,7 +82,7 @@ public Optional> getIds() { /** * @return Only return boolean features if there is an associated event. Automatically includes boolean in the feature types filter. */ - @JsonProperty("boolean_require_event") + @JsonIgnore public Optional getBooleanRequireEvent() { return booleanRequireEvent; } @@ -90,7 +90,7 @@ public Optional getBooleanRequireEvent() { /** * @return Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } @@ -98,7 +98,7 @@ public Optional getPlanVersionId() { /** * @return Search by feature name or ID */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -106,7 +106,7 @@ public Optional getQ() { /** * @return Filter out features that already have a company override for the specified company ID */ - @JsonProperty("without_company_override_for") + @JsonIgnore public Optional getWithoutCompanyOverrideFor() { return withoutCompanyOverrideFor; } @@ -114,7 +114,7 @@ public Optional getWithoutCompanyOverrideFor() { /** * @return Filter out features that already have a plan entitlement for the specified plan ID */ - @JsonProperty("without_plan_entitlement_for") + @JsonIgnore public Optional getWithoutPlanEntitlementFor() { return withoutPlanEntitlementFor; } @@ -122,7 +122,7 @@ public Optional getWithoutPlanEntitlementFor() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -130,7 +130,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/features/requests/ListFlagsRequest.java b/src/main/java/com/schematic/api/resources/features/requests/ListFlagsRequest.java index 33ab970..3e6cdf8 100644 --- a/src/main/java/com/schematic/api/resources/features/requests/ListFlagsRequest.java +++ b/src/main/java/com/schematic/api/resources/features/requests/ListFlagsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -49,12 +49,12 @@ private ListFlagsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("feature_id") + @JsonIgnore public Optional getFeatureId() { return featureId; } @@ -62,7 +62,7 @@ public Optional getFeatureId() { /** * @return Search by flag name, key, or ID */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -70,7 +70,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -78,7 +78,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/insights/AsyncInsightsClient.java b/src/main/java/com/schematic/api/resources/insights/AsyncInsightsClient.java new file mode 100644 index 0000000..bbb14ca --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/AsyncInsightsClient.java @@ -0,0 +1,113 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights; + +import com.schematic.api.core.ClientOptions; +import com.schematic.api.core.RequestOptions; +import com.schematic.api.resources.insights.requests.GetActivityRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentFeatureUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentTraitUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetPlanGrowthRequest; +import com.schematic.api.resources.insights.requests.GetTopFeaturesByUsageRequest; +import com.schematic.api.resources.insights.types.GetActivityResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentFeatureUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentTraitUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetPlanGrowthResponse; +import com.schematic.api.resources.insights.types.GetSummaryResponse; +import com.schematic.api.resources.insights.types.GetTopFeaturesByUsageResponse; +import java.util.concurrent.CompletableFuture; + +public class AsyncInsightsClient { + protected final ClientOptions clientOptions; + + private final AsyncRawInsightsClient rawClient; + + public AsyncInsightsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.rawClient = new AsyncRawInsightsClient(clientOptions); + } + + /** + * Get responses with HTTP metadata like headers + */ + public AsyncRawInsightsClient withRawResponse() { + return this.rawClient; + } + + public CompletableFuture getActivity() { + return this.rawClient.getActivity().thenApply(response -> response.body()); + } + + public CompletableFuture getActivity(RequestOptions requestOptions) { + return this.rawClient.getActivity(requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture getActivity(GetActivityRequest request) { + return this.rawClient.getActivity(request).thenApply(response -> response.body()); + } + + public CompletableFuture getActivity( + GetActivityRequest request, RequestOptions requestOptions) { + return this.rawClient.getActivity(request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request) { + return this.rawClient.getEnvironmentFeatureUsageTimeSeries(request).thenApply(response -> response.body()); + } + + public CompletableFuture getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request, RequestOptions requestOptions) { + return this.rawClient + .getEnvironmentFeatureUsageTimeSeries(request, requestOptions) + .thenApply(response -> response.body()); + } + + public CompletableFuture getPlanGrowth() { + return this.rawClient.getPlanGrowth().thenApply(response -> response.body()); + } + + public CompletableFuture getPlanGrowth(RequestOptions requestOptions) { + return this.rawClient.getPlanGrowth(requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture getPlanGrowth(GetPlanGrowthRequest request) { + return this.rawClient.getPlanGrowth(request).thenApply(response -> response.body()); + } + + public CompletableFuture getPlanGrowth( + GetPlanGrowthRequest request, RequestOptions requestOptions) { + return this.rawClient.getPlanGrowth(request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture getSummary() { + return this.rawClient.getSummary().thenApply(response -> response.body()); + } + + public CompletableFuture getSummary(RequestOptions requestOptions) { + return this.rawClient.getSummary(requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request) { + return this.rawClient.getTopFeaturesByUsage(request).thenApply(response -> response.body()); + } + + public CompletableFuture getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request, RequestOptions requestOptions) { + return this.rawClient.getTopFeaturesByUsage(request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request) { + return this.rawClient.getEnvironmentTraitUsageTimeSeries(request).thenApply(response -> response.body()); + } + + public CompletableFuture getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request, RequestOptions requestOptions) { + return this.rawClient + .getEnvironmentTraitUsageTimeSeries(request, requestOptions) + .thenApply(response -> response.body()); + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/AsyncRawInsightsClient.java b/src/main/java/com/schematic/api/resources/insights/AsyncRawInsightsClient.java new file mode 100644 index 0000000..5e2384e --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/AsyncRawInsightsClient.java @@ -0,0 +1,578 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.schematic.api.core.BaseSchematicApiException; +import com.schematic.api.core.BaseSchematicException; +import com.schematic.api.core.BaseSchematicHttpResponse; +import com.schematic.api.core.ClientOptions; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.core.QueryStringMapper; +import com.schematic.api.core.RequestOptions; +import com.schematic.api.errors.ForbiddenError; +import com.schematic.api.errors.InternalServerError; +import com.schematic.api.errors.NotFoundError; +import com.schematic.api.errors.UnauthorizedError; +import com.schematic.api.resources.insights.requests.GetActivityRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentFeatureUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentTraitUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetPlanGrowthRequest; +import com.schematic.api.resources.insights.requests.GetTopFeaturesByUsageRequest; +import com.schematic.api.resources.insights.types.GetActivityResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentFeatureUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentTraitUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetPlanGrowthResponse; +import com.schematic.api.resources.insights.types.GetSummaryResponse; +import com.schematic.api.resources.insights.types.GetTopFeaturesByUsageResponse; +import com.schematic.api.types.ApiError; +import java.io.IOException; +import java.util.concurrent.CompletableFuture; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; +import org.jetbrains.annotations.NotNull; + +public class AsyncRawInsightsClient { + protected final ClientOptions clientOptions; + + public AsyncRawInsightsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + public CompletableFuture> getActivity() { + return getActivity(GetActivityRequest.builder().build()); + } + + public CompletableFuture> getActivity( + RequestOptions requestOptions) { + return getActivity(GetActivityRequest.builder().build(), requestOptions); + } + + public CompletableFuture> getActivity(GetActivityRequest request) { + return getActivity(request, null); + } + + public CompletableFuture> getActivity( + GetActivityRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/activity"); + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetActivityResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> + getEnvironmentFeatureUsageTimeSeries(GetEnvironmentFeatureUsageTimeSeriesRequest request) { + return getEnvironmentFeatureUsageTimeSeries(request, null); + } + + public CompletableFuture> + getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/feature-usage-timeseries"); + QueryStringMapper.addQueryParameter(httpUrl, "end_time", request.getEndTime(), false); + QueryStringMapper.addQueryParameter(httpUrl, "feature_id", request.getFeatureId(), false); + if (request.getGranularity().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "granularity", request.getGranularity().get(), false); + } + QueryStringMapper.addQueryParameter(httpUrl, "start_time", request.getStartTime(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = + new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, GetEnvironmentFeatureUsageTimeSeriesResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> getPlanGrowth() { + return getPlanGrowth(GetPlanGrowthRequest.builder().build()); + } + + public CompletableFuture> getPlanGrowth( + RequestOptions requestOptions) { + return getPlanGrowth(GetPlanGrowthRequest.builder().build(), requestOptions); + } + + public CompletableFuture> getPlanGrowth( + GetPlanGrowthRequest request) { + return getPlanGrowth(request, null); + } + + public CompletableFuture> getPlanGrowth( + GetPlanGrowthRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/plan-growth"); + if (request.getMonths().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "months", request.getMonths().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetPlanGrowthResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> getSummary() { + return getSummary(null); + } + + public CompletableFuture> getSummary(RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/summary"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetSummaryResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request) { + return getTopFeaturesByUsage(request, null); + } + + public CompletableFuture> getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/top-features"); + QueryStringMapper.addQueryParameter(httpUrl, "end_time", request.getEndTime(), false); + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + QueryStringMapper.addQueryParameter(httpUrl, "start_time", request.getStartTime(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, GetTopFeaturesByUsageResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> + getEnvironmentTraitUsageTimeSeries(GetEnvironmentTraitUsageTimeSeriesRequest request) { + return getEnvironmentTraitUsageTimeSeries(request, null); + } + + public CompletableFuture> + getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/trait-usage-timeseries"); + QueryStringMapper.addQueryParameter(httpUrl, "end_time", request.getEndTime(), false); + QueryStringMapper.addQueryParameter(httpUrl, "feature_id", request.getFeatureId(), false); + if (request.getGranularity().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "granularity", request.getGranularity().get(), false); + } + QueryStringMapper.addQueryParameter(httpUrl, "start_time", request.getStartTime(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + CompletableFuture> future = + new CompletableFuture<>(); + client.newCall(okhttpRequest).enqueue(new Callback() { + @Override + public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException { + try (ResponseBody responseBody = response.body()) { + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + future.complete(new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, GetEnvironmentTraitUsageTimeSeriesResponse.class), + response)); + return; + } + try { + switch (response.code()) { + case 401: + future.completeExceptionally(new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + case 500: + future.completeExceptionally(new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new BaseSchematicException("Network error executing HTTP request", e)); + } + }); + return future; + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/InsightsClient.java b/src/main/java/com/schematic/api/resources/insights/InsightsClient.java new file mode 100644 index 0000000..f67c9c2 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/InsightsClient.java @@ -0,0 +1,109 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights; + +import com.schematic.api.core.ClientOptions; +import com.schematic.api.core.RequestOptions; +import com.schematic.api.resources.insights.requests.GetActivityRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentFeatureUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentTraitUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetPlanGrowthRequest; +import com.schematic.api.resources.insights.requests.GetTopFeaturesByUsageRequest; +import com.schematic.api.resources.insights.types.GetActivityResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentFeatureUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentTraitUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetPlanGrowthResponse; +import com.schematic.api.resources.insights.types.GetSummaryResponse; +import com.schematic.api.resources.insights.types.GetTopFeaturesByUsageResponse; + +public class InsightsClient { + protected final ClientOptions clientOptions; + + private final RawInsightsClient rawClient; + + public InsightsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.rawClient = new RawInsightsClient(clientOptions); + } + + /** + * Get responses with HTTP metadata like headers + */ + public RawInsightsClient withRawResponse() { + return this.rawClient; + } + + public GetActivityResponse getActivity() { + return this.rawClient.getActivity().body(); + } + + public GetActivityResponse getActivity(RequestOptions requestOptions) { + return this.rawClient.getActivity(requestOptions).body(); + } + + public GetActivityResponse getActivity(GetActivityRequest request) { + return this.rawClient.getActivity(request).body(); + } + + public GetActivityResponse getActivity(GetActivityRequest request, RequestOptions requestOptions) { + return this.rawClient.getActivity(request, requestOptions).body(); + } + + public GetEnvironmentFeatureUsageTimeSeriesResponse getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request) { + return this.rawClient.getEnvironmentFeatureUsageTimeSeries(request).body(); + } + + public GetEnvironmentFeatureUsageTimeSeriesResponse getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request, RequestOptions requestOptions) { + return this.rawClient + .getEnvironmentFeatureUsageTimeSeries(request, requestOptions) + .body(); + } + + public GetPlanGrowthResponse getPlanGrowth() { + return this.rawClient.getPlanGrowth().body(); + } + + public GetPlanGrowthResponse getPlanGrowth(RequestOptions requestOptions) { + return this.rawClient.getPlanGrowth(requestOptions).body(); + } + + public GetPlanGrowthResponse getPlanGrowth(GetPlanGrowthRequest request) { + return this.rawClient.getPlanGrowth(request).body(); + } + + public GetPlanGrowthResponse getPlanGrowth(GetPlanGrowthRequest request, RequestOptions requestOptions) { + return this.rawClient.getPlanGrowth(request, requestOptions).body(); + } + + public GetSummaryResponse getSummary() { + return this.rawClient.getSummary().body(); + } + + public GetSummaryResponse getSummary(RequestOptions requestOptions) { + return this.rawClient.getSummary(requestOptions).body(); + } + + public GetTopFeaturesByUsageResponse getTopFeaturesByUsage(GetTopFeaturesByUsageRequest request) { + return this.rawClient.getTopFeaturesByUsage(request).body(); + } + + public GetTopFeaturesByUsageResponse getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request, RequestOptions requestOptions) { + return this.rawClient.getTopFeaturesByUsage(request, requestOptions).body(); + } + + public GetEnvironmentTraitUsageTimeSeriesResponse getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request) { + return this.rawClient.getEnvironmentTraitUsageTimeSeries(request).body(); + } + + public GetEnvironmentTraitUsageTimeSeriesResponse getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request, RequestOptions requestOptions) { + return this.rawClient + .getEnvironmentTraitUsageTimeSeries(request, requestOptions) + .body(); + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/RawInsightsClient.java b/src/main/java/com/schematic/api/resources/insights/RawInsightsClient.java new file mode 100644 index 0000000..dd38651 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/RawInsightsClient.java @@ -0,0 +1,437 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.schematic.api.core.BaseSchematicApiException; +import com.schematic.api.core.BaseSchematicException; +import com.schematic.api.core.BaseSchematicHttpResponse; +import com.schematic.api.core.ClientOptions; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.core.QueryStringMapper; +import com.schematic.api.core.RequestOptions; +import com.schematic.api.errors.ForbiddenError; +import com.schematic.api.errors.InternalServerError; +import com.schematic.api.errors.NotFoundError; +import com.schematic.api.errors.UnauthorizedError; +import com.schematic.api.resources.insights.requests.GetActivityRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentFeatureUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetEnvironmentTraitUsageTimeSeriesRequest; +import com.schematic.api.resources.insights.requests.GetPlanGrowthRequest; +import com.schematic.api.resources.insights.requests.GetTopFeaturesByUsageRequest; +import com.schematic.api.resources.insights.types.GetActivityResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentFeatureUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetEnvironmentTraitUsageTimeSeriesResponse; +import com.schematic.api.resources.insights.types.GetPlanGrowthResponse; +import com.schematic.api.resources.insights.types.GetSummaryResponse; +import com.schematic.api.resources.insights.types.GetTopFeaturesByUsageResponse; +import com.schematic.api.types.ApiError; +import java.io.IOException; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; + +public class RawInsightsClient { + protected final ClientOptions clientOptions; + + public RawInsightsClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + public BaseSchematicHttpResponse getActivity() { + return getActivity(GetActivityRequest.builder().build()); + } + + public BaseSchematicHttpResponse getActivity(RequestOptions requestOptions) { + return getActivity(GetActivityRequest.builder().build(), requestOptions); + } + + public BaseSchematicHttpResponse getActivity(GetActivityRequest request) { + return getActivity(request, null); + } + + public BaseSchematicHttpResponse getActivity( + GetActivityRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/activity"); + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetActivityResponse.class), response); + } + try { + switch (response.code()) { + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + + public BaseSchematicHttpResponse getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request) { + return getEnvironmentFeatureUsageTimeSeries(request, null); + } + + public BaseSchematicHttpResponse getEnvironmentFeatureUsageTimeSeries( + GetEnvironmentFeatureUsageTimeSeriesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/feature-usage-timeseries"); + QueryStringMapper.addQueryParameter(httpUrl, "end_time", request.getEndTime(), false); + QueryStringMapper.addQueryParameter(httpUrl, "feature_id", request.getFeatureId(), false); + if (request.getGranularity().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "granularity", request.getGranularity().get(), false); + } + QueryStringMapper.addQueryParameter(httpUrl, "start_time", request.getStartTime(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, GetEnvironmentFeatureUsageTimeSeriesResponse.class), + response); + } + try { + switch (response.code()) { + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + + public BaseSchematicHttpResponse getPlanGrowth() { + return getPlanGrowth(GetPlanGrowthRequest.builder().build()); + } + + public BaseSchematicHttpResponse getPlanGrowth(RequestOptions requestOptions) { + return getPlanGrowth(GetPlanGrowthRequest.builder().build(), requestOptions); + } + + public BaseSchematicHttpResponse getPlanGrowth(GetPlanGrowthRequest request) { + return getPlanGrowth(request, null); + } + + public BaseSchematicHttpResponse getPlanGrowth( + GetPlanGrowthRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/plan-growth"); + if (request.getMonths().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "months", request.getMonths().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetPlanGrowthResponse.class), response); + } + try { + switch (response.code()) { + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + + public BaseSchematicHttpResponse getSummary() { + return getSummary(null); + } + + public BaseSchematicHttpResponse getSummary(RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/summary"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json") + .build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetSummaryResponse.class), response); + } + try { + switch (response.code()) { + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + + public BaseSchematicHttpResponse getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request) { + return getTopFeaturesByUsage(request, null); + } + + public BaseSchematicHttpResponse getTopFeaturesByUsage( + GetTopFeaturesByUsageRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/top-features"); + QueryStringMapper.addQueryParameter(httpUrl, "end_time", request.getEndTime(), false); + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + QueryStringMapper.addQueryParameter(httpUrl, "start_time", request.getStartTime(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetTopFeaturesByUsageResponse.class), + response); + } + try { + switch (response.code()) { + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } + + public BaseSchematicHttpResponse getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request) { + return getEnvironmentTraitUsageTimeSeries(request, null); + } + + public BaseSchematicHttpResponse getEnvironmentTraitUsageTimeSeries( + GetEnvironmentTraitUsageTimeSeriesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("insights/trait-usage-timeseries"); + QueryStringMapper.addQueryParameter(httpUrl, "end_time", request.getEndTime(), false); + QueryStringMapper.addQueryParameter(httpUrl, "feature_id", request.getFeatureId(), false); + if (request.getGranularity().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "granularity", request.getGranularity().get(), false); + } + QueryStringMapper.addQueryParameter(httpUrl, "start_time", request.getStartTime(), false); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new BaseSchematicHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, GetEnvironmentTraitUsageTimeSeriesResponse.class), + response); + } + try { + switch (response.code()) { + case 401: + throw new UnauthorizedError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + case 500: + throw new InternalServerError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ApiError.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new BaseSchematicApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (IOException e) { + throw new BaseSchematicException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/requests/GetActivityRequest.java b/src/main/java/com/schematic/api/resources/insights/requests/GetActivityRequest.java new file mode 100644 index 0000000..e4abca4 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetActivityRequest.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetActivityRequest.Builder.class) +public final class GetActivityRequest { + private final Optional limit; + + private final Map additionalProperties; + + private GetActivityRequest(Optional limit, Map additionalProperties) { + this.limit = limit; + this.additionalProperties = additionalProperties; + } + + @JsonIgnore + public Optional getLimit() { + return limit; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetActivityRequest && equalTo((GetActivityRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetActivityRequest other) { + return limit.equals(other.limit); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.limit); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional limit = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetActivityRequest other) { + limit(other.getLimit()); + return this; + } + + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public Builder limit(Optional limit) { + this.limit = limit; + return this; + } + + public Builder limit(Long limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + public GetActivityRequest build() { + return new GetActivityRequest(limit, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentFeatureUsageTimeSeriesRequest.java b/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentFeatureUsageTimeSeriesRequest.java new file mode 100644 index 0000000..a7cae01 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentFeatureUsageTimeSeriesRequest.java @@ -0,0 +1,204 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.TimeSeriesGranularity; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetEnvironmentFeatureUsageTimeSeriesRequest.Builder.class) +public final class GetEnvironmentFeatureUsageTimeSeriesRequest { + private final OffsetDateTime endTime; + + private final String featureId; + + private final Optional granularity; + + private final OffsetDateTime startTime; + + private final Map additionalProperties; + + private GetEnvironmentFeatureUsageTimeSeriesRequest( + OffsetDateTime endTime, + String featureId, + Optional granularity, + OffsetDateTime startTime, + Map additionalProperties) { + this.endTime = endTime; + this.featureId = featureId; + this.granularity = granularity; + this.startTime = startTime; + this.additionalProperties = additionalProperties; + } + + @JsonIgnore + public OffsetDateTime getEndTime() { + return endTime; + } + + @JsonIgnore + public String getFeatureId() { + return featureId; + } + + @JsonIgnore + public Optional getGranularity() { + return granularity; + } + + @JsonIgnore + public OffsetDateTime getStartTime() { + return startTime; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetEnvironmentFeatureUsageTimeSeriesRequest + && equalTo((GetEnvironmentFeatureUsageTimeSeriesRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetEnvironmentFeatureUsageTimeSeriesRequest other) { + return endTime.equals(other.endTime) + && featureId.equals(other.featureId) + && granularity.equals(other.granularity) + && startTime.equals(other.startTime); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.endTime, this.featureId, this.granularity, this.startTime); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static EndTimeStage builder() { + return new Builder(); + } + + public interface EndTimeStage { + FeatureIdStage endTime(@NotNull OffsetDateTime endTime); + + Builder from(GetEnvironmentFeatureUsageTimeSeriesRequest other); + } + + public interface FeatureIdStage { + StartTimeStage featureId(@NotNull String featureId); + } + + public interface StartTimeStage { + _FinalStage startTime(@NotNull OffsetDateTime startTime); + } + + public interface _FinalStage { + GetEnvironmentFeatureUsageTimeSeriesRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage granularity(Optional granularity); + + _FinalStage granularity(TimeSeriesGranularity granularity); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements EndTimeStage, FeatureIdStage, StartTimeStage, _FinalStage { + private OffsetDateTime endTime; + + private String featureId; + + private OffsetDateTime startTime; + + private Optional granularity = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetEnvironmentFeatureUsageTimeSeriesRequest other) { + endTime(other.getEndTime()); + featureId(other.getFeatureId()); + granularity(other.getGranularity()); + startTime(other.getStartTime()); + return this; + } + + @java.lang.Override + @JsonSetter("end_time") + public FeatureIdStage endTime(@NotNull OffsetDateTime endTime) { + this.endTime = Objects.requireNonNull(endTime, "endTime must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("feature_id") + public StartTimeStage featureId(@NotNull String featureId) { + this.featureId = Objects.requireNonNull(featureId, "featureId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("start_time") + public _FinalStage startTime(@NotNull OffsetDateTime startTime) { + this.startTime = Objects.requireNonNull(startTime, "startTime must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage granularity(TimeSeriesGranularity granularity) { + this.granularity = Optional.ofNullable(granularity); + return this; + } + + @java.lang.Override + @JsonSetter(value = "granularity", nulls = Nulls.SKIP) + public _FinalStage granularity(Optional granularity) { + this.granularity = granularity; + return this; + } + + @java.lang.Override + public GetEnvironmentFeatureUsageTimeSeriesRequest build() { + return new GetEnvironmentFeatureUsageTimeSeriesRequest( + endTime, featureId, granularity, startTime, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentTraitUsageTimeSeriesRequest.java b/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentTraitUsageTimeSeriesRequest.java new file mode 100644 index 0000000..87719fd --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentTraitUsageTimeSeriesRequest.java @@ -0,0 +1,204 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.TimeSeriesGranularity; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetEnvironmentTraitUsageTimeSeriesRequest.Builder.class) +public final class GetEnvironmentTraitUsageTimeSeriesRequest { + private final OffsetDateTime endTime; + + private final String featureId; + + private final Optional granularity; + + private final OffsetDateTime startTime; + + private final Map additionalProperties; + + private GetEnvironmentTraitUsageTimeSeriesRequest( + OffsetDateTime endTime, + String featureId, + Optional granularity, + OffsetDateTime startTime, + Map additionalProperties) { + this.endTime = endTime; + this.featureId = featureId; + this.granularity = granularity; + this.startTime = startTime; + this.additionalProperties = additionalProperties; + } + + @JsonIgnore + public OffsetDateTime getEndTime() { + return endTime; + } + + @JsonIgnore + public String getFeatureId() { + return featureId; + } + + @JsonIgnore + public Optional getGranularity() { + return granularity; + } + + @JsonIgnore + public OffsetDateTime getStartTime() { + return startTime; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetEnvironmentTraitUsageTimeSeriesRequest + && equalTo((GetEnvironmentTraitUsageTimeSeriesRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetEnvironmentTraitUsageTimeSeriesRequest other) { + return endTime.equals(other.endTime) + && featureId.equals(other.featureId) + && granularity.equals(other.granularity) + && startTime.equals(other.startTime); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.endTime, this.featureId, this.granularity, this.startTime); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static EndTimeStage builder() { + return new Builder(); + } + + public interface EndTimeStage { + FeatureIdStage endTime(@NotNull OffsetDateTime endTime); + + Builder from(GetEnvironmentTraitUsageTimeSeriesRequest other); + } + + public interface FeatureIdStage { + StartTimeStage featureId(@NotNull String featureId); + } + + public interface StartTimeStage { + _FinalStage startTime(@NotNull OffsetDateTime startTime); + } + + public interface _FinalStage { + GetEnvironmentTraitUsageTimeSeriesRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage granularity(Optional granularity); + + _FinalStage granularity(TimeSeriesGranularity granularity); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements EndTimeStage, FeatureIdStage, StartTimeStage, _FinalStage { + private OffsetDateTime endTime; + + private String featureId; + + private OffsetDateTime startTime; + + private Optional granularity = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetEnvironmentTraitUsageTimeSeriesRequest other) { + endTime(other.getEndTime()); + featureId(other.getFeatureId()); + granularity(other.getGranularity()); + startTime(other.getStartTime()); + return this; + } + + @java.lang.Override + @JsonSetter("end_time") + public FeatureIdStage endTime(@NotNull OffsetDateTime endTime) { + this.endTime = Objects.requireNonNull(endTime, "endTime must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("feature_id") + public StartTimeStage featureId(@NotNull String featureId) { + this.featureId = Objects.requireNonNull(featureId, "featureId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("start_time") + public _FinalStage startTime(@NotNull OffsetDateTime startTime) { + this.startTime = Objects.requireNonNull(startTime, "startTime must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage granularity(TimeSeriesGranularity granularity) { + this.granularity = Optional.ofNullable(granularity); + return this; + } + + @java.lang.Override + @JsonSetter(value = "granularity", nulls = Nulls.SKIP) + public _FinalStage granularity(Optional granularity) { + this.granularity = granularity; + return this; + } + + @java.lang.Override + public GetEnvironmentTraitUsageTimeSeriesRequest build() { + return new GetEnvironmentTraitUsageTimeSeriesRequest( + endTime, featureId, granularity, startTime, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/requests/GetPlanGrowthRequest.java b/src/main/java/com/schematic/api/resources/insights/requests/GetPlanGrowthRequest.java new file mode 100644 index 0000000..e8984e6 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetPlanGrowthRequest.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetPlanGrowthRequest.Builder.class) +public final class GetPlanGrowthRequest { + private final Optional months; + + private final Map additionalProperties; + + private GetPlanGrowthRequest(Optional months, Map additionalProperties) { + this.months = months; + this.additionalProperties = additionalProperties; + } + + @JsonIgnore + public Optional getMonths() { + return months; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetPlanGrowthRequest && equalTo((GetPlanGrowthRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetPlanGrowthRequest other) { + return months.equals(other.months); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.months); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional months = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetPlanGrowthRequest other) { + months(other.getMonths()); + return this; + } + + @JsonSetter(value = "months", nulls = Nulls.SKIP) + public Builder months(Optional months) { + this.months = months; + return this; + } + + public Builder months(Long months) { + this.months = Optional.ofNullable(months); + return this; + } + + public GetPlanGrowthRequest build() { + return new GetPlanGrowthRequest(months, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/requests/GetTopFeaturesByUsageRequest.java b/src/main/java/com/schematic/api/resources/insights/requests/GetTopFeaturesByUsageRequest.java new file mode 100644 index 0000000..7e611ec --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetTopFeaturesByUsageRequest.java @@ -0,0 +1,175 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.requests; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetTopFeaturesByUsageRequest.Builder.class) +public final class GetTopFeaturesByUsageRequest { + private final OffsetDateTime endTime; + + private final Optional limit; + + private final OffsetDateTime startTime; + + private final Map additionalProperties; + + private GetTopFeaturesByUsageRequest( + OffsetDateTime endTime, + Optional limit, + OffsetDateTime startTime, + Map additionalProperties) { + this.endTime = endTime; + this.limit = limit; + this.startTime = startTime; + this.additionalProperties = additionalProperties; + } + + @JsonIgnore + public OffsetDateTime getEndTime() { + return endTime; + } + + @JsonIgnore + public Optional getLimit() { + return limit; + } + + @JsonIgnore + public OffsetDateTime getStartTime() { + return startTime; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetTopFeaturesByUsageRequest && equalTo((GetTopFeaturesByUsageRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetTopFeaturesByUsageRequest other) { + return endTime.equals(other.endTime) && limit.equals(other.limit) && startTime.equals(other.startTime); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.endTime, this.limit, this.startTime); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static EndTimeStage builder() { + return new Builder(); + } + + public interface EndTimeStage { + StartTimeStage endTime(@NotNull OffsetDateTime endTime); + + Builder from(GetTopFeaturesByUsageRequest other); + } + + public interface StartTimeStage { + _FinalStage startTime(@NotNull OffsetDateTime startTime); + } + + public interface _FinalStage { + GetTopFeaturesByUsageRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage limit(Optional limit); + + _FinalStage limit(Long limit); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements EndTimeStage, StartTimeStage, _FinalStage { + private OffsetDateTime endTime; + + private OffsetDateTime startTime; + + private Optional limit = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetTopFeaturesByUsageRequest other) { + endTime(other.getEndTime()); + limit(other.getLimit()); + startTime(other.getStartTime()); + return this; + } + + @java.lang.Override + @JsonSetter("end_time") + public StartTimeStage endTime(@NotNull OffsetDateTime endTime) { + this.endTime = Objects.requireNonNull(endTime, "endTime must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("start_time") + public _FinalStage startTime(@NotNull OffsetDateTime startTime) { + this.startTime = Objects.requireNonNull(startTime, "startTime must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage limit(Long limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + @java.lang.Override + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public _FinalStage limit(Optional limit) { + this.limit = limit; + return this; + } + + @java.lang.Override + public GetTopFeaturesByUsageRequest build() { + return new GetTopFeaturesByUsageRequest(endTime, limit, startTime, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetActivityParams.java b/src/main/java/com/schematic/api/resources/insights/types/GetActivityParams.java new file mode 100644 index 0000000..aa85e0b --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetActivityParams.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetActivityParams.Builder.class) +public final class GetActivityParams { + private final Optional limit; + + private final Map additionalProperties; + + private GetActivityParams(Optional limit, Map additionalProperties) { + this.limit = limit; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetActivityParams && equalTo((GetActivityParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetActivityParams other) { + return limit.equals(other.limit); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.limit); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional limit = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetActivityParams other) { + limit(other.getLimit()); + return this; + } + + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public Builder limit(Optional limit) { + this.limit = limit; + return this; + } + + public Builder limit(Long limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + public GetActivityParams build() { + return new GetActivityParams(limit, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetActivityResponse.java b/src/main/java/com/schematic/api/resources/insights/types/GetActivityResponse.java new file mode 100644 index 0000000..3b94a8d --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetActivityResponse.java @@ -0,0 +1,153 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.ActivityResponseResponseData; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetActivityResponse.Builder.class) +public final class GetActivityResponse { + private final ActivityResponseResponseData data; + + private final GetActivityParams params; + + private final Map additionalProperties; + + private GetActivityResponse( + ActivityResponseResponseData data, GetActivityParams params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public ActivityResponseResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public GetActivityParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetActivityResponse && equalTo((GetActivityResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetActivityResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + ParamsStage data(@NotNull ActivityResponseResponseData data); + + Builder from(GetActivityResponse other); + } + + public interface ParamsStage { + /** + *

Input parameters

+ */ + _FinalStage params(@NotNull GetActivityParams params); + } + + public interface _FinalStage { + GetActivityResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, ParamsStage, _FinalStage { + private ActivityResponseResponseData data; + + private GetActivityParams params; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetActivityResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public ParamsStage data(@NotNull ActivityResponseResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("params") + public _FinalStage params(@NotNull GetActivityParams params) { + this.params = Objects.requireNonNull(params, "params must not be null"); + return this; + } + + @java.lang.Override + public GetActivityResponse build() { + return new GetActivityResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesParams.java b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesParams.java new file mode 100644 index 0000000..762a3a1 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesParams.java @@ -0,0 +1,183 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.TimeSeriesGranularity; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetEnvironmentFeatureUsageTimeSeriesParams.Builder.class) +public final class GetEnvironmentFeatureUsageTimeSeriesParams { + private final Optional endTime; + + private final Optional featureId; + + private final Optional granularity; + + private final Optional startTime; + + private final Map additionalProperties; + + private GetEnvironmentFeatureUsageTimeSeriesParams( + Optional endTime, + Optional featureId, + Optional granularity, + Optional startTime, + Map additionalProperties) { + this.endTime = endTime; + this.featureId = featureId; + this.granularity = granularity; + this.startTime = startTime; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("end_time") + public Optional getEndTime() { + return endTime; + } + + @JsonProperty("feature_id") + public Optional getFeatureId() { + return featureId; + } + + @JsonProperty("granularity") + public Optional getGranularity() { + return granularity; + } + + @JsonProperty("start_time") + public Optional getStartTime() { + return startTime; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetEnvironmentFeatureUsageTimeSeriesParams + && equalTo((GetEnvironmentFeatureUsageTimeSeriesParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetEnvironmentFeatureUsageTimeSeriesParams other) { + return endTime.equals(other.endTime) + && featureId.equals(other.featureId) + && granularity.equals(other.granularity) + && startTime.equals(other.startTime); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.endTime, this.featureId, this.granularity, this.startTime); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional endTime = Optional.empty(); + + private Optional featureId = Optional.empty(); + + private Optional granularity = Optional.empty(); + + private Optional startTime = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetEnvironmentFeatureUsageTimeSeriesParams other) { + endTime(other.getEndTime()); + featureId(other.getFeatureId()); + granularity(other.getGranularity()); + startTime(other.getStartTime()); + return this; + } + + @JsonSetter(value = "end_time", nulls = Nulls.SKIP) + public Builder endTime(Optional endTime) { + this.endTime = endTime; + return this; + } + + public Builder endTime(OffsetDateTime endTime) { + this.endTime = Optional.ofNullable(endTime); + return this; + } + + @JsonSetter(value = "feature_id", nulls = Nulls.SKIP) + public Builder featureId(Optional featureId) { + this.featureId = featureId; + return this; + } + + public Builder featureId(String featureId) { + this.featureId = Optional.ofNullable(featureId); + return this; + } + + @JsonSetter(value = "granularity", nulls = Nulls.SKIP) + public Builder granularity(Optional granularity) { + this.granularity = granularity; + return this; + } + + public Builder granularity(TimeSeriesGranularity granularity) { + this.granularity = Optional.ofNullable(granularity); + return this; + } + + @JsonSetter(value = "start_time", nulls = Nulls.SKIP) + public Builder startTime(Optional startTime) { + this.startTime = startTime; + return this; + } + + public Builder startTime(OffsetDateTime startTime) { + this.startTime = Optional.ofNullable(startTime); + return this; + } + + public GetEnvironmentFeatureUsageTimeSeriesParams build() { + return new GetEnvironmentFeatureUsageTimeSeriesParams( + endTime, featureId, granularity, startTime, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesResponse.java b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesResponse.java new file mode 100644 index 0000000..1d95f81 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentFeatureUsageTimeSeriesResponse.java @@ -0,0 +1,156 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.EnvironmentFeatureUsageTimeSeriesResponseData; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetEnvironmentFeatureUsageTimeSeriesResponse.Builder.class) +public final class GetEnvironmentFeatureUsageTimeSeriesResponse { + private final EnvironmentFeatureUsageTimeSeriesResponseData data; + + private final GetEnvironmentFeatureUsageTimeSeriesParams params; + + private final Map additionalProperties; + + private GetEnvironmentFeatureUsageTimeSeriesResponse( + EnvironmentFeatureUsageTimeSeriesResponseData data, + GetEnvironmentFeatureUsageTimeSeriesParams params, + Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public EnvironmentFeatureUsageTimeSeriesResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public GetEnvironmentFeatureUsageTimeSeriesParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetEnvironmentFeatureUsageTimeSeriesResponse + && equalTo((GetEnvironmentFeatureUsageTimeSeriesResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetEnvironmentFeatureUsageTimeSeriesResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + ParamsStage data(@NotNull EnvironmentFeatureUsageTimeSeriesResponseData data); + + Builder from(GetEnvironmentFeatureUsageTimeSeriesResponse other); + } + + public interface ParamsStage { + /** + *

Input parameters

+ */ + _FinalStage params(@NotNull GetEnvironmentFeatureUsageTimeSeriesParams params); + } + + public interface _FinalStage { + GetEnvironmentFeatureUsageTimeSeriesResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, ParamsStage, _FinalStage { + private EnvironmentFeatureUsageTimeSeriesResponseData data; + + private GetEnvironmentFeatureUsageTimeSeriesParams params; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetEnvironmentFeatureUsageTimeSeriesResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public ParamsStage data(@NotNull EnvironmentFeatureUsageTimeSeriesResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("params") + public _FinalStage params(@NotNull GetEnvironmentFeatureUsageTimeSeriesParams params) { + this.params = Objects.requireNonNull(params, "params must not be null"); + return this; + } + + @java.lang.Override + public GetEnvironmentFeatureUsageTimeSeriesResponse build() { + return new GetEnvironmentFeatureUsageTimeSeriesResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesParams.java b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesParams.java new file mode 100644 index 0000000..9ced58e --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesParams.java @@ -0,0 +1,183 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.TimeSeriesGranularity; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetEnvironmentTraitUsageTimeSeriesParams.Builder.class) +public final class GetEnvironmentTraitUsageTimeSeriesParams { + private final Optional endTime; + + private final Optional featureId; + + private final Optional granularity; + + private final Optional startTime; + + private final Map additionalProperties; + + private GetEnvironmentTraitUsageTimeSeriesParams( + Optional endTime, + Optional featureId, + Optional granularity, + Optional startTime, + Map additionalProperties) { + this.endTime = endTime; + this.featureId = featureId; + this.granularity = granularity; + this.startTime = startTime; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("end_time") + public Optional getEndTime() { + return endTime; + } + + @JsonProperty("feature_id") + public Optional getFeatureId() { + return featureId; + } + + @JsonProperty("granularity") + public Optional getGranularity() { + return granularity; + } + + @JsonProperty("start_time") + public Optional getStartTime() { + return startTime; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetEnvironmentTraitUsageTimeSeriesParams + && equalTo((GetEnvironmentTraitUsageTimeSeriesParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetEnvironmentTraitUsageTimeSeriesParams other) { + return endTime.equals(other.endTime) + && featureId.equals(other.featureId) + && granularity.equals(other.granularity) + && startTime.equals(other.startTime); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.endTime, this.featureId, this.granularity, this.startTime); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional endTime = Optional.empty(); + + private Optional featureId = Optional.empty(); + + private Optional granularity = Optional.empty(); + + private Optional startTime = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetEnvironmentTraitUsageTimeSeriesParams other) { + endTime(other.getEndTime()); + featureId(other.getFeatureId()); + granularity(other.getGranularity()); + startTime(other.getStartTime()); + return this; + } + + @JsonSetter(value = "end_time", nulls = Nulls.SKIP) + public Builder endTime(Optional endTime) { + this.endTime = endTime; + return this; + } + + public Builder endTime(OffsetDateTime endTime) { + this.endTime = Optional.ofNullable(endTime); + return this; + } + + @JsonSetter(value = "feature_id", nulls = Nulls.SKIP) + public Builder featureId(Optional featureId) { + this.featureId = featureId; + return this; + } + + public Builder featureId(String featureId) { + this.featureId = Optional.ofNullable(featureId); + return this; + } + + @JsonSetter(value = "granularity", nulls = Nulls.SKIP) + public Builder granularity(Optional granularity) { + this.granularity = granularity; + return this; + } + + public Builder granularity(TimeSeriesGranularity granularity) { + this.granularity = Optional.ofNullable(granularity); + return this; + } + + @JsonSetter(value = "start_time", nulls = Nulls.SKIP) + public Builder startTime(Optional startTime) { + this.startTime = startTime; + return this; + } + + public Builder startTime(OffsetDateTime startTime) { + this.startTime = Optional.ofNullable(startTime); + return this; + } + + public GetEnvironmentTraitUsageTimeSeriesParams build() { + return new GetEnvironmentTraitUsageTimeSeriesParams( + endTime, featureId, granularity, startTime, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesResponse.java b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesResponse.java new file mode 100644 index 0000000..bb7b6e2 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetEnvironmentTraitUsageTimeSeriesResponse.java @@ -0,0 +1,156 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.EnvironmentTraitUsageTimeSeriesResponseData; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetEnvironmentTraitUsageTimeSeriesResponse.Builder.class) +public final class GetEnvironmentTraitUsageTimeSeriesResponse { + private final EnvironmentTraitUsageTimeSeriesResponseData data; + + private final GetEnvironmentTraitUsageTimeSeriesParams params; + + private final Map additionalProperties; + + private GetEnvironmentTraitUsageTimeSeriesResponse( + EnvironmentTraitUsageTimeSeriesResponseData data, + GetEnvironmentTraitUsageTimeSeriesParams params, + Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public EnvironmentTraitUsageTimeSeriesResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public GetEnvironmentTraitUsageTimeSeriesParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetEnvironmentTraitUsageTimeSeriesResponse + && equalTo((GetEnvironmentTraitUsageTimeSeriesResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetEnvironmentTraitUsageTimeSeriesResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + ParamsStage data(@NotNull EnvironmentTraitUsageTimeSeriesResponseData data); + + Builder from(GetEnvironmentTraitUsageTimeSeriesResponse other); + } + + public interface ParamsStage { + /** + *

Input parameters

+ */ + _FinalStage params(@NotNull GetEnvironmentTraitUsageTimeSeriesParams params); + } + + public interface _FinalStage { + GetEnvironmentTraitUsageTimeSeriesResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, ParamsStage, _FinalStage { + private EnvironmentTraitUsageTimeSeriesResponseData data; + + private GetEnvironmentTraitUsageTimeSeriesParams params; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetEnvironmentTraitUsageTimeSeriesResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public ParamsStage data(@NotNull EnvironmentTraitUsageTimeSeriesResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("params") + public _FinalStage params(@NotNull GetEnvironmentTraitUsageTimeSeriesParams params) { + this.params = Objects.requireNonNull(params, "params must not be null"); + return this; + } + + @java.lang.Override + public GetEnvironmentTraitUsageTimeSeriesResponse build() { + return new GetEnvironmentTraitUsageTimeSeriesResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthParams.java b/src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthParams.java new file mode 100644 index 0000000..084774a --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthParams.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetPlanGrowthParams.Builder.class) +public final class GetPlanGrowthParams { + private final Optional months; + + private final Map additionalProperties; + + private GetPlanGrowthParams(Optional months, Map additionalProperties) { + this.months = months; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("months") + public Optional getMonths() { + return months; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetPlanGrowthParams && equalTo((GetPlanGrowthParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetPlanGrowthParams other) { + return months.equals(other.months); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.months); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional months = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetPlanGrowthParams other) { + months(other.getMonths()); + return this; + } + + @JsonSetter(value = "months", nulls = Nulls.SKIP) + public Builder months(Optional months) { + this.months = months; + return this; + } + + public Builder months(Long months) { + this.months = Optional.ofNullable(months); + return this; + } + + public GetPlanGrowthParams build() { + return new GetPlanGrowthParams(months, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthResponse.java b/src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthResponse.java new file mode 100644 index 0000000..e47e4c9 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetPlanGrowthResponse.java @@ -0,0 +1,153 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.PlanGrowthResponseData; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetPlanGrowthResponse.Builder.class) +public final class GetPlanGrowthResponse { + private final PlanGrowthResponseData data; + + private final GetPlanGrowthParams params; + + private final Map additionalProperties; + + private GetPlanGrowthResponse( + PlanGrowthResponseData data, GetPlanGrowthParams params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public PlanGrowthResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public GetPlanGrowthParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetPlanGrowthResponse && equalTo((GetPlanGrowthResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetPlanGrowthResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + ParamsStage data(@NotNull PlanGrowthResponseData data); + + Builder from(GetPlanGrowthResponse other); + } + + public interface ParamsStage { + /** + *

Input parameters

+ */ + _FinalStage params(@NotNull GetPlanGrowthParams params); + } + + public interface _FinalStage { + GetPlanGrowthResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, ParamsStage, _FinalStage { + private PlanGrowthResponseData data; + + private GetPlanGrowthParams params; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetPlanGrowthResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public ParamsStage data(@NotNull PlanGrowthResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("params") + public _FinalStage params(@NotNull GetPlanGrowthParams params) { + this.params = Objects.requireNonNull(params, "params must not be null"); + return this; + } + + @java.lang.Override + public GetPlanGrowthResponse build() { + return new GetPlanGrowthResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetSummaryResponse.java b/src/main/java/com/schematic/api/resources/insights/types/GetSummaryResponse.java new file mode 100644 index 0000000..9b3ae43 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetSummaryResponse.java @@ -0,0 +1,181 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.InsightsSummaryResponseData; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetSummaryResponse.Builder.class) +public final class GetSummaryResponse { + private final InsightsSummaryResponseData data; + + private final Map params; + + private final Map additionalProperties; + + private GetSummaryResponse( + InsightsSummaryResponseData data, Map params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public InsightsSummaryResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public Map getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetSummaryResponse && equalTo((GetSummaryResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetSummaryResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + _FinalStage data(@NotNull InsightsSummaryResponseData data); + + Builder from(GetSummaryResponse other); + } + + public interface _FinalStage { + GetSummaryResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + /** + *

Input parameters

+ */ + _FinalStage params(Map params); + + _FinalStage putAllParams(Map params); + + _FinalStage params(String key, JsonNode value); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, _FinalStage { + private InsightsSummaryResponseData data; + + private Map params = new LinkedHashMap<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetSummaryResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public _FinalStage data(@NotNull InsightsSummaryResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage params(String key, JsonNode value) { + this.params.put(key, value); + return this; + } + + /** + *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage putAllParams(Map params) { + if (params != null) { + this.params.putAll(params); + } + return this; + } + + /** + *

Input parameters

+ */ + @java.lang.Override + @JsonSetter(value = "params", nulls = Nulls.SKIP) + public _FinalStage params(Map params) { + this.params.clear(); + if (params != null) { + this.params.putAll(params); + } + return this; + } + + @java.lang.Override + public GetSummaryResponse build() { + return new GetSummaryResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageParams.java b/src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageParams.java new file mode 100644 index 0000000..fdaccc9 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageParams.java @@ -0,0 +1,154 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetTopFeaturesByUsageParams.Builder.class) +public final class GetTopFeaturesByUsageParams { + private final Optional endTime; + + private final Optional limit; + + private final Optional startTime; + + private final Map additionalProperties; + + private GetTopFeaturesByUsageParams( + Optional endTime, + Optional limit, + Optional startTime, + Map additionalProperties) { + this.endTime = endTime; + this.limit = limit; + this.startTime = startTime; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("end_time") + public Optional getEndTime() { + return endTime; + } + + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + @JsonProperty("start_time") + public Optional getStartTime() { + return startTime; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetTopFeaturesByUsageParams && equalTo((GetTopFeaturesByUsageParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetTopFeaturesByUsageParams other) { + return endTime.equals(other.endTime) && limit.equals(other.limit) && startTime.equals(other.startTime); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.endTime, this.limit, this.startTime); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional endTime = Optional.empty(); + + private Optional limit = Optional.empty(); + + private Optional startTime = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetTopFeaturesByUsageParams other) { + endTime(other.getEndTime()); + limit(other.getLimit()); + startTime(other.getStartTime()); + return this; + } + + @JsonSetter(value = "end_time", nulls = Nulls.SKIP) + public Builder endTime(Optional endTime) { + this.endTime = endTime; + return this; + } + + public Builder endTime(OffsetDateTime endTime) { + this.endTime = Optional.ofNullable(endTime); + return this; + } + + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public Builder limit(Optional limit) { + this.limit = limit; + return this; + } + + public Builder limit(Long limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + @JsonSetter(value = "start_time", nulls = Nulls.SKIP) + public Builder startTime(Optional startTime) { + this.startTime = startTime; + return this; + } + + public Builder startTime(OffsetDateTime startTime) { + this.startTime = Optional.ofNullable(startTime); + return this; + } + + public GetTopFeaturesByUsageParams build() { + return new GetTopFeaturesByUsageParams(endTime, limit, startTime, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageResponse.java b/src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageResponse.java new file mode 100644 index 0000000..847ea5b --- /dev/null +++ b/src/main/java/com/schematic/api/resources/insights/types/GetTopFeaturesByUsageResponse.java @@ -0,0 +1,155 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.insights.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.TopFeaturesByUsageResponseData; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetTopFeaturesByUsageResponse.Builder.class) +public final class GetTopFeaturesByUsageResponse { + private final TopFeaturesByUsageResponseData data; + + private final GetTopFeaturesByUsageParams params; + + private final Map additionalProperties; + + private GetTopFeaturesByUsageResponse( + TopFeaturesByUsageResponseData data, + GetTopFeaturesByUsageParams params, + Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public TopFeaturesByUsageResponseData getData() { + return data; + } + + /** + * @return Input parameters + */ + @JsonProperty("params") + public GetTopFeaturesByUsageParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetTopFeaturesByUsageResponse && equalTo((GetTopFeaturesByUsageResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(GetTopFeaturesByUsageResponse other) { + return data.equals(other.data) && params.equals(other.params); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data, this.params); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DataStage builder() { + return new Builder(); + } + + public interface DataStage { + ParamsStage data(@NotNull TopFeaturesByUsageResponseData data); + + Builder from(GetTopFeaturesByUsageResponse other); + } + + public interface ParamsStage { + /** + *

Input parameters

+ */ + _FinalStage params(@NotNull GetTopFeaturesByUsageParams params); + } + + public interface _FinalStage { + GetTopFeaturesByUsageResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DataStage, ParamsStage, _FinalStage { + private TopFeaturesByUsageResponseData data; + + private GetTopFeaturesByUsageParams params; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(GetTopFeaturesByUsageResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public ParamsStage data(@NotNull TopFeaturesByUsageResponseData data) { + this.data = Objects.requireNonNull(data, "data must not be null"); + return this; + } + + /** + *

Input parameters

+ *

Input parameters

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("params") + public _FinalStage params(@NotNull GetTopFeaturesByUsageParams params) { + this.params = Objects.requireNonNull(params, "params must not be null"); + return this; + } + + @java.lang.Override + public GetTopFeaturesByUsageResponse build() { + return new GetTopFeaturesByUsageResponse(data, params, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/resources/plangroups/requests/GetPlanGroupRequest.java b/src/main/java/com/schematic/api/resources/plangroups/requests/GetPlanGroupRequest.java index 7defe30..f013abd 100644 --- a/src/main/java/com/schematic/api/resources/plangroups/requests/GetPlanGroupRequest.java +++ b/src/main/java/com/schematic/api/resources/plangroups/requests/GetPlanGroupRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -29,7 +29,7 @@ private GetPlanGroupRequest(Optional includeCompanyCounts, Map getIncludeCompanyCounts() { return includeCompanyCounts; } diff --git a/src/main/java/com/schematic/api/resources/planmigrations/requests/CountCompanyMigrationsRequest.java b/src/main/java/com/schematic/api/resources/planmigrations/requests/CountCompanyMigrationsRequest.java index 91d85ff..4a3a63c 100644 --- a/src/main/java/com/schematic/api/resources/planmigrations/requests/CountCompanyMigrationsRequest.java +++ b/src/main/java/com/schematic/api/resources/planmigrations/requests/CountCompanyMigrationsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -48,17 +48,17 @@ private CountCompanyMigrationsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("migration_id") + @JsonIgnore public Optional getMigrationId() { return migrationId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } @@ -66,7 +66,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -74,7 +74,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/planmigrations/requests/CountMigrationsRequest.java b/src/main/java/com/schematic/api/resources/planmigrations/requests/CountMigrationsRequest.java index 85886dc..854306c 100644 --- a/src/main/java/com/schematic/api/resources/planmigrations/requests/CountMigrationsRequest.java +++ b/src/main/java/com/schematic/api/resources/planmigrations/requests/CountMigrationsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private CountMigrationsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } @@ -57,7 +57,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/planmigrations/requests/ListCompanyMigrationsRequest.java b/src/main/java/com/schematic/api/resources/planmigrations/requests/ListCompanyMigrationsRequest.java index 6c93fb6..b7d61fe 100644 --- a/src/main/java/com/schematic/api/resources/planmigrations/requests/ListCompanyMigrationsRequest.java +++ b/src/main/java/com/schematic/api/resources/planmigrations/requests/ListCompanyMigrationsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -48,17 +48,17 @@ private ListCompanyMigrationsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("migration_id") + @JsonIgnore public Optional getMigrationId() { return migrationId; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } @@ -66,7 +66,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -74,7 +74,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/planmigrations/requests/ListMigrationsRequest.java b/src/main/java/com/schematic/api/resources/planmigrations/requests/ListMigrationsRequest.java index 6e63f5b..b6dfd2f 100644 --- a/src/main/java/com/schematic/api/resources/planmigrations/requests/ListMigrationsRequest.java +++ b/src/main/java/com/schematic/api/resources/planmigrations/requests/ListMigrationsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private ListMigrationsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } @@ -57,7 +57,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/CountBillingProductMatchCompaniesRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/CountBillingProductMatchCompaniesRequest.java index c6f6d5f..a52da92 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/CountBillingProductMatchCompaniesRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/CountBillingProductMatchCompaniesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -47,7 +47,7 @@ private CountBillingProductMatchCompaniesRequest( /** * @return The plan ID to find billing product match companies for */ - @JsonProperty("plan_id") + @JsonIgnore public String getPlanId() { return planId; } @@ -55,7 +55,7 @@ public String getPlanId() { /** * @return Search for companies by name, keys or string traits */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -63,7 +63,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -71,7 +71,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/CountPlansRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/CountPlansRequest.java index 4273a3c..b8a659b 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/CountPlansRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/CountPlansRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -90,12 +90,12 @@ private CountPlansRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -103,7 +103,7 @@ public Optional getCompanyId() { /** * @return Exclude plans that are scoped to a company (custom plans assigned to a company) */ - @JsonProperty("exclude_company_scoped") + @JsonIgnore public Optional getExcludeCompanyScoped() { return excludeCompanyScoped; } @@ -111,7 +111,7 @@ public Optional getExcludeCompanyScoped() { /** * @return Filter for plans valid as fallback plans (not linked to billing) */ - @JsonProperty("for_fallback_plan") + @JsonIgnore public Optional getForFallbackPlan() { return forFallbackPlan; } @@ -119,7 +119,7 @@ public Optional getForFallbackPlan() { /** * @return Filter for plans valid as initial plans (not linked to billing, free, or auto-cancelling trial) */ - @JsonProperty("for_initial_plan") + @JsonIgnore public Optional getForInitialPlan() { return forInitialPlan; } @@ -127,7 +127,7 @@ public Optional getForInitialPlan() { /** * @return Filter for plans valid as trial expiry plans (not linked to billing or free) */ - @JsonProperty("for_trial_expiry_plan") + @JsonIgnore public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } @@ -135,7 +135,7 @@ public Optional getForTrialExpiryPlan() { /** * @return Filter out plans that do not have a billing product ID */ - @JsonProperty("has_product_id") + @JsonIgnore public Optional getHasProductId() { return hasProductId; } @@ -143,7 +143,7 @@ public Optional getHasProductId() { /** * @return Include billing settings from draft versions for plans which have draft version */ - @JsonProperty("include_draft_versions") + @JsonIgnore public Optional getIncludeDraftVersions() { return includeDraftVersions; } @@ -151,12 +151,12 @@ public Optional getIncludeDraftVersions() { /** * @return Filter by plan type */ - @JsonProperty("plan_type") + @JsonIgnore public Optional getPlanType() { return planType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -164,7 +164,7 @@ public Optional getQ() { /** * @return Filter plans scoped to a specific company (custom plans) */ - @JsonProperty("scoped_to_company_id") + @JsonIgnore public Optional getScopedToCompanyId() { return scopedToCompanyId; } @@ -172,7 +172,7 @@ public Optional getScopedToCompanyId() { /** * @return Filter out plans that already have a plan entitlement for the specified feature ID */ - @JsonProperty("without_entitlement_for") + @JsonIgnore public Optional getWithoutEntitlementFor() { return withoutEntitlementFor; } @@ -180,7 +180,7 @@ public Optional getWithoutEntitlementFor() { /** * @return Filter out plans that have a paid billing product ID */ - @JsonProperty("without_paid_product_id") + @JsonIgnore public Optional getWithoutPaidProductId() { return withoutPaidProductId; } @@ -188,7 +188,7 @@ public Optional getWithoutPaidProductId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -196,7 +196,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/DeletePlanVersionRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/DeletePlanVersionRequest.java index bfcd427..b5e1334 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/DeletePlanVersionRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/DeletePlanVersionRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -30,7 +30,7 @@ private DeletePlanVersionRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("promote_archived_version") + @JsonIgnore public Optional getPromoteArchivedVersion() { return promoteArchivedVersion; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/GetPlanRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/GetPlanRequest.java index 24aaf5c..12b6d34 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/GetPlanRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/GetPlanRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -32,7 +32,7 @@ private GetPlanRequest(Optional planVersionId, Map addit /** * @return Fetch billing settings for a specific plan version */ - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/ListBillingProductMatchCompaniesRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/ListBillingProductMatchCompaniesRequest.java index 198bdf1..32a3890 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/ListBillingProductMatchCompaniesRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/ListBillingProductMatchCompaniesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -47,7 +47,7 @@ private ListBillingProductMatchCompaniesRequest( /** * @return The plan ID to find billing product match companies for */ - @JsonProperty("plan_id") + @JsonIgnore public String getPlanId() { return planId; } @@ -55,7 +55,7 @@ public String getPlanId() { /** * @return Search for companies by name, keys or string traits */ - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -63,7 +63,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -71,7 +71,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/ListCustomPlanBillingsRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/ListCustomPlanBillingsRequest.java index 457fed2..1fef460 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/ListCustomPlanBillingsRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/ListCustomPlanBillingsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -57,7 +57,7 @@ private ListCustomPlanBillingsRequest( /** * @return Filter by multiple billing statuses */ - @JsonProperty("statuses") + @JsonIgnore public Optional> getStatuses() { return statuses; } @@ -65,7 +65,7 @@ public Optional> getStatuses() { /** * @return Filter by company ID */ - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -73,7 +73,7 @@ public Optional getCompanyId() { /** * @return Filter by plan ID */ - @JsonProperty("plan_id") + @JsonIgnore public Optional getPlanId() { return planId; } @@ -81,7 +81,7 @@ public Optional getPlanId() { /** * @return Filter by billing status */ - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } @@ -89,7 +89,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -97,7 +97,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/ListPlanIssuesRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/ListPlanIssuesRequest.java index 2db1f10..f6507ef 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/ListPlanIssuesRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/ListPlanIssuesRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -34,12 +34,12 @@ private ListPlanIssuesRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("plan_id") + @JsonIgnore public String getPlanId() { return planId; } - @JsonProperty("plan_version_id") + @JsonIgnore public Optional getPlanVersionId() { return planVersionId; } diff --git a/src/main/java/com/schematic/api/resources/plans/requests/ListPlansRequest.java b/src/main/java/com/schematic/api/resources/plans/requests/ListPlansRequest.java index 49bb725..826e6f8 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/ListPlansRequest.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/ListPlansRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -90,12 +90,12 @@ private ListPlansRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } @@ -103,7 +103,7 @@ public Optional getCompanyId() { /** * @return Exclude plans that are scoped to a company (custom plans assigned to a company) */ - @JsonProperty("exclude_company_scoped") + @JsonIgnore public Optional getExcludeCompanyScoped() { return excludeCompanyScoped; } @@ -111,7 +111,7 @@ public Optional getExcludeCompanyScoped() { /** * @return Filter for plans valid as fallback plans (not linked to billing) */ - @JsonProperty("for_fallback_plan") + @JsonIgnore public Optional getForFallbackPlan() { return forFallbackPlan; } @@ -119,7 +119,7 @@ public Optional getForFallbackPlan() { /** * @return Filter for plans valid as initial plans (not linked to billing, free, or auto-cancelling trial) */ - @JsonProperty("for_initial_plan") + @JsonIgnore public Optional getForInitialPlan() { return forInitialPlan; } @@ -127,7 +127,7 @@ public Optional getForInitialPlan() { /** * @return Filter for plans valid as trial expiry plans (not linked to billing or free) */ - @JsonProperty("for_trial_expiry_plan") + @JsonIgnore public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } @@ -135,7 +135,7 @@ public Optional getForTrialExpiryPlan() { /** * @return Filter out plans that do not have a billing product ID */ - @JsonProperty("has_product_id") + @JsonIgnore public Optional getHasProductId() { return hasProductId; } @@ -143,7 +143,7 @@ public Optional getHasProductId() { /** * @return Include billing settings from draft versions for plans which have draft version */ - @JsonProperty("include_draft_versions") + @JsonIgnore public Optional getIncludeDraftVersions() { return includeDraftVersions; } @@ -151,12 +151,12 @@ public Optional getIncludeDraftVersions() { /** * @return Filter by plan type */ - @JsonProperty("plan_type") + @JsonIgnore public Optional getPlanType() { return planType; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -164,7 +164,7 @@ public Optional getQ() { /** * @return Filter plans scoped to a specific company (custom plans) */ - @JsonProperty("scoped_to_company_id") + @JsonIgnore public Optional getScopedToCompanyId() { return scopedToCompanyId; } @@ -172,7 +172,7 @@ public Optional getScopedToCompanyId() { /** * @return Filter out plans that already have a plan entitlement for the specified feature ID */ - @JsonProperty("without_entitlement_for") + @JsonIgnore public Optional getWithoutEntitlementFor() { return withoutEntitlementFor; } @@ -180,7 +180,7 @@ public Optional getWithoutEntitlementFor() { /** * @return Filter out plans that have a paid billing product ID */ - @JsonProperty("without_paid_product_id") + @JsonIgnore public Optional getWithoutPaidProductId() { return withoutPaidProductId; } @@ -188,7 +188,7 @@ public Optional getWithoutPaidProductId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -196,7 +196,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/scheduledcheckout/requests/ListScheduledCheckoutsRequest.java b/src/main/java/com/schematic/api/resources/scheduledcheckout/requests/ListScheduledCheckoutsRequest.java index b88977f..10263dd 100644 --- a/src/main/java/com/schematic/api/resources/scheduledcheckout/requests/ListScheduledCheckoutsRequest.java +++ b/src/main/java/com/schematic/api/resources/scheduledcheckout/requests/ListScheduledCheckoutsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -44,12 +44,12 @@ private ListScheduledCheckoutsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("company_id") + @JsonIgnore public Optional getCompanyId() { return companyId; } - @JsonProperty("status") + @JsonIgnore public Optional getStatus() { return status; } @@ -57,7 +57,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhookEventsRequest.java b/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhookEventsRequest.java index 77a8d09..a9ed1ea 100644 --- a/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhookEventsRequest.java +++ b/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhookEventsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -49,17 +49,17 @@ private CountWebhookEventsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("webhook_id") + @JsonIgnore public Optional getWebhookId() { return webhookId; } @@ -67,7 +67,7 @@ public Optional getWebhookId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhooksRequest.java b/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhooksRequest.java index 1edbf02..61083ce 100644 --- a/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhooksRequest.java +++ b/src/main/java/com/schematic/api/resources/webhooks/requests/CountWebhooksRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -36,7 +36,7 @@ private CountWebhooksRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhookEventsRequest.java b/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhookEventsRequest.java index 0a8d37d..8518e5b 100644 --- a/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhookEventsRequest.java +++ b/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhookEventsRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -49,17 +49,17 @@ private ListWebhookEventsRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("ids") + @JsonIgnore public Optional> getIds() { return ids; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } - @JsonProperty("webhook_id") + @JsonIgnore public Optional getWebhookId() { return webhookId; } @@ -67,7 +67,7 @@ public Optional getWebhookId() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhooksRequest.java b/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhooksRequest.java index 4089b5b..49cf5fa 100644 --- a/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhooksRequest.java +++ b/src/main/java/com/schematic/api/resources/webhooks/requests/ListWebhooksRequest.java @@ -5,9 +5,9 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSetter; import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @@ -36,7 +36,7 @@ private ListWebhooksRequest( this.additionalProperties = additionalProperties; } - @JsonProperty("q") + @JsonIgnore public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonProperty("limit") + @JsonIgnore public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonProperty("offset") + @JsonIgnore public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/types/AccountMemberPermission.java b/src/main/java/com/schematic/api/types/AccountMemberPermission.java index 0b4658e..158b92a 100644 --- a/src/main/java/com/schematic/api/types/AccountMemberPermission.java +++ b/src/main/java/com/schematic/api/types/AccountMemberPermission.java @@ -7,23 +7,20 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class AccountMemberPermission { + public static final AccountMemberPermission WEBHOOKS_EDIT = + new AccountMemberPermission(Value.WEBHOOKS_EDIT, "webhooks_edit"); + public static final AccountMemberPermission COMPANY_USERS_EDIT = new AccountMemberPermission(Value.COMPANY_USERS_EDIT, "company_users_edit"); public static final AccountMemberPermission PLAN_BILLING_EDIT = new AccountMemberPermission(Value.PLAN_BILLING_EDIT, "plan_billing_edit"); - public static final AccountMemberPermission WEBHOOKS_EDIT = - new AccountMemberPermission(Value.WEBHOOKS_EDIT, "webhooks_edit"); - - public static final AccountMemberPermission PLAN_ENTITLEMENTS_EDIT = - new AccountMemberPermission(Value.PLAN_ENTITLEMENTS_EDIT, "plan_entitlements_edit"); - public static final AccountMemberPermission FEATURES_EDIT = new AccountMemberPermission(Value.FEATURES_EDIT, "features_edit"); - public static final AccountMemberPermission WEBHOOKS_REVEAL_SECRET = - new AccountMemberPermission(Value.WEBHOOKS_REVEAL_SECRET, "webhooks_reveal_secret"); + public static final AccountMemberPermission PLAN_ENTITLEMENTS_EDIT = + new AccountMemberPermission(Value.PLAN_ENTITLEMENTS_EDIT, "plan_entitlements_edit"); public static final AccountMemberPermission FLAG_RULES_EDIT = new AccountMemberPermission(Value.FLAG_RULES_EDIT, "flag_rules_edit"); @@ -31,18 +28,15 @@ public final class AccountMemberPermission { public static final AccountMemberPermission PLAN_VERSIONS_EDIT = new AccountMemberPermission(Value.PLAN_VERSIONS_EDIT, "plan_versions_edit"); + public static final AccountMemberPermission WEBHOOKS_REVEAL_SECRET = + new AccountMemberPermission(Value.WEBHOOKS_REVEAL_SECRET, "webhooks_reveal_secret"); + public static final AccountMemberPermission FLAGS_EDIT = new AccountMemberPermission(Value.FLAGS_EDIT, "flags_edit"); public static final AccountMemberPermission PLANS_EDIT = new AccountMemberPermission(Value.PLANS_EDIT, "plans_edit"); - public static final AccountMemberPermission BILLING_CREDITS_EDIT = - new AccountMemberPermission(Value.BILLING_CREDITS_EDIT, "billing_credits_edit"); - - public static final AccountMemberPermission DATA_EXPORTS_EDIT = - new AccountMemberPermission(Value.DATA_EXPORTS_EDIT, "data_exports_edit"); - public static final AccountMemberPermission COMPANIES_EDIT = new AccountMemberPermission(Value.COMPANIES_EDIT, "companies_edit"); @@ -52,6 +46,12 @@ public final class AccountMemberPermission { public static final AccountMemberPermission OVERRIDES_EDIT = new AccountMemberPermission(Value.OVERRIDES_EDIT, "overrides_edit"); + public static final AccountMemberPermission BILLING_CREDITS_EDIT = + new AccountMemberPermission(Value.BILLING_CREDITS_EDIT, "billing_credits_edit"); + + public static final AccountMemberPermission DATA_EXPORTS_EDIT = + new AccountMemberPermission(Value.DATA_EXPORTS_EDIT, "data_exports_edit"); + private final Value value; private final String string; @@ -85,36 +85,36 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { + case WEBHOOKS_EDIT: + return visitor.visitWebhooksEdit(); case COMPANY_USERS_EDIT: return visitor.visitCompanyUsersEdit(); case PLAN_BILLING_EDIT: return visitor.visitPlanBillingEdit(); - case WEBHOOKS_EDIT: - return visitor.visitWebhooksEdit(); - case PLAN_ENTITLEMENTS_EDIT: - return visitor.visitPlanEntitlementsEdit(); case FEATURES_EDIT: return visitor.visitFeaturesEdit(); - case WEBHOOKS_REVEAL_SECRET: - return visitor.visitWebhooksRevealSecret(); + case PLAN_ENTITLEMENTS_EDIT: + return visitor.visitPlanEntitlementsEdit(); case FLAG_RULES_EDIT: return visitor.visitFlagRulesEdit(); case PLAN_VERSIONS_EDIT: return visitor.visitPlanVersionsEdit(); + case WEBHOOKS_REVEAL_SECRET: + return visitor.visitWebhooksRevealSecret(); case FLAGS_EDIT: return visitor.visitFlagsEdit(); case PLANS_EDIT: return visitor.visitPlansEdit(); - case BILLING_CREDITS_EDIT: - return visitor.visitBillingCreditsEdit(); - case DATA_EXPORTS_EDIT: - return visitor.visitDataExportsEdit(); case COMPANIES_EDIT: return visitor.visitCompaniesEdit(); case COMPONENTS_EDIT: return visitor.visitComponentsEdit(); case OVERRIDES_EDIT: return visitor.visitOverridesEdit(); + case BILLING_CREDITS_EDIT: + return visitor.visitBillingCreditsEdit(); + case DATA_EXPORTS_EDIT: + return visitor.visitDataExportsEdit(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -124,36 +124,36 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static AccountMemberPermission valueOf(String value) { switch (value) { + case "webhooks_edit": + return WEBHOOKS_EDIT; case "company_users_edit": return COMPANY_USERS_EDIT; case "plan_billing_edit": return PLAN_BILLING_EDIT; - case "webhooks_edit": - return WEBHOOKS_EDIT; - case "plan_entitlements_edit": - return PLAN_ENTITLEMENTS_EDIT; case "features_edit": return FEATURES_EDIT; - case "webhooks_reveal_secret": - return WEBHOOKS_REVEAL_SECRET; + case "plan_entitlements_edit": + return PLAN_ENTITLEMENTS_EDIT; case "flag_rules_edit": return FLAG_RULES_EDIT; case "plan_versions_edit": return PLAN_VERSIONS_EDIT; + case "webhooks_reveal_secret": + return WEBHOOKS_REVEAL_SECRET; case "flags_edit": return FLAGS_EDIT; case "plans_edit": return PLANS_EDIT; - case "billing_credits_edit": - return BILLING_CREDITS_EDIT; - case "data_exports_edit": - return DATA_EXPORTS_EDIT; case "companies_edit": return COMPANIES_EDIT; case "components_edit": return COMPONENTS_EDIT; case "overrides_edit": return OVERRIDES_EDIT; + case "billing_credits_edit": + return BILLING_CREDITS_EDIT; + case "data_exports_edit": + return DATA_EXPORTS_EDIT; default: return new AccountMemberPermission(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/ActivityEntryResponseData.java b/src/main/java/com/schematic/api/types/ActivityEntryResponseData.java new file mode 100644 index 0000000..f02b930 --- /dev/null +++ b/src/main/java/com/schematic/api/types/ActivityEntryResponseData.java @@ -0,0 +1,250 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ActivityEntryResponseData.Builder.class) +public final class ActivityEntryResponseData { + private final String actorName; + + private final String method; + + private final String resourceName; + + private final String resourceType; + + private final OffsetDateTime timestamp; + + private final String title; + + private final Map additionalProperties; + + private ActivityEntryResponseData( + String actorName, + String method, + String resourceName, + String resourceType, + OffsetDateTime timestamp, + String title, + Map additionalProperties) { + this.actorName = actorName; + this.method = method; + this.resourceName = resourceName; + this.resourceType = resourceType; + this.timestamp = timestamp; + this.title = title; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("actor_name") + public String getActorName() { + return actorName; + } + + @JsonProperty("method") + public String getMethod() { + return method; + } + + @JsonProperty("resource_name") + public String getResourceName() { + return resourceName; + } + + @JsonProperty("resource_type") + public String getResourceType() { + return resourceType; + } + + @JsonProperty("timestamp") + public OffsetDateTime getTimestamp() { + return timestamp; + } + + @JsonProperty("title") + public String getTitle() { + return title; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ActivityEntryResponseData && equalTo((ActivityEntryResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ActivityEntryResponseData other) { + return actorName.equals(other.actorName) + && method.equals(other.method) + && resourceName.equals(other.resourceName) + && resourceType.equals(other.resourceType) + && timestamp.equals(other.timestamp) + && title.equals(other.title); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.actorName, this.method, this.resourceName, this.resourceType, this.timestamp, this.title); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ActorNameStage builder() { + return new Builder(); + } + + public interface ActorNameStage { + MethodStage actorName(@NotNull String actorName); + + Builder from(ActivityEntryResponseData other); + } + + public interface MethodStage { + ResourceNameStage method(@NotNull String method); + } + + public interface ResourceNameStage { + ResourceTypeStage resourceName(@NotNull String resourceName); + } + + public interface ResourceTypeStage { + TimestampStage resourceType(@NotNull String resourceType); + } + + public interface TimestampStage { + TitleStage timestamp(@NotNull OffsetDateTime timestamp); + } + + public interface TitleStage { + _FinalStage title(@NotNull String title); + } + + public interface _FinalStage { + ActivityEntryResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements ActorNameStage, + MethodStage, + ResourceNameStage, + ResourceTypeStage, + TimestampStage, + TitleStage, + _FinalStage { + private String actorName; + + private String method; + + private String resourceName; + + private String resourceType; + + private OffsetDateTime timestamp; + + private String title; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(ActivityEntryResponseData other) { + actorName(other.getActorName()); + method(other.getMethod()); + resourceName(other.getResourceName()); + resourceType(other.getResourceType()); + timestamp(other.getTimestamp()); + title(other.getTitle()); + return this; + } + + @java.lang.Override + @JsonSetter("actor_name") + public MethodStage actorName(@NotNull String actorName) { + this.actorName = Objects.requireNonNull(actorName, "actorName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("method") + public ResourceNameStage method(@NotNull String method) { + this.method = Objects.requireNonNull(method, "method must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("resource_name") + public ResourceTypeStage resourceName(@NotNull String resourceName) { + this.resourceName = Objects.requireNonNull(resourceName, "resourceName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("resource_type") + public TimestampStage resourceType(@NotNull String resourceType) { + this.resourceType = Objects.requireNonNull(resourceType, "resourceType must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("timestamp") + public TitleStage timestamp(@NotNull OffsetDateTime timestamp) { + this.timestamp = Objects.requireNonNull(timestamp, "timestamp must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("title") + public _FinalStage title(@NotNull String title) { + this.title = Objects.requireNonNull(title, "title must not be null"); + return this; + } + + @java.lang.Override + public ActivityEntryResponseData build() { + return new ActivityEntryResponseData( + actorName, method, resourceName, resourceType, timestamp, title, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/ActivityResponseResponseData.java b/src/main/java/com/schematic/api/types/ActivityResponseResponseData.java new file mode 100644 index 0000000..87e50bb --- /dev/null +++ b/src/main/java/com/schematic/api/types/ActivityResponseResponseData.java @@ -0,0 +1,117 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ActivityResponseResponseData.Builder.class) +public final class ActivityResponseResponseData { + private final List entries; + + private final Map additionalProperties; + + private ActivityResponseResponseData( + List entries, Map additionalProperties) { + this.entries = entries; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("entries") + public List getEntries() { + return entries; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ActivityResponseResponseData && equalTo((ActivityResponseResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ActivityResponseResponseData other) { + return entries.equals(other.entries); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.entries); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private List entries = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ActivityResponseResponseData other) { + entries(other.getEntries()); + return this; + } + + @JsonSetter(value = "entries", nulls = Nulls.SKIP) + public Builder entries(List entries) { + this.entries.clear(); + if (entries != null) { + this.entries.addAll(entries); + } + return this; + } + + public Builder addEntries(ActivityEntryResponseData entries) { + this.entries.add(entries); + return this; + } + + public Builder addAllEntries(List entries) { + if (entries != null) { + this.entries.addAll(entries); + } + return this; + } + + public ActivityResponseResponseData build() { + return new ActivityResponseResponseData(entries, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/ActorType.java b/src/main/java/com/schematic/api/types/ActorType.java index a2fdfee..d7b521f 100644 --- a/src/main/java/com/schematic/api/types/ActorType.java +++ b/src/main/java/com/schematic/api/types/ActorType.java @@ -12,12 +12,12 @@ public final class ActorType { public static final ActorType APP_USER = new ActorType(Value.APP_USER, "app_user"); + public static final ActorType SYSTEM = new ActorType(Value.SYSTEM, "system"); + public static final ActorType API_KEY = new ActorType(Value.API_KEY, "api_key"); public static final ActorType STRIPE_APP = new ActorType(Value.STRIPE_APP, "stripe_app"); - public static final ActorType SYSTEM = new ActorType(Value.SYSTEM, "system"); - private final Value value; private final String string; @@ -53,12 +53,12 @@ public T visit(Visitor visitor) { return visitor.visitTemporaryAccessToken(); case APP_USER: return visitor.visitAppUser(); + case SYSTEM: + return visitor.visitSystem(); case API_KEY: return visitor.visitApiKey(); case STRIPE_APP: return visitor.visitStripeApp(); - case SYSTEM: - return visitor.visitSystem(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -72,12 +72,12 @@ public static ActorType valueOf(String value) { return TEMPORARY_ACCESS_TOKEN; case "app_user": return APP_USER; + case "system": + return SYSTEM; case "api_key": return API_KEY; case "stripe_app": return STRIPE_APP; - case "system": - return SYSTEM; default: return new ActorType(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/ApiKeyScope.java b/src/main/java/com/schematic/api/types/ApiKeyScope.java index a3e17ba..41c3219 100644 --- a/src/main/java/com/schematic/api/types/ApiKeyScope.java +++ b/src/main/java/com/schematic/api/types/ApiKeyScope.java @@ -7,12 +7,12 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class ApiKeyScope { + public static final ApiKeyScope ADMIN = new ApiKeyScope(Value.ADMIN, "admin"); + public static final ApiKeyScope CAPTURE = new ApiKeyScope(Value.CAPTURE, "capture"); public static final ApiKeyScope WRITE = new ApiKeyScope(Value.WRITE, "write"); - public static final ApiKeyScope ADMIN = new ApiKeyScope(Value.ADMIN, "admin"); - public static final ApiKeyScope READ = new ApiKeyScope(Value.READ, "read"); private final Value value; @@ -46,12 +46,12 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { + case ADMIN: + return visitor.visitAdmin(); case CAPTURE: return visitor.visitCapture(); case WRITE: return visitor.visitWrite(); - case ADMIN: - return visitor.visitAdmin(); case READ: return visitor.visitRead(); case UNKNOWN: @@ -63,12 +63,12 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static ApiKeyScope valueOf(String value) { switch (value) { + case "admin": + return ADMIN; case "capture": return CAPTURE; case "write": return WRITE; - case "admin": - return ADMIN; case "read": return READ; default: diff --git a/src/main/java/com/schematic/api/types/BillingCreditExpiryType.java b/src/main/java/com/schematic/api/types/BillingCreditExpiryType.java index ecac86d..37502ef 100644 --- a/src/main/java/com/schematic/api/types/BillingCreditExpiryType.java +++ b/src/main/java/com/schematic/api/types/BillingCreditExpiryType.java @@ -15,11 +15,11 @@ public final class BillingCreditExpiryType { public static final BillingCreditExpiryType END_OF_NEXT_BILLING_PERIOD = new BillingCreditExpiryType(Value.END_OF_NEXT_BILLING_PERIOD, "end_of_next_billing_period"); - public static final BillingCreditExpiryType NO_EXPIRY = new BillingCreditExpiryType(Value.NO_EXPIRY, "no_expiry"); - public static final BillingCreditExpiryType END_OF_TRIAL = new BillingCreditExpiryType(Value.END_OF_TRIAL, "end_of_trial"); + public static final BillingCreditExpiryType NO_EXPIRY = new BillingCreditExpiryType(Value.NO_EXPIRY, "no_expiry"); + private final Value value; private final String string; @@ -59,10 +59,10 @@ public T visit(Visitor visitor) { return visitor.visitDuration(); case END_OF_NEXT_BILLING_PERIOD: return visitor.visitEndOfNextBillingPeriod(); - case NO_EXPIRY: - return visitor.visitNoExpiry(); case END_OF_TRIAL: return visitor.visitEndOfTrial(); + case NO_EXPIRY: + return visitor.visitNoExpiry(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -78,10 +78,10 @@ public static BillingCreditExpiryType valueOf(String value) { return DURATION; case "end_of_next_billing_period": return END_OF_NEXT_BILLING_PERIOD; - case "no_expiry": - return NO_EXPIRY; case "end_of_trial": return END_OF_TRIAL; + case "no_expiry": + return NO_EXPIRY; default: return new BillingCreditExpiryType(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/BillingCreditGrantReason.java b/src/main/java/com/schematic/api/types/BillingCreditGrantReason.java index 0dd230b..2e93252 100644 --- a/src/main/java/com/schematic/api/types/BillingCreditGrantReason.java +++ b/src/main/java/com/schematic/api/types/BillingCreditGrantReason.java @@ -7,11 +7,11 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class BillingCreditGrantReason { + public static final BillingCreditGrantReason PURCHASED = new BillingCreditGrantReason(Value.PURCHASED, "purchased"); + public static final BillingCreditGrantReason ADJUSTMENT = new BillingCreditGrantReason(Value.ADJUSTMENT, "adjustment"); - public static final BillingCreditGrantReason PURCHASED = new BillingCreditGrantReason(Value.PURCHASED, "purchased"); - public static final BillingCreditGrantReason PLAN = new BillingCreditGrantReason(Value.PLAN, "plan"); public static final BillingCreditGrantReason BILLING_CREDIT_AUTO_TOPUP = @@ -52,10 +52,10 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case ADJUSTMENT: - return visitor.visitAdjustment(); case PURCHASED: return visitor.visitPurchased(); + case ADJUSTMENT: + return visitor.visitAdjustment(); case PLAN: return visitor.visitPlan(); case BILLING_CREDIT_AUTO_TOPUP: @@ -71,10 +71,10 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static BillingCreditGrantReason valueOf(String value) { switch (value) { - case "adjustment": - return ADJUSTMENT; case "purchased": return PURCHASED; + case "adjustment": + return ADJUSTMENT; case "plan": return PLAN; case "billing_credit_auto_topup": diff --git a/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResetCadence.java b/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResetCadence.java index f6b0b88..408e537 100644 --- a/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResetCadence.java +++ b/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResetCadence.java @@ -10,15 +10,15 @@ public final class BillingPlanCreditGrantResetCadence { public static final BillingPlanCreditGrantResetCadence YEARLY = new BillingPlanCreditGrantResetCadence(Value.YEARLY, "yearly"); - public static final BillingPlanCreditGrantResetCadence MONTHLY = - new BillingPlanCreditGrantResetCadence(Value.MONTHLY, "monthly"); - public static final BillingPlanCreditGrantResetCadence DAILY = new BillingPlanCreditGrantResetCadence(Value.DAILY, "daily"); public static final BillingPlanCreditGrantResetCadence WEEKLY = new BillingPlanCreditGrantResetCadence(Value.WEEKLY, "weekly"); + public static final BillingPlanCreditGrantResetCadence MONTHLY = + new BillingPlanCreditGrantResetCadence(Value.MONTHLY, "monthly"); + private final Value value; private final String string; @@ -54,12 +54,12 @@ public T visit(Visitor visitor) { switch (value) { case YEARLY: return visitor.visitYearly(); - case MONTHLY: - return visitor.visitMonthly(); case DAILY: return visitor.visitDaily(); case WEEKLY: return visitor.visitWeekly(); + case MONTHLY: + return visitor.visitMonthly(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -71,12 +71,12 @@ public static BillingPlanCreditGrantResetCadence valueOf(String value) { switch (value) { case "yearly": return YEARLY; - case "monthly": - return MONTHLY; case "daily": return DAILY; case "weekly": return WEEKLY; + case "monthly": + return MONTHLY; default: return new BillingPlanCreditGrantResetCadence(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/CompanyCreditBalanceResponseData.java b/src/main/java/com/schematic/api/types/CompanyCreditBalanceResponseData.java new file mode 100644 index 0000000..6070a6b --- /dev/null +++ b/src/main/java/com/schematic/api/types/CompanyCreditBalanceResponseData.java @@ -0,0 +1,200 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = CompanyCreditBalanceResponseData.Builder.class) +public final class CompanyCreditBalanceResponseData { + private final String creditId; + + private final double remaining; + + private final BillingProviderType source; + + private final Optional total; + + private final Map additionalProperties; + + private CompanyCreditBalanceResponseData( + String creditId, + double remaining, + BillingProviderType source, + Optional total, + Map additionalProperties) { + this.creditId = creditId; + this.remaining = remaining; + this.source = source; + this.total = total; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("credit_id") + public String getCreditId() { + return creditId; + } + + @JsonProperty("remaining") + public double getRemaining() { + return remaining; + } + + @JsonProperty("source") + public BillingProviderType getSource() { + return source; + } + + @JsonProperty("total") + public Optional getTotal() { + return total; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CompanyCreditBalanceResponseData && equalTo((CompanyCreditBalanceResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CompanyCreditBalanceResponseData other) { + return creditId.equals(other.creditId) + && remaining == other.remaining + && source.equals(other.source) + && total.equals(other.total); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.creditId, this.remaining, this.source, this.total); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CreditIdStage builder() { + return new Builder(); + } + + public interface CreditIdStage { + RemainingStage creditId(@NotNull String creditId); + + Builder from(CompanyCreditBalanceResponseData other); + } + + public interface RemainingStage { + SourceStage remaining(double remaining); + } + + public interface SourceStage { + _FinalStage source(@NotNull BillingProviderType source); + } + + public interface _FinalStage { + CompanyCreditBalanceResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage total(Optional total); + + _FinalStage total(Double total); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CreditIdStage, RemainingStage, SourceStage, _FinalStage { + private String creditId; + + private double remaining; + + private BillingProviderType source; + + private Optional total = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CompanyCreditBalanceResponseData other) { + creditId(other.getCreditId()); + remaining(other.getRemaining()); + source(other.getSource()); + total(other.getTotal()); + return this; + } + + @java.lang.Override + @JsonSetter("credit_id") + public RemainingStage creditId(@NotNull String creditId) { + this.creditId = Objects.requireNonNull(creditId, "creditId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("remaining") + public SourceStage remaining(double remaining) { + this.remaining = remaining; + return this; + } + + @java.lang.Override + @JsonSetter("source") + public _FinalStage source(@NotNull BillingProviderType source) { + this.source = Objects.requireNonNull(source, "source must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage total(Double total) { + this.total = Optional.ofNullable(total); + return this; + } + + @java.lang.Override + @JsonSetter(value = "total", nulls = Nulls.SKIP) + public _FinalStage total(Optional total) { + this.total = total; + return this; + } + + @java.lang.Override + public CompanyCreditBalanceResponseData build() { + return new CompanyCreditBalanceResponseData(creditId, remaining, source, total, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/ComparableOperator.java b/src/main/java/com/schematic/api/types/ComparableOperator.java index 5384314..92ad22a 100644 --- a/src/main/java/com/schematic/api/types/ComparableOperator.java +++ b/src/main/java/com/schematic/api/types/ComparableOperator.java @@ -9,20 +9,20 @@ public final class ComparableOperator { public static final ComparableOperator GTE = new ComparableOperator(Value.GTE, "gte"); - public static final ComparableOperator LT = new ComparableOperator(Value.LT, "lt"); - public static final ComparableOperator GT = new ComparableOperator(Value.GT, "gt"); + public static final ComparableOperator LT = new ComparableOperator(Value.LT, "lt"); + public static final ComparableOperator NOT_EMPTY = new ComparableOperator(Value.NOT_EMPTY, "not_empty"); + public static final ComparableOperator IS_EMPTY = new ComparableOperator(Value.IS_EMPTY, "is_empty"); + public static final ComparableOperator EQ = new ComparableOperator(Value.EQ, "eq"); public static final ComparableOperator NE = new ComparableOperator(Value.NE, "ne"); public static final ComparableOperator LTE = new ComparableOperator(Value.LTE, "lte"); - public static final ComparableOperator IS_EMPTY = new ComparableOperator(Value.IS_EMPTY, "is_empty"); - private final Value value; private final String string; @@ -57,20 +57,20 @@ public T visit(Visitor visitor) { switch (value) { case GTE: return visitor.visitGte(); - case LT: - return visitor.visitLt(); case GT: return visitor.visitGt(); + case LT: + return visitor.visitLt(); case NOT_EMPTY: return visitor.visitNotEmpty(); + case IS_EMPTY: + return visitor.visitIsEmpty(); case EQ: return visitor.visitEq(); case NE: return visitor.visitNe(); case LTE: return visitor.visitLte(); - case IS_EMPTY: - return visitor.visitIsEmpty(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -82,20 +82,20 @@ public static ComparableOperator valueOf(String value) { switch (value) { case "gte": return GTE; - case "lt": - return LT; case "gt": return GT; + case "lt": + return LT; case "not_empty": return NOT_EMPTY; + case "is_empty": + return IS_EMPTY; case "eq": return EQ; case "ne": return NE; case "lte": return LTE; - case "is_empty": - return IS_EMPTY; default: return new ComparableOperator(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/ConditionType.java b/src/main/java/com/schematic/api/types/ConditionType.java index 3ae5ab4..f052aaf 100644 --- a/src/main/java/com/schematic/api/types/ConditionType.java +++ b/src/main/java/com/schematic/api/types/ConditionType.java @@ -11,18 +11,18 @@ public final class ConditionType { public static final ConditionType METRIC = new ConditionType(Value.METRIC, "metric"); + public static final ConditionType TRAIT = new ConditionType(Value.TRAIT, "trait"); + public static final ConditionType PLAN = new ConditionType(Value.PLAN, "plan"); public static final ConditionType PLAN_VERSION = new ConditionType(Value.PLAN_VERSION, "plan_version"); - public static final ConditionType TRAIT = new ConditionType(Value.TRAIT, "trait"); + public static final ConditionType USER = new ConditionType(Value.USER, "user"); public static final ConditionType CREDIT = new ConditionType(Value.CREDIT, "credit"); public static final ConditionType BILLING_PRODUCT = new ConditionType(Value.BILLING_PRODUCT, "billing_product"); - public static final ConditionType USER = new ConditionType(Value.USER, "user"); - public static final ConditionType COMPANY = new ConditionType(Value.COMPANY, "company"); private final Value value; @@ -61,18 +61,18 @@ public T visit(Visitor visitor) { return visitor.visitBasePlan(); case METRIC: return visitor.visitMetric(); + case TRAIT: + return visitor.visitTrait(); case PLAN: return visitor.visitPlan(); case PLAN_VERSION: return visitor.visitPlanVersion(); - case TRAIT: - return visitor.visitTrait(); + case USER: + return visitor.visitUser(); case CREDIT: return visitor.visitCredit(); case BILLING_PRODUCT: return visitor.visitBillingProduct(); - case USER: - return visitor.visitUser(); case COMPANY: return visitor.visitCompany(); case UNKNOWN: @@ -88,18 +88,18 @@ public static ConditionType valueOf(String value) { return BASE_PLAN; case "metric": return METRIC; + case "trait": + return TRAIT; case "plan": return PLAN; case "plan_version": return PLAN_VERSION; - case "trait": - return TRAIT; + case "user": + return USER; case "credit": return CREDIT; case "billing_product": return BILLING_PRODUCT; - case "user": - return USER; case "company": return COMPANY; default: diff --git a/src/main/java/com/schematic/api/types/CreditEventType.java b/src/main/java/com/schematic/api/types/CreditEventType.java index 54f8031..e41be09 100644 --- a/src/main/java/com/schematic/api/types/CreditEventType.java +++ b/src/main/java/com/schematic/api/types/CreditEventType.java @@ -7,10 +7,10 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class CreditEventType { - public static final CreditEventType USAGE = new CreditEventType(Value.USAGE, "usage"); - public static final CreditEventType ZERO_OUT = new CreditEventType(Value.ZERO_OUT, "zero_out"); + public static final CreditEventType USAGE = new CreditEventType(Value.USAGE, "usage"); + public static final CreditEventType TRANSFER = new CreditEventType(Value.TRANSFER, "transfer"); public static final CreditEventType GRANT = new CreditEventType(Value.GRANT, "grant"); @@ -47,10 +47,10 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case USAGE: - return visitor.visitUsage(); case ZERO_OUT: return visitor.visitZeroOut(); + case USAGE: + return visitor.visitUsage(); case TRANSFER: return visitor.visitTransfer(); case GRANT: @@ -64,10 +64,10 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static CreditEventType valueOf(String value) { switch (value) { - case "usage": - return USAGE; case "zero_out": return ZERO_OUT; + case "usage": + return USAGE; case "transfer": return TRANSFER; case "grant": diff --git a/src/main/java/com/schematic/api/types/CreditLedgerPeriod.java b/src/main/java/com/schematic/api/types/CreditLedgerPeriod.java index 5c7eaa3..61ff096 100644 --- a/src/main/java/com/schematic/api/types/CreditLedgerPeriod.java +++ b/src/main/java/com/schematic/api/types/CreditLedgerPeriod.java @@ -7,14 +7,14 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class CreditLedgerPeriod { - public static final CreditLedgerPeriod RAW = new CreditLedgerPeriod(Value.RAW, "raw"); - - public static final CreditLedgerPeriod MONTHLY = new CreditLedgerPeriod(Value.MONTHLY, "monthly"); - public static final CreditLedgerPeriod DAILY = new CreditLedgerPeriod(Value.DAILY, "daily"); public static final CreditLedgerPeriod WEEKLY = new CreditLedgerPeriod(Value.WEEKLY, "weekly"); + public static final CreditLedgerPeriod RAW = new CreditLedgerPeriod(Value.RAW, "raw"); + + public static final CreditLedgerPeriod MONTHLY = new CreditLedgerPeriod(Value.MONTHLY, "monthly"); + private final Value value; private final String string; @@ -47,14 +47,14 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case RAW: - return visitor.visitRaw(); - case MONTHLY: - return visitor.visitMonthly(); case DAILY: return visitor.visitDaily(); case WEEKLY: return visitor.visitWeekly(); + case RAW: + return visitor.visitRaw(); + case MONTHLY: + return visitor.visitMonthly(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -64,14 +64,14 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static CreditLedgerPeriod valueOf(String value) { switch (value) { - case "raw": - return RAW; - case "monthly": - return MONTHLY; case "daily": return DAILY; case "weekly": return WEEKLY; + case "raw": + return RAW; + case "monthly": + return MONTHLY; default: return new CreditLedgerPeriod(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/DataExportStatus.java b/src/main/java/com/schematic/api/types/DataExportStatus.java index e250a99..2d4f29a 100644 --- a/src/main/java/com/schematic/api/types/DataExportStatus.java +++ b/src/main/java/com/schematic/api/types/DataExportStatus.java @@ -7,10 +7,10 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class DataExportStatus { - public static final DataExportStatus FAILURE = new DataExportStatus(Value.FAILURE, "failure"); - public static final DataExportStatus SUCCESS = new DataExportStatus(Value.SUCCESS, "success"); + public static final DataExportStatus FAILURE = new DataExportStatus(Value.FAILURE, "failure"); + public static final DataExportStatus PENDING = new DataExportStatus(Value.PENDING, "pending"); private final Value value; @@ -45,10 +45,10 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case FAILURE: - return visitor.visitFailure(); case SUCCESS: return visitor.visitSuccess(); + case FAILURE: + return visitor.visitFailure(); case PENDING: return visitor.visitPending(); case UNKNOWN: @@ -60,10 +60,10 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static DataExportStatus valueOf(String value) { switch (value) { - case "failure": - return FAILURE; case "success": return SUCCESS; + case "failure": + return FAILURE; case "pending": return PENDING; default: diff --git a/src/main/java/com/schematic/api/types/EntitlementPriceBehavior.java b/src/main/java/com/schematic/api/types/EntitlementPriceBehavior.java index bf486e5..9c8671d 100644 --- a/src/main/java/com/schematic/api/types/EntitlementPriceBehavior.java +++ b/src/main/java/com/schematic/api/types/EntitlementPriceBehavior.java @@ -9,17 +9,17 @@ public final class EntitlementPriceBehavior { public static final EntitlementPriceBehavior TIER = new EntitlementPriceBehavior(Value.TIER, "tier"); + public static final EntitlementPriceBehavior OVERAGE = new EntitlementPriceBehavior(Value.OVERAGE, "overage"); + public static final EntitlementPriceBehavior CREDIT_BURNDOWN = new EntitlementPriceBehavior(Value.CREDIT_BURNDOWN, "credit_burndown"); - public static final EntitlementPriceBehavior OVERAGE = new EntitlementPriceBehavior(Value.OVERAGE, "overage"); + public static final EntitlementPriceBehavior PAY_IN_ADVANCE = + new EntitlementPriceBehavior(Value.PAY_IN_ADVANCE, "pay_in_advance"); public static final EntitlementPriceBehavior PAY_AS_YOU_GO = new EntitlementPriceBehavior(Value.PAY_AS_YOU_GO, "pay_as_you_go"); - public static final EntitlementPriceBehavior PAY_IN_ADVANCE = - new EntitlementPriceBehavior(Value.PAY_IN_ADVANCE, "pay_in_advance"); - private final Value value; private final String string; @@ -55,14 +55,14 @@ public T visit(Visitor visitor) { switch (value) { case TIER: return visitor.visitTier(); - case CREDIT_BURNDOWN: - return visitor.visitCreditBurndown(); case OVERAGE: return visitor.visitOverage(); - case PAY_AS_YOU_GO: - return visitor.visitPayAsYouGo(); + case CREDIT_BURNDOWN: + return visitor.visitCreditBurndown(); case PAY_IN_ADVANCE: return visitor.visitPayInAdvance(); + case PAY_AS_YOU_GO: + return visitor.visitPayAsYouGo(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -74,14 +74,14 @@ public static EntitlementPriceBehavior valueOf(String value) { switch (value) { case "tier": return TIER; - case "credit_burndown": - return CREDIT_BURNDOWN; case "overage": return OVERAGE; - case "pay_as_you_go": - return PAY_AS_YOU_GO; + case "credit_burndown": + return CREDIT_BURNDOWN; case "pay_in_advance": return PAY_IN_ADVANCE; + case "pay_as_you_go": + return PAY_AS_YOU_GO; default: return new EntitlementPriceBehavior(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/EntitlementValueType.java b/src/main/java/com/schematic/api/types/EntitlementValueType.java index 44f3df0..6f1aa49 100644 --- a/src/main/java/com/schematic/api/types/EntitlementValueType.java +++ b/src/main/java/com/schematic/api/types/EntitlementValueType.java @@ -11,10 +11,10 @@ public final class EntitlementValueType { public static final EntitlementValueType TRAIT = new EntitlementValueType(Value.TRAIT, "trait"); - public static final EntitlementValueType BOOLEAN = new EntitlementValueType(Value.BOOLEAN, "boolean"); - public static final EntitlementValueType UNKNOWN = new EntitlementValueType(Value.UNKNOWN, "unknown"); + public static final EntitlementValueType BOOLEAN = new EntitlementValueType(Value.BOOLEAN, "boolean"); + public static final EntitlementValueType CREDIT = new EntitlementValueType(Value.CREDIT, "credit"); public static final EntitlementValueType UNLIMITED = new EntitlementValueType(Value.UNLIMITED, "unlimited"); @@ -55,10 +55,10 @@ public T visit(Visitor visitor) { return visitor.visitNumeric(); case TRAIT: return visitor.visitTrait(); - case BOOLEAN: - return visitor.visitBoolean(); case UNKNOWN: return visitor.visitUnknown(); + case BOOLEAN: + return visitor.visitBoolean(); case CREDIT: return visitor.visitCredit(); case UNLIMITED: @@ -76,10 +76,10 @@ public static EntitlementValueType valueOf(String value) { return NUMERIC; case "trait": return TRAIT; - case "boolean": - return BOOLEAN; case "unknown": return UNKNOWN; + case "boolean": + return BOOLEAN; case "credit": return CREDIT; case "unlimited": diff --git a/src/main/java/com/schematic/api/types/EnvironmentFeatureUsageTimeSeriesResponseData.java b/src/main/java/com/schematic/api/types/EnvironmentFeatureUsageTimeSeriesResponseData.java new file mode 100644 index 0000000..cc6edaa --- /dev/null +++ b/src/main/java/com/schematic/api/types/EnvironmentFeatureUsageTimeSeriesResponseData.java @@ -0,0 +1,192 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = EnvironmentFeatureUsageTimeSeriesResponseData.Builder.class) +public final class EnvironmentFeatureUsageTimeSeriesResponseData { + private final String eventSubtype; + + private final String featureId; + + private final List points; + + private final Map additionalProperties; + + private EnvironmentFeatureUsageTimeSeriesResponseData( + String eventSubtype, + String featureId, + List points, + Map additionalProperties) { + this.eventSubtype = eventSubtype; + this.featureId = featureId; + this.points = points; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("event_subtype") + public String getEventSubtype() { + return eventSubtype; + } + + @JsonProperty("feature_id") + public String getFeatureId() { + return featureId; + } + + @JsonProperty("points") + public List getPoints() { + return points; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof EnvironmentFeatureUsageTimeSeriesResponseData + && equalTo((EnvironmentFeatureUsageTimeSeriesResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(EnvironmentFeatureUsageTimeSeriesResponseData other) { + return eventSubtype.equals(other.eventSubtype) + && featureId.equals(other.featureId) + && points.equals(other.points); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.eventSubtype, this.featureId, this.points); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static EventSubtypeStage builder() { + return new Builder(); + } + + public interface EventSubtypeStage { + FeatureIdStage eventSubtype(@NotNull String eventSubtype); + + Builder from(EnvironmentFeatureUsageTimeSeriesResponseData other); + } + + public interface FeatureIdStage { + _FinalStage featureId(@NotNull String featureId); + } + + public interface _FinalStage { + EnvironmentFeatureUsageTimeSeriesResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage points(List points); + + _FinalStage addPoints(EnvironmentUsagePointResponseData points); + + _FinalStage addAllPoints(List points); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements EventSubtypeStage, FeatureIdStage, _FinalStage { + private String eventSubtype; + + private String featureId; + + private List points = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(EnvironmentFeatureUsageTimeSeriesResponseData other) { + eventSubtype(other.getEventSubtype()); + featureId(other.getFeatureId()); + points(other.getPoints()); + return this; + } + + @java.lang.Override + @JsonSetter("event_subtype") + public FeatureIdStage eventSubtype(@NotNull String eventSubtype) { + this.eventSubtype = Objects.requireNonNull(eventSubtype, "eventSubtype must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("feature_id") + public _FinalStage featureId(@NotNull String featureId) { + this.featureId = Objects.requireNonNull(featureId, "featureId must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage addAllPoints(List points) { + if (points != null) { + this.points.addAll(points); + } + return this; + } + + @java.lang.Override + public _FinalStage addPoints(EnvironmentUsagePointResponseData points) { + this.points.add(points); + return this; + } + + @java.lang.Override + @JsonSetter(value = "points", nulls = Nulls.SKIP) + public _FinalStage points(List points) { + this.points.clear(); + if (points != null) { + this.points.addAll(points); + } + return this; + } + + @java.lang.Override + public EnvironmentFeatureUsageTimeSeriesResponseData build() { + return new EnvironmentFeatureUsageTimeSeriesResponseData( + eventSubtype, featureId, points, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/EnvironmentTraitUsageTimeSeriesResponseData.java b/src/main/java/com/schematic/api/types/EnvironmentTraitUsageTimeSeriesResponseData.java new file mode 100644 index 0000000..a660a92 --- /dev/null +++ b/src/main/java/com/schematic/api/types/EnvironmentTraitUsageTimeSeriesResponseData.java @@ -0,0 +1,192 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = EnvironmentTraitUsageTimeSeriesResponseData.Builder.class) +public final class EnvironmentTraitUsageTimeSeriesResponseData { + private final String featureId; + + private final List points; + + private final String traitDefinitionId; + + private final Map additionalProperties; + + private EnvironmentTraitUsageTimeSeriesResponseData( + String featureId, + List points, + String traitDefinitionId, + Map additionalProperties) { + this.featureId = featureId; + this.points = points; + this.traitDefinitionId = traitDefinitionId; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("feature_id") + public String getFeatureId() { + return featureId; + } + + @JsonProperty("points") + public List getPoints() { + return points; + } + + @JsonProperty("trait_definition_id") + public String getTraitDefinitionId() { + return traitDefinitionId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof EnvironmentTraitUsageTimeSeriesResponseData + && equalTo((EnvironmentTraitUsageTimeSeriesResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(EnvironmentTraitUsageTimeSeriesResponseData other) { + return featureId.equals(other.featureId) + && points.equals(other.points) + && traitDefinitionId.equals(other.traitDefinitionId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.featureId, this.points, this.traitDefinitionId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static FeatureIdStage builder() { + return new Builder(); + } + + public interface FeatureIdStage { + TraitDefinitionIdStage featureId(@NotNull String featureId); + + Builder from(EnvironmentTraitUsageTimeSeriesResponseData other); + } + + public interface TraitDefinitionIdStage { + _FinalStage traitDefinitionId(@NotNull String traitDefinitionId); + } + + public interface _FinalStage { + EnvironmentTraitUsageTimeSeriesResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage points(List points); + + _FinalStage addPoints(EnvironmentUsagePointResponseData points); + + _FinalStage addAllPoints(List points); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements FeatureIdStage, TraitDefinitionIdStage, _FinalStage { + private String featureId; + + private String traitDefinitionId; + + private List points = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(EnvironmentTraitUsageTimeSeriesResponseData other) { + featureId(other.getFeatureId()); + points(other.getPoints()); + traitDefinitionId(other.getTraitDefinitionId()); + return this; + } + + @java.lang.Override + @JsonSetter("feature_id") + public TraitDefinitionIdStage featureId(@NotNull String featureId) { + this.featureId = Objects.requireNonNull(featureId, "featureId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("trait_definition_id") + public _FinalStage traitDefinitionId(@NotNull String traitDefinitionId) { + this.traitDefinitionId = Objects.requireNonNull(traitDefinitionId, "traitDefinitionId must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage addAllPoints(List points) { + if (points != null) { + this.points.addAll(points); + } + return this; + } + + @java.lang.Override + public _FinalStage addPoints(EnvironmentUsagePointResponseData points) { + this.points.add(points); + return this; + } + + @java.lang.Override + @JsonSetter(value = "points", nulls = Nulls.SKIP) + public _FinalStage points(List points) { + this.points.clear(); + if (points != null) { + this.points.addAll(points); + } + return this; + } + + @java.lang.Override + public EnvironmentTraitUsageTimeSeriesResponseData build() { + return new EnvironmentTraitUsageTimeSeriesResponseData( + featureId, points, traitDefinitionId, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/EnvironmentUsagePointResponseData.java b/src/main/java/com/schematic/api/types/EnvironmentUsagePointResponseData.java new file mode 100644 index 0000000..dd4699a --- /dev/null +++ b/src/main/java/com/schematic/api/types/EnvironmentUsagePointResponseData.java @@ -0,0 +1,142 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = EnvironmentUsagePointResponseData.Builder.class) +public final class EnvironmentUsagePointResponseData { + private final OffsetDateTime timestamp; + + private final long usage; + + private final Map additionalProperties; + + private EnvironmentUsagePointResponseData( + OffsetDateTime timestamp, long usage, Map additionalProperties) { + this.timestamp = timestamp; + this.usage = usage; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("timestamp") + public OffsetDateTime getTimestamp() { + return timestamp; + } + + @JsonProperty("usage") + public long getUsage() { + return usage; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof EnvironmentUsagePointResponseData && equalTo((EnvironmentUsagePointResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(EnvironmentUsagePointResponseData other) { + return timestamp.equals(other.timestamp) && usage == other.usage; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.timestamp, this.usage); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static TimestampStage builder() { + return new Builder(); + } + + public interface TimestampStage { + UsageStage timestamp(@NotNull OffsetDateTime timestamp); + + Builder from(EnvironmentUsagePointResponseData other); + } + + public interface UsageStage { + _FinalStage usage(long usage); + } + + public interface _FinalStage { + EnvironmentUsagePointResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements TimestampStage, UsageStage, _FinalStage { + private OffsetDateTime timestamp; + + private long usage; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(EnvironmentUsagePointResponseData other) { + timestamp(other.getTimestamp()); + usage(other.getUsage()); + return this; + } + + @java.lang.Override + @JsonSetter("timestamp") + public UsageStage timestamp(@NotNull OffsetDateTime timestamp) { + this.timestamp = Objects.requireNonNull(timestamp, "timestamp must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("usage") + public _FinalStage usage(long usage) { + this.usage = usage; + return this; + } + + @java.lang.Override + public EnvironmentUsagePointResponseData build() { + return new EnvironmentUsagePointResponseData(timestamp, usage, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/EventBody.java b/src/main/java/com/schematic/api/types/EventBody.java index 9f05eb4..81af484 100644 --- a/src/main/java/com/schematic/api/types/EventBody.java +++ b/src/main/java/com/schematic/api/types/EventBody.java @@ -11,6 +11,7 @@ import com.fasterxml.jackson.databind.deser.std.StdDeserializer; import com.schematic.api.core.ObjectMappers; import java.io.IOException; +import java.util.Map; import java.util.Objects; @JsonDeserialize(using = EventBody.Deserializer.class) @@ -89,17 +90,26 @@ static final class Deserializer extends StdDeserializer { @java.lang.Override public EventBody deserialize(JsonParser p, DeserializationContext context) throws IOException { Object value = p.readValueAs(Object.class); - try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, EventBodyTrack.class)); - } catch (RuntimeException e) { + if (value instanceof Map && ((Map) value).containsKey("event")) { + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, EventBodyTrack.class)); + } catch (RuntimeException e) { + } } - try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, EventBodyFlagCheck.class)); - } catch (RuntimeException e) { + if (value instanceof Map + && ((Map) value).containsKey("flag_key") + && ((Map) value).containsKey("reason") + && ((Map) value).containsKey("value")) { + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, EventBodyFlagCheck.class)); + } catch (RuntimeException e) { + } } - try { - return of(ObjectMappers.JSON_MAPPER.convertValue(value, EventBodyIdentify.class)); - } catch (RuntimeException e) { + if (value instanceof Map && ((Map) value).containsKey("keys")) { + try { + return of(ObjectMappers.JSON_MAPPER.convertValue(value, EventBodyIdentify.class)); + } catch (RuntimeException e) { + } } throw new JsonParseException(p, "Failed to deserialize"); } diff --git a/src/main/java/com/schematic/api/types/EventStatus.java b/src/main/java/com/schematic/api/types/EventStatus.java index f84a72e..1f6065d 100644 --- a/src/main/java/com/schematic/api/types/EventStatus.java +++ b/src/main/java/com/schematic/api/types/EventStatus.java @@ -13,10 +13,10 @@ public final class EventStatus { public static final EventStatus UNKNOWN = new EventStatus(Value.UNKNOWN, "unknown"); - public static final EventStatus PROCESSED = new EventStatus(Value.PROCESSED, "processed"); - public static final EventStatus ENRICHED = new EventStatus(Value.ENRICHED, "enriched"); + public static final EventStatus PROCESSED = new EventStatus(Value.PROCESSED, "processed"); + private final Value value; private final String string; @@ -54,10 +54,10 @@ public T visit(Visitor visitor) { return visitor.visitPending(); case UNKNOWN: return visitor.visitUnknown(); - case PROCESSED: - return visitor.visitProcessed(); case ENRICHED: return visitor.visitEnriched(); + case PROCESSED: + return visitor.visitProcessed(); case _UNKNOWN: default: return visitor.visitUnknown(string); @@ -73,10 +73,10 @@ public static EventStatus valueOf(String value) { return PENDING; case "unknown": return UNKNOWN; - case "processed": - return PROCESSED; case "enriched": return ENRICHED; + case "processed": + return PROCESSED; default: return new EventStatus(Value._UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/FeatureLifecyclePhase.java b/src/main/java/com/schematic/api/types/FeatureLifecyclePhase.java index dec872e..9e0fa8d 100644 --- a/src/main/java/com/schematic/api/types/FeatureLifecyclePhase.java +++ b/src/main/java/com/schematic/api/types/FeatureLifecyclePhase.java @@ -15,15 +15,15 @@ public final class FeatureLifecyclePhase { public static final FeatureLifecyclePhase INACTIVE = new FeatureLifecyclePhase(Value.INACTIVE, "inactive"); + public static final FeatureLifecyclePhase INTERNAL_TESTING = + new FeatureLifecyclePhase(Value.INTERNAL_TESTING, "internal_testing"); + public static final FeatureLifecyclePhase ADD_ON = new FeatureLifecyclePhase(Value.ADD_ON, "add_on"); public static final FeatureLifecyclePhase DEPRECATED = new FeatureLifecyclePhase(Value.DEPRECATED, "deprecated"); public static final FeatureLifecyclePhase LEGACY = new FeatureLifecyclePhase(Value.LEGACY, "legacy"); - public static final FeatureLifecyclePhase INTERNAL_TESTING = - new FeatureLifecyclePhase(Value.INTERNAL_TESTING, "internal_testing"); - public static final FeatureLifecyclePhase IN_PLAN = new FeatureLifecyclePhase(Value.IN_PLAN, "in_plan"); private final Value value; @@ -67,14 +67,14 @@ public T visit(Visitor visitor) { return visitor.visitBeta(); case INACTIVE: return visitor.visitInactive(); + case INTERNAL_TESTING: + return visitor.visitInternalTesting(); case ADD_ON: return visitor.visitAddOn(); case DEPRECATED: return visitor.visitDeprecated(); case LEGACY: return visitor.visitLegacy(); - case INTERNAL_TESTING: - return visitor.visitInternalTesting(); case IN_PLAN: return visitor.visitInPlan(); case UNKNOWN: @@ -94,14 +94,14 @@ public static FeatureLifecyclePhase valueOf(String value) { return BETA; case "inactive": return INACTIVE; + case "internal_testing": + return INTERNAL_TESTING; case "add_on": return ADD_ON; case "deprecated": return DEPRECATED; case "legacy": return LEGACY; - case "internal_testing": - return INTERNAL_TESTING; case "in_plan": return IN_PLAN; default: diff --git a/src/main/java/com/schematic/api/types/InsightsSummaryResponseData.java b/src/main/java/com/schematic/api/types/InsightsSummaryResponseData.java new file mode 100644 index 0000000..f7e1944 --- /dev/null +++ b/src/main/java/com/schematic/api/types/InsightsSummaryResponseData.java @@ -0,0 +1,274 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = InsightsSummaryResponseData.Builder.class) +public final class InsightsSummaryResponseData { + private final double activeCredits; + + private final List mrr; + + private final long paidCompanies; + + private final long totalCompanies; + + private final long totalFeatures; + + private final long totalPlans; + + private final Map additionalProperties; + + private InsightsSummaryResponseData( + double activeCredits, + List mrr, + long paidCompanies, + long totalCompanies, + long totalFeatures, + long totalPlans, + Map additionalProperties) { + this.activeCredits = activeCredits; + this.mrr = mrr; + this.paidCompanies = paidCompanies; + this.totalCompanies = totalCompanies; + this.totalFeatures = totalFeatures; + this.totalPlans = totalPlans; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("active_credits") + public double getActiveCredits() { + return activeCredits; + } + + @JsonProperty("mrr") + public List getMrr() { + return mrr; + } + + @JsonProperty("paid_companies") + public long getPaidCompanies() { + return paidCompanies; + } + + @JsonProperty("total_companies") + public long getTotalCompanies() { + return totalCompanies; + } + + @JsonProperty("total_features") + public long getTotalFeatures() { + return totalFeatures; + } + + @JsonProperty("total_plans") + public long getTotalPlans() { + return totalPlans; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof InsightsSummaryResponseData && equalTo((InsightsSummaryResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(InsightsSummaryResponseData other) { + return activeCredits == other.activeCredits + && mrr.equals(other.mrr) + && paidCompanies == other.paidCompanies + && totalCompanies == other.totalCompanies + && totalFeatures == other.totalFeatures + && totalPlans == other.totalPlans; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.activeCredits, + this.mrr, + this.paidCompanies, + this.totalCompanies, + this.totalFeatures, + this.totalPlans); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ActiveCreditsStage builder() { + return new Builder(); + } + + public interface ActiveCreditsStage { + PaidCompaniesStage activeCredits(double activeCredits); + + Builder from(InsightsSummaryResponseData other); + } + + public interface PaidCompaniesStage { + TotalCompaniesStage paidCompanies(long paidCompanies); + } + + public interface TotalCompaniesStage { + TotalFeaturesStage totalCompanies(long totalCompanies); + } + + public interface TotalFeaturesStage { + TotalPlansStage totalFeatures(long totalFeatures); + } + + public interface TotalPlansStage { + _FinalStage totalPlans(long totalPlans); + } + + public interface _FinalStage { + InsightsSummaryResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage mrr(List mrr); + + _FinalStage addMrr(MrrResponseData mrr); + + _FinalStage addAllMrr(List mrr); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements ActiveCreditsStage, + PaidCompaniesStage, + TotalCompaniesStage, + TotalFeaturesStage, + TotalPlansStage, + _FinalStage { + private double activeCredits; + + private long paidCompanies; + + private long totalCompanies; + + private long totalFeatures; + + private long totalPlans; + + private List mrr = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(InsightsSummaryResponseData other) { + activeCredits(other.getActiveCredits()); + mrr(other.getMrr()); + paidCompanies(other.getPaidCompanies()); + totalCompanies(other.getTotalCompanies()); + totalFeatures(other.getTotalFeatures()); + totalPlans(other.getTotalPlans()); + return this; + } + + @java.lang.Override + @JsonSetter("active_credits") + public PaidCompaniesStage activeCredits(double activeCredits) { + this.activeCredits = activeCredits; + return this; + } + + @java.lang.Override + @JsonSetter("paid_companies") + public TotalCompaniesStage paidCompanies(long paidCompanies) { + this.paidCompanies = paidCompanies; + return this; + } + + @java.lang.Override + @JsonSetter("total_companies") + public TotalFeaturesStage totalCompanies(long totalCompanies) { + this.totalCompanies = totalCompanies; + return this; + } + + @java.lang.Override + @JsonSetter("total_features") + public TotalPlansStage totalFeatures(long totalFeatures) { + this.totalFeatures = totalFeatures; + return this; + } + + @java.lang.Override + @JsonSetter("total_plans") + public _FinalStage totalPlans(long totalPlans) { + this.totalPlans = totalPlans; + return this; + } + + @java.lang.Override + public _FinalStage addAllMrr(List mrr) { + if (mrr != null) { + this.mrr.addAll(mrr); + } + return this; + } + + @java.lang.Override + public _FinalStage addMrr(MrrResponseData mrr) { + this.mrr.add(mrr); + return this; + } + + @java.lang.Override + @JsonSetter(value = "mrr", nulls = Nulls.SKIP) + public _FinalStage mrr(List mrr) { + this.mrr.clear(); + if (mrr != null) { + this.mrr.addAll(mrr); + } + return this; + } + + @java.lang.Override + public InsightsSummaryResponseData build() { + return new InsightsSummaryResponseData( + activeCredits, mrr, paidCompanies, totalCompanies, totalFeatures, totalPlans, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/InvoiceStatus.java b/src/main/java/com/schematic/api/types/InvoiceStatus.java index 335ceff..c634151 100644 --- a/src/main/java/com/schematic/api/types/InvoiceStatus.java +++ b/src/main/java/com/schematic/api/types/InvoiceStatus.java @@ -7,16 +7,16 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class InvoiceStatus { + public static final InvoiceStatus VOID = new InvoiceStatus(Value.VOID, "void"); + public static final InvoiceStatus PAID = new InvoiceStatus(Value.PAID, "paid"); + public static final InvoiceStatus DRAFT = new InvoiceStatus(Value.DRAFT, "draft"); + public static final InvoiceStatus UNCOLLECTIBLE = new InvoiceStatus(Value.UNCOLLECTIBLE, "uncollectible"); public static final InvoiceStatus OPEN = new InvoiceStatus(Value.OPEN, "open"); - public static final InvoiceStatus VOID = new InvoiceStatus(Value.VOID, "void"); - - public static final InvoiceStatus DRAFT = new InvoiceStatus(Value.DRAFT, "draft"); - private final Value value; private final String string; @@ -49,16 +49,16 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { + case VOID: + return visitor.visitVoid(); case PAID: return visitor.visitPaid(); + case DRAFT: + return visitor.visitDraft(); case UNCOLLECTIBLE: return visitor.visitUncollectible(); case OPEN: return visitor.visitOpen(); - case VOID: - return visitor.visitVoid(); - case DRAFT: - return visitor.visitDraft(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -68,16 +68,16 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static InvoiceStatus valueOf(String value) { switch (value) { + case "void": + return VOID; case "paid": return PAID; + case "draft": + return DRAFT; case "uncollectible": return UNCOLLECTIBLE; case "open": return OPEN; - case "void": - return VOID; - case "draft": - return DRAFT; default: return new InvoiceStatus(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/MetricPeriod.java b/src/main/java/com/schematic/api/types/MetricPeriod.java index 2b9443c..ab77dfc 100644 --- a/src/main/java/com/schematic/api/types/MetricPeriod.java +++ b/src/main/java/com/schematic/api/types/MetricPeriod.java @@ -9,10 +9,10 @@ public final class MetricPeriod { public static final MetricPeriod CURRENT_DAY = new MetricPeriod(Value.CURRENT_DAY, "current_day"); - public static final MetricPeriod ALL_TIME = new MetricPeriod(Value.ALL_TIME, "all_time"); - public static final MetricPeriod CURRENT_WEEK = new MetricPeriod(Value.CURRENT_WEEK, "current_week"); + public static final MetricPeriod ALL_TIME = new MetricPeriod(Value.ALL_TIME, "all_time"); + public static final MetricPeriod CURRENT_MONTH = new MetricPeriod(Value.CURRENT_MONTH, "current_month"); private final Value value; @@ -48,10 +48,10 @@ public T visit(Visitor visitor) { switch (value) { case CURRENT_DAY: return visitor.visitCurrentDay(); - case ALL_TIME: - return visitor.visitAllTime(); case CURRENT_WEEK: return visitor.visitCurrentWeek(); + case ALL_TIME: + return visitor.visitAllTime(); case CURRENT_MONTH: return visitor.visitCurrentMonth(); case UNKNOWN: @@ -65,10 +65,10 @@ public static MetricPeriod valueOf(String value) { switch (value) { case "current_day": return CURRENT_DAY; - case "all_time": - return ALL_TIME; case "current_week": return CURRENT_WEEK; + case "all_time": + return ALL_TIME; case "current_month": return CURRENT_MONTH; default: diff --git a/src/main/java/com/schematic/api/types/MrrResponseData.java b/src/main/java/com/schematic/api/types/MrrResponseData.java new file mode 100644 index 0000000..9441292 --- /dev/null +++ b/src/main/java/com/schematic/api/types/MrrResponseData.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = MrrResponseData.Builder.class) +public final class MrrResponseData { + private final long amount; + + private final String currency; + + private final Map additionalProperties; + + private MrrResponseData(long amount, String currency, Map additionalProperties) { + this.amount = amount; + this.currency = currency; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("amount") + public long getAmount() { + return amount; + } + + @JsonProperty("currency") + public String getCurrency() { + return currency; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof MrrResponseData && equalTo((MrrResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(MrrResponseData other) { + return amount == other.amount && currency.equals(other.currency); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.amount, this.currency); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static AmountStage builder() { + return new Builder(); + } + + public interface AmountStage { + CurrencyStage amount(long amount); + + Builder from(MrrResponseData other); + } + + public interface CurrencyStage { + _FinalStage currency(@NotNull String currency); + } + + public interface _FinalStage { + MrrResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements AmountStage, CurrencyStage, _FinalStage { + private long amount; + + private String currency; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(MrrResponseData other) { + amount(other.getAmount()); + currency(other.getCurrency()); + return this; + } + + @java.lang.Override + @JsonSetter("amount") + public CurrencyStage amount(long amount) { + this.amount = amount; + return this; + } + + @java.lang.Override + @JsonSetter("currency") + public _FinalStage currency(@NotNull String currency) { + this.currency = Objects.requireNonNull(currency, "currency must not be null"); + return this; + } + + @java.lang.Override + public MrrResponseData build() { + return new MrrResponseData(amount, currency, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/PlanChangeAction.java b/src/main/java/com/schematic/api/types/PlanChangeAction.java index cdaf97d..6e733ce 100644 --- a/src/main/java/com/schematic/api/types/PlanChangeAction.java +++ b/src/main/java/com/schematic/api/types/PlanChangeAction.java @@ -7,19 +7,12 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class PlanChangeAction { - public static final PlanChangeAction PLAN_VERSION_MIGRATION = - new PlanChangeAction(Value.PLAN_VERSION_MIGRATION, "plan_version_migration"); - public static final PlanChangeAction CHECKOUT = new PlanChangeAction(Value.CHECKOUT, "checkout"); public static final PlanChangeAction MIGRATION = new PlanChangeAction(Value.MIGRATION, "migration"); - public static final PlanChangeAction COMPANY_UPSERT = new PlanChangeAction(Value.COMPANY_UPSERT, "company_upsert"); - - public static final PlanChangeAction PLAN_BILLING_PRODUCT_CHANGED = - new PlanChangeAction(Value.PLAN_BILLING_PRODUCT_CHANGED, "plan_billing_product_changed"); - - public static final PlanChangeAction FALLBACK_PLAN = new PlanChangeAction(Value.FALLBACK_PLAN, "fallback_plan"); + public static final PlanChangeAction PLAN_VERSION_MIGRATION = + new PlanChangeAction(Value.PLAN_VERSION_MIGRATION, "plan_version_migration"); public static final PlanChangeAction SUBSCRIPTION_CHANGE = new PlanChangeAction(Value.SUBSCRIPTION_CHANGE, "subscription_change"); @@ -28,11 +21,18 @@ public final class PlanChangeAction { public static final PlanChangeAction QUICKSTART = new PlanChangeAction(Value.QUICKSTART, "quickstart"); - public static final PlanChangeAction MANAGE_PLAN = new PlanChangeAction(Value.MANAGE_PLAN, "manage_plan"); + public static final PlanChangeAction COMPANY_UPSERT = new PlanChangeAction(Value.COMPANY_UPSERT, "company_upsert"); + + public static final PlanChangeAction PLAN_BILLING_PRODUCT_CHANGED = + new PlanChangeAction(Value.PLAN_BILLING_PRODUCT_CHANGED, "plan_billing_product_changed"); + + public static final PlanChangeAction FALLBACK_PLAN = new PlanChangeAction(Value.FALLBACK_PLAN, "fallback_plan"); public static final PlanChangeAction PLAN_TRAIT_CHANGE = new PlanChangeAction(Value.PLAN_TRAIT_CHANGE, "plan_trait_change"); + public static final PlanChangeAction MANAGE_PLAN = new PlanChangeAction(Value.MANAGE_PLAN, "manage_plan"); + private final Value value; private final String string; @@ -65,28 +65,28 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case PLAN_VERSION_MIGRATION: - return visitor.visitPlanVersionMigration(); case CHECKOUT: return visitor.visitCheckout(); case MIGRATION: return visitor.visitMigration(); - case COMPANY_UPSERT: - return visitor.visitCompanyUpsert(); - case PLAN_BILLING_PRODUCT_CHANGED: - return visitor.visitPlanBillingProductChanged(); - case FALLBACK_PLAN: - return visitor.visitFallbackPlan(); + case PLAN_VERSION_MIGRATION: + return visitor.visitPlanVersionMigration(); case SUBSCRIPTION_CHANGE: return visitor.visitSubscriptionChange(); case PLAN_DELETED: return visitor.visitPlanDeleted(); case QUICKSTART: return visitor.visitQuickstart(); - case MANAGE_PLAN: - return visitor.visitManagePlan(); + case COMPANY_UPSERT: + return visitor.visitCompanyUpsert(); + case PLAN_BILLING_PRODUCT_CHANGED: + return visitor.visitPlanBillingProductChanged(); + case FALLBACK_PLAN: + return visitor.visitFallbackPlan(); case PLAN_TRAIT_CHANGE: return visitor.visitPlanTraitChange(); + case MANAGE_PLAN: + return visitor.visitManagePlan(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -96,28 +96,28 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static PlanChangeAction valueOf(String value) { switch (value) { - case "plan_version_migration": - return PLAN_VERSION_MIGRATION; case "checkout": return CHECKOUT; case "migration": return MIGRATION; - case "company_upsert": - return COMPANY_UPSERT; - case "plan_billing_product_changed": - return PLAN_BILLING_PRODUCT_CHANGED; - case "fallback_plan": - return FALLBACK_PLAN; + case "plan_version_migration": + return PLAN_VERSION_MIGRATION; case "subscription_change": return SUBSCRIPTION_CHANGE; case "plan_deleted": return PLAN_DELETED; case "quickstart": return QUICKSTART; - case "manage_plan": - return MANAGE_PLAN; + case "company_upsert": + return COMPANY_UPSERT; + case "plan_billing_product_changed": + return PLAN_BILLING_PRODUCT_CHANGED; + case "fallback_plan": + return FALLBACK_PLAN; case "plan_trait_change": return PLAN_TRAIT_CHANGE; + case "manage_plan": + return MANAGE_PLAN; default: return new PlanChangeAction(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/PlanChangeSubscriptionAction.java b/src/main/java/com/schematic/api/types/PlanChangeSubscriptionAction.java index 057352e..f505848 100644 --- a/src/main/java/com/schematic/api/types/PlanChangeSubscriptionAction.java +++ b/src/main/java/com/schematic/api/types/PlanChangeSubscriptionAction.java @@ -7,15 +7,15 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class PlanChangeSubscriptionAction { - public static final PlanChangeSubscriptionAction ADJUSTMENT = - new PlanChangeSubscriptionAction(Value.ADJUSTMENT, "adjustment"); - public static final PlanChangeSubscriptionAction DOWNGRADE = new PlanChangeSubscriptionAction(Value.DOWNGRADE, "downgrade"); public static final PlanChangeSubscriptionAction INVALID = new PlanChangeSubscriptionAction(Value.INVALID, "invalid"); + public static final PlanChangeSubscriptionAction ADJUSTMENT = + new PlanChangeSubscriptionAction(Value.ADJUSTMENT, "adjustment"); + public static final PlanChangeSubscriptionAction UNSUBSCRIBE = new PlanChangeSubscriptionAction(Value.UNSUBSCRIBE, "unsubscribe"); @@ -61,12 +61,12 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case ADJUSTMENT: - return visitor.visitAdjustment(); case DOWNGRADE: return visitor.visitDowngrade(); case INVALID: return visitor.visitInvalid(); + case ADJUSTMENT: + return visitor.visitAdjustment(); case UNSUBSCRIBE: return visitor.visitUnsubscribe(); case SUBSCRIBE: @@ -84,12 +84,12 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static PlanChangeSubscriptionAction valueOf(String value) { switch (value) { - case "adjustment": - return ADJUSTMENT; case "downgrade": return DOWNGRADE; case "invalid": return INVALID; + case "adjustment": + return ADJUSTMENT; case "unsubscribe": return UNSUBSCRIBE; case "subscribe": diff --git a/src/main/java/com/schematic/api/types/PlanGrowthPointResponseData.java b/src/main/java/com/schematic/api/types/PlanGrowthPointResponseData.java new file mode 100644 index 0000000..43e8741 --- /dev/null +++ b/src/main/java/com/schematic/api/types/PlanGrowthPointResponseData.java @@ -0,0 +1,193 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = PlanGrowthPointResponseData.Builder.class) +public final class PlanGrowthPointResponseData { + private final OffsetDateTime month; + + private final String planId; + + private final String planName; + + private final long subscribers; + + private final Map additionalProperties; + + private PlanGrowthPointResponseData( + OffsetDateTime month, + String planId, + String planName, + long subscribers, + Map additionalProperties) { + this.month = month; + this.planId = planId; + this.planName = planName; + this.subscribers = subscribers; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("month") + public OffsetDateTime getMonth() { + return month; + } + + @JsonProperty("plan_id") + public String getPlanId() { + return planId; + } + + @JsonProperty("plan_name") + public String getPlanName() { + return planName; + } + + @JsonProperty("subscribers") + public long getSubscribers() { + return subscribers; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PlanGrowthPointResponseData && equalTo((PlanGrowthPointResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PlanGrowthPointResponseData other) { + return month.equals(other.month) + && planId.equals(other.planId) + && planName.equals(other.planName) + && subscribers == other.subscribers; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.month, this.planId, this.planName, this.subscribers); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static MonthStage builder() { + return new Builder(); + } + + public interface MonthStage { + PlanIdStage month(@NotNull OffsetDateTime month); + + Builder from(PlanGrowthPointResponseData other); + } + + public interface PlanIdStage { + PlanNameStage planId(@NotNull String planId); + } + + public interface PlanNameStage { + SubscribersStage planName(@NotNull String planName); + } + + public interface SubscribersStage { + _FinalStage subscribers(long subscribers); + } + + public interface _FinalStage { + PlanGrowthPointResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements MonthStage, PlanIdStage, PlanNameStage, SubscribersStage, _FinalStage { + private OffsetDateTime month; + + private String planId; + + private String planName; + + private long subscribers; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(PlanGrowthPointResponseData other) { + month(other.getMonth()); + planId(other.getPlanId()); + planName(other.getPlanName()); + subscribers(other.getSubscribers()); + return this; + } + + @java.lang.Override + @JsonSetter("month") + public PlanIdStage month(@NotNull OffsetDateTime month) { + this.month = Objects.requireNonNull(month, "month must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("plan_id") + public PlanNameStage planId(@NotNull String planId) { + this.planId = Objects.requireNonNull(planId, "planId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("plan_name") + public SubscribersStage planName(@NotNull String planName) { + this.planName = Objects.requireNonNull(planName, "planName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("subscribers") + public _FinalStage subscribers(long subscribers) { + this.subscribers = subscribers; + return this; + } + + @java.lang.Override + public PlanGrowthPointResponseData build() { + return new PlanGrowthPointResponseData(month, planId, planName, subscribers, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/PlanGrowthResponseData.java b/src/main/java/com/schematic/api/types/PlanGrowthResponseData.java new file mode 100644 index 0000000..01351cc --- /dev/null +++ b/src/main/java/com/schematic/api/types/PlanGrowthResponseData.java @@ -0,0 +1,116 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = PlanGrowthResponseData.Builder.class) +public final class PlanGrowthResponseData { + private final List points; + + private final Map additionalProperties; + + private PlanGrowthResponseData(List points, Map additionalProperties) { + this.points = points; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("points") + public List getPoints() { + return points; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof PlanGrowthResponseData && equalTo((PlanGrowthResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(PlanGrowthResponseData other) { + return points.equals(other.points); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.points); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private List points = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(PlanGrowthResponseData other) { + points(other.getPoints()); + return this; + } + + @JsonSetter(value = "points", nulls = Nulls.SKIP) + public Builder points(List points) { + this.points.clear(); + if (points != null) { + this.points.addAll(points); + } + return this; + } + + public Builder addPoints(PlanGrowthPointResponseData points) { + this.points.add(points); + return this; + } + + public Builder addAllPoints(List points) { + if (points != null) { + this.points.addAll(points); + } + return this; + } + + public PlanGrowthResponseData build() { + return new PlanGrowthResponseData(points, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/PlanIcon.java b/src/main/java/com/schematic/api/types/PlanIcon.java index 5179bf4..301a492 100644 --- a/src/main/java/com/schematic/api/types/PlanIcon.java +++ b/src/main/java/com/schematic/api/types/PlanIcon.java @@ -11,10 +11,10 @@ public final class PlanIcon { public static final PlanIcon EMERALD = new PlanIcon(Value.EMERALD, "emerald"); - public static final PlanIcon BLUE_GRAY = new PlanIcon(Value.BLUE_GRAY, "blueGray"); - public static final PlanIcon YELLOW = new PlanIcon(Value.YELLOW, "yellow"); + public static final PlanIcon BLUE_GRAY = new PlanIcon(Value.BLUE_GRAY, "blueGray"); + public static final PlanIcon LIME = new PlanIcon(Value.LIME, "lime"); public static final PlanIcon SKY = new PlanIcon(Value.SKY, "sky"); @@ -29,28 +29,28 @@ public final class PlanIcon { public static final PlanIcon VIOLET = new PlanIcon(Value.VIOLET, "violet"); - public static final PlanIcon BLUE_GREEN = new PlanIcon(Value.BLUE_GREEN, "blueGreen"); - public static final PlanIcon WARM_GRAY = new PlanIcon(Value.WARM_GRAY, "warmGray"); - public static final PlanIcon GREEN = new PlanIcon(Value.GREEN, "green"); + public static final PlanIcon BLUE_GREEN = new PlanIcon(Value.BLUE_GREEN, "blueGreen"); public static final PlanIcon LIGHT_BLUE = new PlanIcon(Value.LIGHT_BLUE, "lightBlue"); - public static final PlanIcon TEAL = new PlanIcon(Value.TEAL, "teal"); + public static final PlanIcon GREEN = new PlanIcon(Value.GREEN, "green"); public static final PlanIcon ORANGE = new PlanIcon(Value.ORANGE, "orange"); public static final PlanIcon PINK = new PlanIcon(Value.PINK, "pink"); - public static final PlanIcon RED_ORANGE = new PlanIcon(Value.RED_ORANGE, "redOrange"); - - public static final PlanIcon TRUE_GRAY = new PlanIcon(Value.TRUE_GRAY, "trueGray"); + public static final PlanIcon TEAL = new PlanIcon(Value.TEAL, "teal"); public static final PlanIcon INDIGO = new PlanIcon(Value.INDIGO, "indigo"); public static final PlanIcon SLATE = new PlanIcon(Value.SLATE, "slate"); + public static final PlanIcon RED_ORANGE = new PlanIcon(Value.RED_ORANGE, "redOrange"); + + public static final PlanIcon TRUE_GRAY = new PlanIcon(Value.TRUE_GRAY, "trueGray"); + public static final PlanIcon AMBER = new PlanIcon(Value.AMBER, "amber"); public static final PlanIcon RED = new PlanIcon(Value.RED, "red"); @@ -92,10 +92,10 @@ public T visit(Visitor visitor) { return visitor.visitFuchsia(); case EMERALD: return visitor.visitEmerald(); - case BLUE_GRAY: - return visitor.visitBlueGray(); case YELLOW: return visitor.visitYellow(); + case BLUE_GRAY: + return visitor.visitBlueGray(); case LIME: return visitor.visitLime(); case SKY: @@ -110,28 +110,28 @@ public T visit(Visitor visitor) { return visitor.visitBlue(); case VIOLET: return visitor.visitViolet(); - case BLUE_GREEN: - return visitor.visitBlueGreen(); case WARM_GRAY: return visitor.visitWarmGray(); - case GREEN: - return visitor.visitGreen(); + case BLUE_GREEN: + return visitor.visitBlueGreen(); case LIGHT_BLUE: return visitor.visitLightBlue(); - case TEAL: - return visitor.visitTeal(); + case GREEN: + return visitor.visitGreen(); case ORANGE: return visitor.visitOrange(); case PINK: return visitor.visitPink(); - case RED_ORANGE: - return visitor.visitRedOrange(); - case TRUE_GRAY: - return visitor.visitTrueGray(); + case TEAL: + return visitor.visitTeal(); case INDIGO: return visitor.visitIndigo(); case SLATE: return visitor.visitSlate(); + case RED_ORANGE: + return visitor.visitRedOrange(); + case TRUE_GRAY: + return visitor.visitTrueGray(); case AMBER: return visitor.visitAmber(); case RED: @@ -151,10 +151,10 @@ public static PlanIcon valueOf(String value) { return FUCHSIA; case "emerald": return EMERALD; - case "blueGray": - return BLUE_GRAY; case "yellow": return YELLOW; + case "blueGray": + return BLUE_GRAY; case "lime": return LIME; case "sky": @@ -169,28 +169,28 @@ public static PlanIcon valueOf(String value) { return BLUE; case "violet": return VIOLET; - case "blueGreen": - return BLUE_GREEN; case "warmGray": return WARM_GRAY; - case "green": - return GREEN; + case "blueGreen": + return BLUE_GREEN; case "lightBlue": return LIGHT_BLUE; - case "teal": - return TEAL; + case "green": + return GREEN; case "orange": return ORANGE; case "pink": return PINK; - case "redOrange": - return RED_ORANGE; - case "trueGray": - return TRUE_GRAY; + case "teal": + return TEAL; case "indigo": return INDIGO; case "slate": return SLATE; + case "redOrange": + return RED_ORANGE; + case "trueGray": + return TRUE_GRAY; case "amber": return AMBER; case "red": diff --git a/src/main/java/com/schematic/api/types/PlanVersionCompanyMigrationStatus.java b/src/main/java/com/schematic/api/types/PlanVersionCompanyMigrationStatus.java index d397813..460d25f 100644 --- a/src/main/java/com/schematic/api/types/PlanVersionCompanyMigrationStatus.java +++ b/src/main/java/com/schematic/api/types/PlanVersionCompanyMigrationStatus.java @@ -13,15 +13,15 @@ public final class PlanVersionCompanyMigrationStatus { public static final PlanVersionCompanyMigrationStatus FAILED = new PlanVersionCompanyMigrationStatus(Value.FAILED, "failed"); - public static final PlanVersionCompanyMigrationStatus COMPLETED = - new PlanVersionCompanyMigrationStatus(Value.COMPLETED, "completed"); - public static final PlanVersionCompanyMigrationStatus IN_PROGRESS = new PlanVersionCompanyMigrationStatus(Value.IN_PROGRESS, "in_progress"); public static final PlanVersionCompanyMigrationStatus PENDING = new PlanVersionCompanyMigrationStatus(Value.PENDING, "pending"); + public static final PlanVersionCompanyMigrationStatus COMPLETED = + new PlanVersionCompanyMigrationStatus(Value.COMPLETED, "completed"); + private final Value value; private final String string; @@ -59,12 +59,12 @@ public T visit(Visitor visitor) { return visitor.visitSkipped(); case FAILED: return visitor.visitFailed(); - case COMPLETED: - return visitor.visitCompleted(); case IN_PROGRESS: return visitor.visitInProgress(); case PENDING: return visitor.visitPending(); + case COMPLETED: + return visitor.visitCompleted(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -78,12 +78,12 @@ public static PlanVersionCompanyMigrationStatus valueOf(String value) { return SKIPPED; case "failed": return FAILED; - case "completed": - return COMPLETED; case "in_progress": return IN_PROGRESS; case "pending": return PENDING; + case "completed": + return COMPLETED; default: return new PlanVersionCompanyMigrationStatus(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/PlanVersionMigrationStatus.java b/src/main/java/com/schematic/api/types/PlanVersionMigrationStatus.java index 87bd011..f0c7f53 100644 --- a/src/main/java/com/schematic/api/types/PlanVersionMigrationStatus.java +++ b/src/main/java/com/schematic/api/types/PlanVersionMigrationStatus.java @@ -9,14 +9,14 @@ public final class PlanVersionMigrationStatus { public static final PlanVersionMigrationStatus FAILED = new PlanVersionMigrationStatus(Value.FAILED, "failed"); - public static final PlanVersionMigrationStatus COMPLETED = - new PlanVersionMigrationStatus(Value.COMPLETED, "completed"); - public static final PlanVersionMigrationStatus IN_PROGRESS = new PlanVersionMigrationStatus(Value.IN_PROGRESS, "in_progress"); public static final PlanVersionMigrationStatus PENDING = new PlanVersionMigrationStatus(Value.PENDING, "pending"); + public static final PlanVersionMigrationStatus COMPLETED = + new PlanVersionMigrationStatus(Value.COMPLETED, "completed"); + private final Value value; private final String string; @@ -52,12 +52,12 @@ public T visit(Visitor visitor) { switch (value) { case FAILED: return visitor.visitFailed(); - case COMPLETED: - return visitor.visitCompleted(); case IN_PROGRESS: return visitor.visitInProgress(); case PENDING: return visitor.visitPending(); + case COMPLETED: + return visitor.visitCompleted(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -69,12 +69,12 @@ public static PlanVersionMigrationStatus valueOf(String value) { switch (value) { case "failed": return FAILED; - case "completed": - return COMPLETED; case "in_progress": return IN_PROGRESS; case "pending": return PENDING; + case "completed": + return COMPLETED; default: return new PlanVersionMigrationStatus(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/PlanVersionStatus.java b/src/main/java/com/schematic/api/types/PlanVersionStatus.java index 77bac99..1c6fe62 100644 --- a/src/main/java/com/schematic/api/types/PlanVersionStatus.java +++ b/src/main/java/com/schematic/api/types/PlanVersionStatus.java @@ -9,10 +9,10 @@ public final class PlanVersionStatus { public static final PlanVersionStatus PUBLISHED = new PlanVersionStatus(Value.PUBLISHED, "published"); - public static final PlanVersionStatus ARCHIVED = new PlanVersionStatus(Value.ARCHIVED, "archived"); - public static final PlanVersionStatus DRAFT = new PlanVersionStatus(Value.DRAFT, "draft"); + public static final PlanVersionStatus ARCHIVED = new PlanVersionStatus(Value.ARCHIVED, "archived"); + private final Value value; private final String string; @@ -47,10 +47,10 @@ public T visit(Visitor visitor) { switch (value) { case PUBLISHED: return visitor.visitPublished(); - case ARCHIVED: - return visitor.visitArchived(); case DRAFT: return visitor.visitDraft(); + case ARCHIVED: + return visitor.visitArchived(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -62,10 +62,10 @@ public static PlanVersionStatus valueOf(String value) { switch (value) { case "published": return PUBLISHED; - case "archived": - return ARCHIVED; case "draft": return DRAFT; + case "archived": + return ARCHIVED; default: return new PlanVersionStatus(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/RuleType.java b/src/main/java/com/schematic/api/types/RuleType.java index ecea297..871f2c1 100644 --- a/src/main/java/com/schematic/api/types/RuleType.java +++ b/src/main/java/com/schematic/api/types/RuleType.java @@ -7,20 +7,20 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class RuleType { - public static final RuleType GLOBAL_OVERRIDE = new RuleType(Value.GLOBAL_OVERRIDE, "global_override"); - public static final RuleType COMPANY_OVERRIDE = new RuleType(Value.COMPANY_OVERRIDE, "company_override"); public static final RuleType COMPANY_OVERRIDE_USAGE_EXCEEDED = new RuleType(Value.COMPANY_OVERRIDE_USAGE_EXCEEDED, "company_override_usage_exceeded"); + public static final RuleType GLOBAL_OVERRIDE = new RuleType(Value.GLOBAL_OVERRIDE, "global_override"); + + public static final RuleType DEFAULT = new RuleType(Value.DEFAULT, "default"); + public static final RuleType PLAN_ENTITLEMENT_USAGE_EXCEEDED = new RuleType(Value.PLAN_ENTITLEMENT_USAGE_EXCEEDED, "plan_entitlement_usage_exceeded"); public static final RuleType STANDARD = new RuleType(Value.STANDARD, "standard"); - public static final RuleType DEFAULT = new RuleType(Value.DEFAULT, "default"); - public static final RuleType PLAN_ENTITLEMENT = new RuleType(Value.PLAN_ENTITLEMENT, "plan_entitlement"); private final Value value; @@ -54,18 +54,18 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case GLOBAL_OVERRIDE: - return visitor.visitGlobalOverride(); case COMPANY_OVERRIDE: return visitor.visitCompanyOverride(); case COMPANY_OVERRIDE_USAGE_EXCEEDED: return visitor.visitCompanyOverrideUsageExceeded(); + case GLOBAL_OVERRIDE: + return visitor.visitGlobalOverride(); + case DEFAULT: + return visitor.visitDefault(); case PLAN_ENTITLEMENT_USAGE_EXCEEDED: return visitor.visitPlanEntitlementUsageExceeded(); case STANDARD: return visitor.visitStandard(); - case DEFAULT: - return visitor.visitDefault(); case PLAN_ENTITLEMENT: return visitor.visitPlanEntitlement(); case UNKNOWN: @@ -77,18 +77,18 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static RuleType valueOf(String value) { switch (value) { - case "global_override": - return GLOBAL_OVERRIDE; case "company_override": return COMPANY_OVERRIDE; case "company_override_usage_exceeded": return COMPANY_OVERRIDE_USAGE_EXCEEDED; + case "global_override": + return GLOBAL_OVERRIDE; + case "default": + return DEFAULT; case "plan_entitlement_usage_exceeded": return PLAN_ENTITLEMENT_USAGE_EXCEEDED; case "standard": return STANDARD; - case "default": - return DEFAULT; case "plan_entitlement": return PLAN_ENTITLEMENT; default: diff --git a/src/main/java/com/schematic/api/types/RulesengineConditionType.java b/src/main/java/com/schematic/api/types/RulesengineConditionType.java index 7676404..d1be651 100644 --- a/src/main/java/com/schematic/api/types/RulesengineConditionType.java +++ b/src/main/java/com/schematic/api/types/RulesengineConditionType.java @@ -11,20 +11,20 @@ public final class RulesengineConditionType { public static final RulesengineConditionType METRIC = new RulesengineConditionType(Value.METRIC, "metric"); + public static final RulesengineConditionType TRAIT = new RulesengineConditionType(Value.TRAIT, "trait"); + public static final RulesengineConditionType PLAN = new RulesengineConditionType(Value.PLAN, "plan"); public static final RulesengineConditionType PLAN_VERSION = new RulesengineConditionType(Value.PLAN_VERSION, "plan_version"); - public static final RulesengineConditionType TRAIT = new RulesengineConditionType(Value.TRAIT, "trait"); + public static final RulesengineConditionType USER = new RulesengineConditionType(Value.USER, "user"); public static final RulesengineConditionType CREDIT = new RulesengineConditionType(Value.CREDIT, "credit"); public static final RulesengineConditionType BILLING_PRODUCT = new RulesengineConditionType(Value.BILLING_PRODUCT, "billing_product"); - public static final RulesengineConditionType USER = new RulesengineConditionType(Value.USER, "user"); - public static final RulesengineConditionType COMPANY = new RulesengineConditionType(Value.COMPANY, "company"); private final Value value; @@ -64,18 +64,18 @@ public T visit(Visitor visitor) { return visitor.visitBasePlan(); case METRIC: return visitor.visitMetric(); + case TRAIT: + return visitor.visitTrait(); case PLAN: return visitor.visitPlan(); case PLAN_VERSION: return visitor.visitPlanVersion(); - case TRAIT: - return visitor.visitTrait(); + case USER: + return visitor.visitUser(); case CREDIT: return visitor.visitCredit(); case BILLING_PRODUCT: return visitor.visitBillingProduct(); - case USER: - return visitor.visitUser(); case COMPANY: return visitor.visitCompany(); case UNKNOWN: @@ -91,18 +91,18 @@ public static RulesengineConditionType valueOf(String value) { return BASE_PLAN; case "metric": return METRIC; + case "trait": + return TRAIT; case "plan": return PLAN; case "plan_version": return PLAN_VERSION; - case "trait": - return TRAIT; + case "user": + return USER; case "credit": return CREDIT; case "billing_product": return BILLING_PRODUCT; - case "user": - return USER; case "company": return COMPANY; default: diff --git a/src/main/java/com/schematic/api/types/RulesengineEntitlementValueType.java b/src/main/java/com/schematic/api/types/RulesengineEntitlementValueType.java index 3003b13..87879f2 100644 --- a/src/main/java/com/schematic/api/types/RulesengineEntitlementValueType.java +++ b/src/main/java/com/schematic/api/types/RulesengineEntitlementValueType.java @@ -13,12 +13,12 @@ public final class RulesengineEntitlementValueType { public static final RulesengineEntitlementValueType TRAIT = new RulesengineEntitlementValueType(Value.TRAIT, "trait"); - public static final RulesengineEntitlementValueType BOOLEAN = - new RulesengineEntitlementValueType(Value.BOOLEAN, "boolean"); - public static final RulesengineEntitlementValueType UNKNOWN = new RulesengineEntitlementValueType(Value.UNKNOWN, "unknown"); + public static final RulesengineEntitlementValueType BOOLEAN = + new RulesengineEntitlementValueType(Value.BOOLEAN, "boolean"); + public static final RulesengineEntitlementValueType CREDIT = new RulesengineEntitlementValueType(Value.CREDIT, "credit"); @@ -62,10 +62,10 @@ public T visit(Visitor visitor) { return visitor.visitNumeric(); case TRAIT: return visitor.visitTrait(); - case BOOLEAN: - return visitor.visitBoolean(); case UNKNOWN: return visitor.visitUnknown(); + case BOOLEAN: + return visitor.visitBoolean(); case CREDIT: return visitor.visitCredit(); case UNLIMITED: @@ -83,10 +83,10 @@ public static RulesengineEntitlementValueType valueOf(String value) { return NUMERIC; case "trait": return TRAIT; - case "boolean": - return BOOLEAN; case "unknown": return UNKNOWN; + case "boolean": + return BOOLEAN; case "credit": return CREDIT; case "unlimited": diff --git a/src/main/java/com/schematic/api/types/RulesengineMetricPeriod.java b/src/main/java/com/schematic/api/types/RulesengineMetricPeriod.java index a37dbed..b9f66ff 100644 --- a/src/main/java/com/schematic/api/types/RulesengineMetricPeriod.java +++ b/src/main/java/com/schematic/api/types/RulesengineMetricPeriod.java @@ -10,11 +10,11 @@ public final class RulesengineMetricPeriod { public static final RulesengineMetricPeriod CURRENT_DAY = new RulesengineMetricPeriod(Value.CURRENT_DAY, "current_day"); - public static final RulesengineMetricPeriod ALL_TIME = new RulesengineMetricPeriod(Value.ALL_TIME, "all_time"); - public static final RulesengineMetricPeriod CURRENT_WEEK = new RulesengineMetricPeriod(Value.CURRENT_WEEK, "current_week"); + public static final RulesengineMetricPeriod ALL_TIME = new RulesengineMetricPeriod(Value.ALL_TIME, "all_time"); + public static final RulesengineMetricPeriod CURRENT_MONTH = new RulesengineMetricPeriod(Value.CURRENT_MONTH, "current_month"); @@ -53,10 +53,10 @@ public T visit(Visitor visitor) { switch (value) { case CURRENT_DAY: return visitor.visitCurrentDay(); - case ALL_TIME: - return visitor.visitAllTime(); case CURRENT_WEEK: return visitor.visitCurrentWeek(); + case ALL_TIME: + return visitor.visitAllTime(); case CURRENT_MONTH: return visitor.visitCurrentMonth(); case UNKNOWN: @@ -70,10 +70,10 @@ public static RulesengineMetricPeriod valueOf(String value) { switch (value) { case "current_day": return CURRENT_DAY; - case "all_time": - return ALL_TIME; case "current_week": return CURRENT_WEEK; + case "all_time": + return ALL_TIME; case "current_month": return CURRENT_MONTH; default: diff --git a/src/main/java/com/schematic/api/types/RulesengineRuleType.java b/src/main/java/com/schematic/api/types/RulesengineRuleType.java index ff804de..08eecc6 100644 --- a/src/main/java/com/schematic/api/types/RulesengineRuleType.java +++ b/src/main/java/com/schematic/api/types/RulesengineRuleType.java @@ -7,22 +7,22 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class RulesengineRuleType { - public static final RulesengineRuleType GLOBAL_OVERRIDE = - new RulesengineRuleType(Value.GLOBAL_OVERRIDE, "global_override"); - public static final RulesengineRuleType COMPANY_OVERRIDE = new RulesengineRuleType(Value.COMPANY_OVERRIDE, "company_override"); public static final RulesengineRuleType COMPANY_OVERRIDE_USAGE_EXCEEDED = new RulesengineRuleType(Value.COMPANY_OVERRIDE_USAGE_EXCEEDED, "company_override_usage_exceeded"); + public static final RulesengineRuleType GLOBAL_OVERRIDE = + new RulesengineRuleType(Value.GLOBAL_OVERRIDE, "global_override"); + + public static final RulesengineRuleType DEFAULT = new RulesengineRuleType(Value.DEFAULT, "default"); + public static final RulesengineRuleType PLAN_ENTITLEMENT_USAGE_EXCEEDED = new RulesengineRuleType(Value.PLAN_ENTITLEMENT_USAGE_EXCEEDED, "plan_entitlement_usage_exceeded"); public static final RulesengineRuleType STANDARD = new RulesengineRuleType(Value.STANDARD, "standard"); - public static final RulesengineRuleType DEFAULT = new RulesengineRuleType(Value.DEFAULT, "default"); - public static final RulesengineRuleType PLAN_ENTITLEMENT = new RulesengineRuleType(Value.PLAN_ENTITLEMENT, "plan_entitlement"); @@ -58,18 +58,18 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case GLOBAL_OVERRIDE: - return visitor.visitGlobalOverride(); case COMPANY_OVERRIDE: return visitor.visitCompanyOverride(); case COMPANY_OVERRIDE_USAGE_EXCEEDED: return visitor.visitCompanyOverrideUsageExceeded(); + case GLOBAL_OVERRIDE: + return visitor.visitGlobalOverride(); + case DEFAULT: + return visitor.visitDefault(); case PLAN_ENTITLEMENT_USAGE_EXCEEDED: return visitor.visitPlanEntitlementUsageExceeded(); case STANDARD: return visitor.visitStandard(); - case DEFAULT: - return visitor.visitDefault(); case PLAN_ENTITLEMENT: return visitor.visitPlanEntitlement(); case UNKNOWN: @@ -81,18 +81,18 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static RulesengineRuleType valueOf(String value) { switch (value) { - case "global_override": - return GLOBAL_OVERRIDE; case "company_override": return COMPANY_OVERRIDE; case "company_override_usage_exceeded": return COMPANY_OVERRIDE_USAGE_EXCEEDED; + case "global_override": + return GLOBAL_OVERRIDE; + case "default": + return DEFAULT; case "plan_entitlement_usage_exceeded": return PLAN_ENTITLEMENT_USAGE_EXCEEDED; case "standard": return STANDARD; - case "default": - return DEFAULT; case "plan_entitlement": return PLAN_ENTITLEMENT; default: diff --git a/src/main/java/com/schematic/api/types/SubscriptionStatus.java b/src/main/java/com/schematic/api/types/SubscriptionStatus.java index 27d1d07..cdd6fa7 100644 --- a/src/main/java/com/schematic/api/types/SubscriptionStatus.java +++ b/src/main/java/com/schematic/api/types/SubscriptionStatus.java @@ -11,11 +11,13 @@ public final class SubscriptionStatus { public static final SubscriptionStatus CANCELED = new SubscriptionStatus(Value.CANCELED, "canceled"); + public static final SubscriptionStatus EXPIRED = new SubscriptionStatus(Value.EXPIRED, "expired"); + public static final SubscriptionStatus INCOMPLETE = new SubscriptionStatus(Value.INCOMPLETE, "incomplete"); public static final SubscriptionStatus PAUSED = new SubscriptionStatus(Value.PAUSED, "paused"); - public static final SubscriptionStatus EXPIRED = new SubscriptionStatus(Value.EXPIRED, "expired"); + public static final SubscriptionStatus TRIALING = new SubscriptionStatus(Value.TRIALING, "trialing"); public static final SubscriptionStatus INCOMPLETE_EXPIRED = new SubscriptionStatus(Value.INCOMPLETE_EXPIRED, "incomplete_expired"); @@ -24,8 +26,6 @@ public final class SubscriptionStatus { public static final SubscriptionStatus UNPAID = new SubscriptionStatus(Value.UNPAID, "unpaid"); - public static final SubscriptionStatus TRIALING = new SubscriptionStatus(Value.TRIALING, "trialing"); - private final Value value; private final String string; @@ -62,20 +62,20 @@ public T visit(Visitor visitor) { return visitor.visitPastDue(); case CANCELED: return visitor.visitCanceled(); + case EXPIRED: + return visitor.visitExpired(); case INCOMPLETE: return visitor.visitIncomplete(); case PAUSED: return visitor.visitPaused(); - case EXPIRED: - return visitor.visitExpired(); + case TRIALING: + return visitor.visitTrialing(); case INCOMPLETE_EXPIRED: return visitor.visitIncompleteExpired(); case ACTIVE: return visitor.visitActive(); case UNPAID: return visitor.visitUnpaid(); - case TRIALING: - return visitor.visitTrialing(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -89,20 +89,20 @@ public static SubscriptionStatus valueOf(String value) { return PAST_DUE; case "canceled": return CANCELED; + case "expired": + return EXPIRED; case "incomplete": return INCOMPLETE; case "paused": return PAUSED; - case "expired": - return EXPIRED; + case "trialing": + return TRIALING; case "incomplete_expired": return INCOMPLETE_EXPIRED; case "active": return ACTIVE; case "unpaid": return UNPAID; - case "trialing": - return TRIALING; default: return new SubscriptionStatus(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/SubscriptionType.java b/src/main/java/com/schematic/api/types/SubscriptionType.java index ebba3be..82a56ab 100644 --- a/src/main/java/com/schematic/api/types/SubscriptionType.java +++ b/src/main/java/com/schematic/api/types/SubscriptionType.java @@ -7,14 +7,14 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class SubscriptionType { + public static final SubscriptionType PAID = new SubscriptionType(Value.PAID, "paid"); + public static final SubscriptionType TRIAL = new SubscriptionType(Value.TRIAL, "trial"); public static final SubscriptionType FREE = new SubscriptionType(Value.FREE, "free"); public static final SubscriptionType ONE_TIME = new SubscriptionType(Value.ONE_TIME, "one_time"); - public static final SubscriptionType PAID = new SubscriptionType(Value.PAID, "paid"); - private final Value value; private final String string; @@ -47,14 +47,14 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { + case PAID: + return visitor.visitPaid(); case TRIAL: return visitor.visitTrial(); case FREE: return visitor.visitFree(); case ONE_TIME: return visitor.visitOneTime(); - case PAID: - return visitor.visitPaid(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -64,14 +64,14 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static SubscriptionType valueOf(String value) { switch (value) { + case "paid": + return PAID; case "trial": return TRIAL; case "free": return FREE; case "one_time": return ONE_TIME; - case "paid": - return PAID; default: return new SubscriptionType(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/TimeSeriesGranularity.java b/src/main/java/com/schematic/api/types/TimeSeriesGranularity.java index 4ff11e3..1cf3efd 100644 --- a/src/main/java/com/schematic/api/types/TimeSeriesGranularity.java +++ b/src/main/java/com/schematic/api/types/TimeSeriesGranularity.java @@ -9,12 +9,12 @@ public final class TimeSeriesGranularity { public static final TimeSeriesGranularity HOURLY = new TimeSeriesGranularity(Value.HOURLY, "hourly"); - public static final TimeSeriesGranularity MONTHLY = new TimeSeriesGranularity(Value.MONTHLY, "monthly"); - public static final TimeSeriesGranularity DAILY = new TimeSeriesGranularity(Value.DAILY, "daily"); public static final TimeSeriesGranularity WEEKLY = new TimeSeriesGranularity(Value.WEEKLY, "weekly"); + public static final TimeSeriesGranularity MONTHLY = new TimeSeriesGranularity(Value.MONTHLY, "monthly"); + private final Value value; private final String string; @@ -50,12 +50,12 @@ public T visit(Visitor visitor) { switch (value) { case HOURLY: return visitor.visitHourly(); - case MONTHLY: - return visitor.visitMonthly(); case DAILY: return visitor.visitDaily(); case WEEKLY: return visitor.visitWeekly(); + case MONTHLY: + return visitor.visitMonthly(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -67,12 +67,12 @@ public static TimeSeriesGranularity valueOf(String value) { switch (value) { case "hourly": return HOURLY; - case "monthly": - return MONTHLY; case "daily": return DAILY; case "weekly": return WEEKLY; + case "monthly": + return MONTHLY; default: return new TimeSeriesGranularity(Value.UNKNOWN, value); } diff --git a/src/main/java/com/schematic/api/types/TopFeatureByUsageResponseData.java b/src/main/java/com/schematic/api/types/TopFeatureByUsageResponseData.java new file mode 100644 index 0000000..1fbb530 --- /dev/null +++ b/src/main/java/com/schematic/api/types/TopFeatureByUsageResponseData.java @@ -0,0 +1,257 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TopFeatureByUsageResponseData.Builder.class) +public final class TopFeatureByUsageResponseData { + private final Optional changePct; + + private final String featureId; + + private final String featureName; + + private final Optional pluralName; + + private final long priorUsage; + + private final long usage; + + private final Map additionalProperties; + + private TopFeatureByUsageResponseData( + Optional changePct, + String featureId, + String featureName, + Optional pluralName, + long priorUsage, + long usage, + Map additionalProperties) { + this.changePct = changePct; + this.featureId = featureId; + this.featureName = featureName; + this.pluralName = pluralName; + this.priorUsage = priorUsage; + this.usage = usage; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("change_pct") + public Optional getChangePct() { + return changePct; + } + + @JsonProperty("feature_id") + public String getFeatureId() { + return featureId; + } + + @JsonProperty("feature_name") + public String getFeatureName() { + return featureName; + } + + @JsonProperty("plural_name") + public Optional getPluralName() { + return pluralName; + } + + @JsonProperty("prior_usage") + public long getPriorUsage() { + return priorUsage; + } + + @JsonProperty("usage") + public long getUsage() { + return usage; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TopFeatureByUsageResponseData && equalTo((TopFeatureByUsageResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TopFeatureByUsageResponseData other) { + return changePct.equals(other.changePct) + && featureId.equals(other.featureId) + && featureName.equals(other.featureName) + && pluralName.equals(other.pluralName) + && priorUsage == other.priorUsage + && usage == other.usage; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.changePct, this.featureId, this.featureName, this.pluralName, this.priorUsage, this.usage); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static FeatureIdStage builder() { + return new Builder(); + } + + public interface FeatureIdStage { + FeatureNameStage featureId(@NotNull String featureId); + + Builder from(TopFeatureByUsageResponseData other); + } + + public interface FeatureNameStage { + PriorUsageStage featureName(@NotNull String featureName); + } + + public interface PriorUsageStage { + UsageStage priorUsage(long priorUsage); + } + + public interface UsageStage { + _FinalStage usage(long usage); + } + + public interface _FinalStage { + TopFeatureByUsageResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage changePct(Optional changePct); + + _FinalStage changePct(Double changePct); + + _FinalStage pluralName(Optional pluralName); + + _FinalStage pluralName(String pluralName); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements FeatureIdStage, FeatureNameStage, PriorUsageStage, UsageStage, _FinalStage { + private String featureId; + + private String featureName; + + private long priorUsage; + + private long usage; + + private Optional pluralName = Optional.empty(); + + private Optional changePct = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TopFeatureByUsageResponseData other) { + changePct(other.getChangePct()); + featureId(other.getFeatureId()); + featureName(other.getFeatureName()); + pluralName(other.getPluralName()); + priorUsage(other.getPriorUsage()); + usage(other.getUsage()); + return this; + } + + @java.lang.Override + @JsonSetter("feature_id") + public FeatureNameStage featureId(@NotNull String featureId) { + this.featureId = Objects.requireNonNull(featureId, "featureId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("feature_name") + public PriorUsageStage featureName(@NotNull String featureName) { + this.featureName = Objects.requireNonNull(featureName, "featureName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("prior_usage") + public UsageStage priorUsage(long priorUsage) { + this.priorUsage = priorUsage; + return this; + } + + @java.lang.Override + @JsonSetter("usage") + public _FinalStage usage(long usage) { + this.usage = usage; + return this; + } + + @java.lang.Override + public _FinalStage pluralName(String pluralName) { + this.pluralName = Optional.ofNullable(pluralName); + return this; + } + + @java.lang.Override + @JsonSetter(value = "plural_name", nulls = Nulls.SKIP) + public _FinalStage pluralName(Optional pluralName) { + this.pluralName = pluralName; + return this; + } + + @java.lang.Override + public _FinalStage changePct(Double changePct) { + this.changePct = Optional.ofNullable(changePct); + return this; + } + + @java.lang.Override + @JsonSetter(value = "change_pct", nulls = Nulls.SKIP) + public _FinalStage changePct(Optional changePct) { + this.changePct = changePct; + return this; + } + + @java.lang.Override + public TopFeatureByUsageResponseData build() { + return new TopFeatureByUsageResponseData( + changePct, featureId, featureName, pluralName, priorUsage, usage, additionalProperties); + } + + @java.lang.Override + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + @java.lang.Override + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/TopFeaturesByUsageResponseData.java b/src/main/java/com/schematic/api/types/TopFeaturesByUsageResponseData.java new file mode 100644 index 0000000..d967501 --- /dev/null +++ b/src/main/java/com/schematic/api/types/TopFeaturesByUsageResponseData.java @@ -0,0 +1,117 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSetter; +import com.fasterxml.jackson.annotation.Nulls; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.schematic.api.core.ObjectMappers; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TopFeaturesByUsageResponseData.Builder.class) +public final class TopFeaturesByUsageResponseData { + private final List features; + + private final Map additionalProperties; + + private TopFeaturesByUsageResponseData( + List features, Map additionalProperties) { + this.features = features; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("features") + public List getFeatures() { + return features; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TopFeaturesByUsageResponseData && equalTo((TopFeaturesByUsageResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TopFeaturesByUsageResponseData other) { + return features.equals(other.features); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.features); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private List features = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(TopFeaturesByUsageResponseData other) { + features(other.getFeatures()); + return this; + } + + @JsonSetter(value = "features", nulls = Nulls.SKIP) + public Builder features(List features) { + this.features.clear(); + if (features != null) { + this.features.addAll(features); + } + return this; + } + + public Builder addFeatures(TopFeatureByUsageResponseData features) { + this.features.add(features); + return this; + } + + public Builder addAllFeatures(List features) { + if (features != null) { + this.features.addAll(features); + } + return this; + } + + public TopFeaturesByUsageResponseData build() { + return new TopFeaturesByUsageResponseData(features, additionalProperties); + } + + public Builder additionalProperty(String key, Object value) { + this.additionalProperties.put(key, value); + return this; + } + + public Builder additionalProperties(Map additionalProperties) { + this.additionalProperties.putAll(additionalProperties); + return this; + } + } +} diff --git a/src/main/java/com/schematic/api/types/WebhookEventStatus.java b/src/main/java/com/schematic/api/types/WebhookEventStatus.java index 82605f5..450b094 100644 --- a/src/main/java/com/schematic/api/types/WebhookEventStatus.java +++ b/src/main/java/com/schematic/api/types/WebhookEventStatus.java @@ -7,10 +7,10 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class WebhookEventStatus { - public static final WebhookEventStatus FAILURE = new WebhookEventStatus(Value.FAILURE, "failure"); - public static final WebhookEventStatus SUCCESS = new WebhookEventStatus(Value.SUCCESS, "success"); + public static final WebhookEventStatus FAILURE = new WebhookEventStatus(Value.FAILURE, "failure"); + public static final WebhookEventStatus PENDING = new WebhookEventStatus(Value.PENDING, "pending"); private final Value value; @@ -45,10 +45,10 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case FAILURE: - return visitor.visitFailure(); case SUCCESS: return visitor.visitSuccess(); + case FAILURE: + return visitor.visitFailure(); case PENDING: return visitor.visitPending(); case UNKNOWN: @@ -60,10 +60,10 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static WebhookEventStatus valueOf(String value) { switch (value) { - case "failure": - return FAILURE; case "success": return SUCCESS; + case "failure": + return FAILURE; case "pending": return PENDING; default: diff --git a/src/main/java/com/schematic/api/types/WebhookRequestType.java b/src/main/java/com/schematic/api/types/WebhookRequestType.java index 1007a2c..f66067e 100644 --- a/src/main/java/com/schematic/api/types/WebhookRequestType.java +++ b/src/main/java/com/schematic/api/types/WebhookRequestType.java @@ -7,8 +7,7 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class WebhookRequestType { - public static final WebhookRequestType AUTO_TOPUP_HARD_FAILURE = - new WebhookRequestType(Value.AUTO_TOPUP_HARD_FAILURE, "auto.topup.hard.failure"); + public static final WebhookRequestType FLAG_UPDATED = new WebhookRequestType(Value.FLAG_UPDATED, "flag.updated"); public static final WebhookRequestType AUTO_TOPUP_RETRY_EXCEEDED = new WebhookRequestType(Value.AUTO_TOPUP_RETRY_EXCEEDED, "auto.topup.retry.exceeded"); @@ -16,89 +15,88 @@ public final class WebhookRequestType { public static final WebhookRequestType COMPANY_DELETED = new WebhookRequestType(Value.COMPANY_DELETED, "company.deleted"); + public static final WebhookRequestType FLAG_RULES_UPDATED = + new WebhookRequestType(Value.FLAG_RULES_UPDATED, "flag_rules.updated"); + public static final WebhookRequestType COMPANY_OVERRIDE_UPDATED = new WebhookRequestType(Value.COMPANY_OVERRIDE_UPDATED, "company.override.updated"); - public static final WebhookRequestType FLAG_UPDATED = new WebhookRequestType(Value.FLAG_UPDATED, "flag.updated"); - - public static final WebhookRequestType FEATURE_UPDATED = - new WebhookRequestType(Value.FEATURE_UPDATED, "feature.updated"); + public static final WebhookRequestType PLAN_DELETED = new WebhookRequestType(Value.PLAN_DELETED, "plan.deleted"); - public static final WebhookRequestType FLAG_RULES_UPDATED = - new WebhookRequestType(Value.FLAG_RULES_UPDATED, "flag_rules.updated"); + public static final WebhookRequestType PLAN_ENTITLEMENT_CREATED = + new WebhookRequestType(Value.PLAN_ENTITLEMENT_CREATED, "plan.entitlement.created"); public static final WebhookRequestType USER_UPDATED = new WebhookRequestType(Value.USER_UPDATED, "user.updated"); - public static final WebhookRequestType PLAN_DELETED = new WebhookRequestType(Value.PLAN_DELETED, "plan.deleted"); + public static final WebhookRequestType AUTO_TOPUP_HARD_FAILURE = + new WebhookRequestType(Value.AUTO_TOPUP_HARD_FAILURE, "auto.topup.hard.failure"); public static final WebhookRequestType COMPANY_OVERRIDE_DELETED = new WebhookRequestType(Value.COMPANY_OVERRIDE_DELETED, "company.override.deleted"); - public static final WebhookRequestType PLAN_ENTITLEMENT_UPDATED = - new WebhookRequestType(Value.PLAN_ENTITLEMENT_UPDATED, "plan.entitlement.updated"); - - public static final WebhookRequestType RULE_DELETED = new WebhookRequestType(Value.RULE_DELETED, "rule.deleted"); - public static final WebhookRequestType USER_CREATED = new WebhookRequestType(Value.USER_CREATED, "user.created"); - public static final WebhookRequestType FEATURE_DELETED = - new WebhookRequestType(Value.FEATURE_DELETED, "feature.deleted"); - - public static final WebhookRequestType CREDIT_LIMIT_REACHED = - new WebhookRequestType(Value.CREDIT_LIMIT_REACHED, "credit.limit.reached"); - - public static final WebhookRequestType ENTITLEMENT_SOFT_LIMIT_REACHED = - new WebhookRequestType(Value.ENTITLEMENT_SOFT_LIMIT_REACHED, "entitlement.soft_limit.reached"); + public static final WebhookRequestType FEATURE_CREATED = + new WebhookRequestType(Value.FEATURE_CREATED, "feature.created"); - public static final WebhookRequestType SUBSCRIPTION_TRIAL_ENDED = - new WebhookRequestType(Value.SUBSCRIPTION_TRIAL_ENDED, "subscription.trial.ended"); + public static final WebhookRequestType RULE_DELETED = new WebhookRequestType(Value.RULE_DELETED, "rule.deleted"); public static final WebhookRequestType ENTITLEMENT_LIMIT_REACHED = new WebhookRequestType(Value.ENTITLEMENT_LIMIT_REACHED, "entitlement.limit.reached"); - public static final WebhookRequestType COMPANY_OVERRIDE_CREATED = - new WebhookRequestType(Value.COMPANY_OVERRIDE_CREATED, "company.override.created"); - - public static final WebhookRequestType FLAG_CREATED = new WebhookRequestType(Value.FLAG_CREATED, "flag.created"); + public static final WebhookRequestType CREDIT_LIMIT_REACHED = + new WebhookRequestType(Value.CREDIT_LIMIT_REACHED, "credit.limit.reached"); public static final WebhookRequestType PLAN_ENTITLEMENT_DELETED = new WebhookRequestType(Value.PLAN_ENTITLEMENT_DELETED, "plan.entitlement.deleted"); - public static final WebhookRequestType USER_DELETED = new WebhookRequestType(Value.USER_DELETED, "user.deleted"); + public static final WebhookRequestType SUBSCRIPTION_TRIAL_ENDED = + new WebhookRequestType(Value.SUBSCRIPTION_TRIAL_ENDED, "subscription.trial.ended"); + + public static final WebhookRequestType ENTITLEMENT_SOFT_LIMIT_REACHED = + new WebhookRequestType(Value.ENTITLEMENT_SOFT_LIMIT_REACHED, "entitlement.soft_limit.reached"); public static final WebhookRequestType ENTITLEMENT_LIMIT_WARNING = new WebhookRequestType(Value.ENTITLEMENT_LIMIT_WARNING, "entitlement.limit.warning"); + public static final WebhookRequestType CREDIT_LIMIT_WARNING = + new WebhookRequestType(Value.CREDIT_LIMIT_WARNING, "credit.limit.warning"); + + public static final WebhookRequestType COMPANY_OVERRIDE_CREATED = + new WebhookRequestType(Value.COMPANY_OVERRIDE_CREATED, "company.override.created"); + public static final WebhookRequestType PLAN_UPDATED = new WebhookRequestType(Value.PLAN_UPDATED, "plan.updated"); public static final WebhookRequestType COMPANY_SCHEDULED_DOWNGRADE = new WebhookRequestType(Value.COMPANY_SCHEDULED_DOWNGRADE, "company.scheduled_downgrade"); - public static final WebhookRequestType CREDIT_LIMIT_WARNING = - new WebhookRequestType(Value.CREDIT_LIMIT_WARNING, "credit.limit.warning"); + public static final WebhookRequestType FEATURE_DELETED = + new WebhookRequestType(Value.FEATURE_DELETED, "feature.deleted"); - public static final WebhookRequestType FEATURE_CREATED = - new WebhookRequestType(Value.FEATURE_CREATED, "feature.created"); + public static final WebhookRequestType FLAG_CREATED = new WebhookRequestType(Value.FLAG_CREATED, "flag.created"); + + public static final WebhookRequestType USER_DELETED = new WebhookRequestType(Value.USER_DELETED, "user.deleted"); public static final WebhookRequestType ENTITLEMENT_SOFT_LIMIT_WARNING = new WebhookRequestType(Value.ENTITLEMENT_SOFT_LIMIT_WARNING, "entitlement.soft_limit.warning"); - public static final WebhookRequestType PLAN_VERSION_DELETED = - new WebhookRequestType(Value.PLAN_VERSION_DELETED, "plan_version.deleted"); - public static final WebhookRequestType COMPANY_PLAN_CHANGED = new WebhookRequestType(Value.COMPANY_PLAN_CHANGED, "company.plan_changed"); - public static final WebhookRequestType COMPANY_UPDATED = - new WebhookRequestType(Value.COMPANY_UPDATED, "company.updated"); - public static final WebhookRequestType ENTITLEMENT_TIER_LIMIT_REACHED = new WebhookRequestType(Value.ENTITLEMENT_TIER_LIMIT_REACHED, "entitlement.tier_limit.reached"); + public static final WebhookRequestType PLAN_VERSION_DELETED = + new WebhookRequestType(Value.PLAN_VERSION_DELETED, "plan_version.deleted"); + public static final WebhookRequestType COMPANY_OVERRIDE_EXPIRED = new WebhookRequestType(Value.COMPANY_OVERRIDE_EXPIRED, "company.override.expired"); - public static final WebhookRequestType FLAG_DELETED = new WebhookRequestType(Value.FLAG_DELETED, "flag.deleted"); + public static final WebhookRequestType PLAN_ENTITLEMENT_UPDATED = + new WebhookRequestType(Value.PLAN_ENTITLEMENT_UPDATED, "plan.entitlement.updated"); + + public static final WebhookRequestType COMPANY_UPDATED = + new WebhookRequestType(Value.COMPANY_UPDATED, "company.updated"); public static final WebhookRequestType COMPANY_CREATED = new WebhookRequestType(Value.COMPANY_CREATED, "company.created"); @@ -106,13 +104,15 @@ public final class WebhookRequestType { public static final WebhookRequestType ENTITLEMENT_TIER_LIMIT_WARNING = new WebhookRequestType(Value.ENTITLEMENT_TIER_LIMIT_WARNING, "entitlement.tier_limit.warning"); - public static final WebhookRequestType PLAN_ENTITLEMENT_CREATED = - new WebhookRequestType(Value.PLAN_ENTITLEMENT_CREATED, "plan.entitlement.created"); + public static final WebhookRequestType FLAG_DELETED = new WebhookRequestType(Value.FLAG_DELETED, "flag.deleted"); public static final WebhookRequestType PLAN_CREATED = new WebhookRequestType(Value.PLAN_CREATED, "plan.created"); public static final WebhookRequestType TEST_SEND = new WebhookRequestType(Value.TEST_SEND, "test.send"); + public static final WebhookRequestType FEATURE_UPDATED = + new WebhookRequestType(Value.FEATURE_UPDATED, "feature.updated"); + private final Value value; private final String string; @@ -145,84 +145,84 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { - case AUTO_TOPUP_HARD_FAILURE: - return visitor.visitAutoTopupHardFailure(); + case FLAG_UPDATED: + return visitor.visitFlagUpdated(); case AUTO_TOPUP_RETRY_EXCEEDED: return visitor.visitAutoTopupRetryExceeded(); case COMPANY_DELETED: return visitor.visitCompanyDeleted(); - case COMPANY_OVERRIDE_UPDATED: - return visitor.visitCompanyOverrideUpdated(); - case FLAG_UPDATED: - return visitor.visitFlagUpdated(); - case FEATURE_UPDATED: - return visitor.visitFeatureUpdated(); case FLAG_RULES_UPDATED: return visitor.visitFlagRulesUpdated(); - case USER_UPDATED: - return visitor.visitUserUpdated(); + case COMPANY_OVERRIDE_UPDATED: + return visitor.visitCompanyOverrideUpdated(); case PLAN_DELETED: return visitor.visitPlanDeleted(); + case PLAN_ENTITLEMENT_CREATED: + return visitor.visitPlanEntitlementCreated(); + case USER_UPDATED: + return visitor.visitUserUpdated(); + case AUTO_TOPUP_HARD_FAILURE: + return visitor.visitAutoTopupHardFailure(); case COMPANY_OVERRIDE_DELETED: return visitor.visitCompanyOverrideDeleted(); - case PLAN_ENTITLEMENT_UPDATED: - return visitor.visitPlanEntitlementUpdated(); - case RULE_DELETED: - return visitor.visitRuleDeleted(); case USER_CREATED: return visitor.visitUserCreated(); - case FEATURE_DELETED: - return visitor.visitFeatureDeleted(); - case CREDIT_LIMIT_REACHED: - return visitor.visitCreditLimitReached(); - case ENTITLEMENT_SOFT_LIMIT_REACHED: - return visitor.visitEntitlementSoftLimitReached(); - case SUBSCRIPTION_TRIAL_ENDED: - return visitor.visitSubscriptionTrialEnded(); + case FEATURE_CREATED: + return visitor.visitFeatureCreated(); + case RULE_DELETED: + return visitor.visitRuleDeleted(); case ENTITLEMENT_LIMIT_REACHED: return visitor.visitEntitlementLimitReached(); - case COMPANY_OVERRIDE_CREATED: - return visitor.visitCompanyOverrideCreated(); - case FLAG_CREATED: - return visitor.visitFlagCreated(); + case CREDIT_LIMIT_REACHED: + return visitor.visitCreditLimitReached(); case PLAN_ENTITLEMENT_DELETED: return visitor.visitPlanEntitlementDeleted(); - case USER_DELETED: - return visitor.visitUserDeleted(); + case SUBSCRIPTION_TRIAL_ENDED: + return visitor.visitSubscriptionTrialEnded(); + case ENTITLEMENT_SOFT_LIMIT_REACHED: + return visitor.visitEntitlementSoftLimitReached(); case ENTITLEMENT_LIMIT_WARNING: return visitor.visitEntitlementLimitWarning(); + case CREDIT_LIMIT_WARNING: + return visitor.visitCreditLimitWarning(); + case COMPANY_OVERRIDE_CREATED: + return visitor.visitCompanyOverrideCreated(); case PLAN_UPDATED: return visitor.visitPlanUpdated(); case COMPANY_SCHEDULED_DOWNGRADE: return visitor.visitCompanyScheduledDowngrade(); - case CREDIT_LIMIT_WARNING: - return visitor.visitCreditLimitWarning(); - case FEATURE_CREATED: - return visitor.visitFeatureCreated(); + case FEATURE_DELETED: + return visitor.visitFeatureDeleted(); + case FLAG_CREATED: + return visitor.visitFlagCreated(); + case USER_DELETED: + return visitor.visitUserDeleted(); case ENTITLEMENT_SOFT_LIMIT_WARNING: return visitor.visitEntitlementSoftLimitWarning(); - case PLAN_VERSION_DELETED: - return visitor.visitPlanVersionDeleted(); case COMPANY_PLAN_CHANGED: return visitor.visitCompanyPlanChanged(); - case COMPANY_UPDATED: - return visitor.visitCompanyUpdated(); case ENTITLEMENT_TIER_LIMIT_REACHED: return visitor.visitEntitlementTierLimitReached(); + case PLAN_VERSION_DELETED: + return visitor.visitPlanVersionDeleted(); case COMPANY_OVERRIDE_EXPIRED: return visitor.visitCompanyOverrideExpired(); - case FLAG_DELETED: - return visitor.visitFlagDeleted(); + case PLAN_ENTITLEMENT_UPDATED: + return visitor.visitPlanEntitlementUpdated(); + case COMPANY_UPDATED: + return visitor.visitCompanyUpdated(); case COMPANY_CREATED: return visitor.visitCompanyCreated(); case ENTITLEMENT_TIER_LIMIT_WARNING: return visitor.visitEntitlementTierLimitWarning(); - case PLAN_ENTITLEMENT_CREATED: - return visitor.visitPlanEntitlementCreated(); + case FLAG_DELETED: + return visitor.visitFlagDeleted(); case PLAN_CREATED: return visitor.visitPlanCreated(); case TEST_SEND: return visitor.visitTestSend(); + case FEATURE_UPDATED: + return visitor.visitFeatureUpdated(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -232,84 +232,84 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static WebhookRequestType valueOf(String value) { switch (value) { - case "auto.topup.hard.failure": - return AUTO_TOPUP_HARD_FAILURE; + case "flag.updated": + return FLAG_UPDATED; case "auto.topup.retry.exceeded": return AUTO_TOPUP_RETRY_EXCEEDED; case "company.deleted": return COMPANY_DELETED; - case "company.override.updated": - return COMPANY_OVERRIDE_UPDATED; - case "flag.updated": - return FLAG_UPDATED; - case "feature.updated": - return FEATURE_UPDATED; case "flag_rules.updated": return FLAG_RULES_UPDATED; - case "user.updated": - return USER_UPDATED; + case "company.override.updated": + return COMPANY_OVERRIDE_UPDATED; case "plan.deleted": return PLAN_DELETED; + case "plan.entitlement.created": + return PLAN_ENTITLEMENT_CREATED; + case "user.updated": + return USER_UPDATED; + case "auto.topup.hard.failure": + return AUTO_TOPUP_HARD_FAILURE; case "company.override.deleted": return COMPANY_OVERRIDE_DELETED; - case "plan.entitlement.updated": - return PLAN_ENTITLEMENT_UPDATED; - case "rule.deleted": - return RULE_DELETED; case "user.created": return USER_CREATED; - case "feature.deleted": - return FEATURE_DELETED; - case "credit.limit.reached": - return CREDIT_LIMIT_REACHED; - case "entitlement.soft_limit.reached": - return ENTITLEMENT_SOFT_LIMIT_REACHED; - case "subscription.trial.ended": - return SUBSCRIPTION_TRIAL_ENDED; + case "feature.created": + return FEATURE_CREATED; + case "rule.deleted": + return RULE_DELETED; case "entitlement.limit.reached": return ENTITLEMENT_LIMIT_REACHED; - case "company.override.created": - return COMPANY_OVERRIDE_CREATED; - case "flag.created": - return FLAG_CREATED; + case "credit.limit.reached": + return CREDIT_LIMIT_REACHED; case "plan.entitlement.deleted": return PLAN_ENTITLEMENT_DELETED; - case "user.deleted": - return USER_DELETED; + case "subscription.trial.ended": + return SUBSCRIPTION_TRIAL_ENDED; + case "entitlement.soft_limit.reached": + return ENTITLEMENT_SOFT_LIMIT_REACHED; case "entitlement.limit.warning": return ENTITLEMENT_LIMIT_WARNING; + case "credit.limit.warning": + return CREDIT_LIMIT_WARNING; + case "company.override.created": + return COMPANY_OVERRIDE_CREATED; case "plan.updated": return PLAN_UPDATED; case "company.scheduled_downgrade": return COMPANY_SCHEDULED_DOWNGRADE; - case "credit.limit.warning": - return CREDIT_LIMIT_WARNING; - case "feature.created": - return FEATURE_CREATED; + case "feature.deleted": + return FEATURE_DELETED; + case "flag.created": + return FLAG_CREATED; + case "user.deleted": + return USER_DELETED; case "entitlement.soft_limit.warning": return ENTITLEMENT_SOFT_LIMIT_WARNING; - case "plan_version.deleted": - return PLAN_VERSION_DELETED; case "company.plan_changed": return COMPANY_PLAN_CHANGED; - case "company.updated": - return COMPANY_UPDATED; case "entitlement.tier_limit.reached": return ENTITLEMENT_TIER_LIMIT_REACHED; + case "plan_version.deleted": + return PLAN_VERSION_DELETED; case "company.override.expired": return COMPANY_OVERRIDE_EXPIRED; - case "flag.deleted": - return FLAG_DELETED; + case "plan.entitlement.updated": + return PLAN_ENTITLEMENT_UPDATED; + case "company.updated": + return COMPANY_UPDATED; case "company.created": return COMPANY_CREATED; case "entitlement.tier_limit.warning": return ENTITLEMENT_TIER_LIMIT_WARNING; - case "plan.entitlement.created": - return PLAN_ENTITLEMENT_CREATED; + case "flag.deleted": + return FLAG_DELETED; case "plan.created": return PLAN_CREATED; case "test.send": return TEST_SEND; + case "feature.updated": + return FEATURE_UPDATED; default: return new WebhookRequestType(Value.UNKNOWN, value); } diff --git a/src/test/java/com/schematic/api/UndiscriminatedUnionTest.java b/src/test/java/com/schematic/api/UndiscriminatedUnionTest.java new file mode 100644 index 0000000..2980b0f --- /dev/null +++ b/src/test/java/com/schematic/api/UndiscriminatedUnionTest.java @@ -0,0 +1,36 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api; + +import static org.junit.jupiter.api.Assertions.*; + +import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.EventBody; +import com.schematic.api.types.EventBodyFlagCheck; +import com.schematic.api.types.EventBodyIdentify; +import com.schematic.api.types.EventBodyTrack; +import org.junit.jupiter.api.Test; + +public final class UndiscriminatedUnionTest { + @Test + public void testEventBody_EventBodyTrack() throws Exception { + String json = "{\"event\":\"test\"}"; + EventBody union = ObjectMappers.JSON_MAPPER.readValue(json, EventBody.class); + assertTrue(union.get() instanceof EventBodyTrack, "Expected EventBodyTrack but got different variant"); + } + + @Test + public void testEventBody_EventBodyFlagCheck() throws Exception { + String json = "{\"flag_key\":\"test\",\"reason\":\"test\",\"value\":true}"; + EventBody union = ObjectMappers.JSON_MAPPER.readValue(json, EventBody.class); + assertTrue(union.get() instanceof EventBodyFlagCheck, "Expected EventBodyFlagCheck but got different variant"); + } + + @Test + public void testEventBody_EventBodyIdentify() throws Exception { + String json = "{\"keys\":{}}"; + EventBody union = ObjectMappers.JSON_MAPPER.readValue(json, EventBody.class); + assertTrue(union.get() instanceof EventBodyIdentify, "Expected EventBodyIdentify but got different variant"); + } +}