diff --git a/.fern/metadata.json b/.fern/metadata.json index cb67663..f1c86d7 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -1,7 +1,7 @@ { - "cliVersion": "4.76.1", + "cliVersion": "5.6.0", "generatorName": "fernapi/fern-java-sdk", - "generatorVersion": "4.6.1", + "generatorVersion": "4.8.5", "generatorConfig": { "client-class-name": "BaseSchematic", "generate-unknown-as-json-node": true, @@ -14,6 +14,10 @@ "implementation redis.clients:jedis:5.2.0" ] }, - "originGitCommit": "65ef3b80b68cd7596daad7fa53232ea510ad01f2", + "originGitCommit": "4fd82021eff164a6f2484d4504850c46fe8f4a95", + "originGitCommitIsDirty": false, + "invokedBy": "ci", + "requestedVersion": "1.4.0", + "ciProvider": "github", "sdkVersion": "1.4.0" } \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..24cf9fa --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,114 @@ +# Contributing + +Thanks for your interest in contributing to this SDK! This document provides guidelines for contributing to the project. + +## Getting Started + +### Prerequisites + +- Java 11+ +- Gradle + +### Installation + +Install the project dependencies: + +```bash +./gradlew build +``` + +### Building + +Build the project: + +```bash +./gradlew build +``` + +### Testing + +Run the test suite: + +```bash +./gradlew test +``` + +### Formatting + +Check and fix code style: + +```bash +./gradlew spotlessApply +``` + +## About Generated Code + +**Important**: Most files in this SDK are automatically generated by [Fern](https://buildwithfern.com) from the API definition. Direct modifications to generated files will be overwritten the next time the SDK is generated. + +### Generated Files + +The following directories contain generated code: +- `src/` - API client classes and types +- Most Java files in the project + +### How to Customize + +If you need to customize the SDK, you have two options: + +#### Option 1: Use `.fernignore` + +For custom code that should persist across SDK regenerations: + +1. Create a `.fernignore` file in the project root +2. Add file patterns for files you want to preserve (similar to `.gitignore` syntax) +3. Add your custom code to those files + +Files listed in `.fernignore` will not be overwritten when the SDK is regenerated. + +For more information, see the [Fern documentation on custom code](https://buildwithfern.com/learn/sdks/overview/custom-code). + +#### Option 2: Contribute to the Generator + +If you want to change how code is generated for all users of this SDK: + +1. The Java SDK generator lives in the [Fern repository](https://github.com/fern-api/fern) +2. Generator code is located at `generators/java-v2/` +3. Follow the [Fern contributing guidelines](https://github.com/fern-api/fern/blob/main/CONTRIBUTING.md) +4. Submit a pull request with your changes to the generator + +This approach is best for: +- Bug fixes in generated code +- New features that would benefit all users +- Improvements to code generation patterns + +## Making Changes + +### Workflow + +1. Create a new branch for your changes +2. Make your modifications +3. Run tests to ensure nothing breaks: `./gradlew test` +4. Run formatting: `./gradlew spotlessApply` +5. Build the project: `./gradlew build` +6. Commit your changes with a clear commit message +7. Push your branch and create a pull request + +### Commit Messages + +Write clear, descriptive commit messages that explain what changed and why. + +### Code Style + +This project uses automated code formatting. Run `./gradlew spotlessApply` before committing to ensure your code meets the project's style guidelines. + +## Questions or Issues? + +If you have questions or run into issues: + +1. Check the [Fern documentation](https://buildwithfern.com) +2. Search existing [GitHub issues](https://github.com/fern-api/fern/issues) +3. Open a new issue if your question hasn't been addressed + +## License + +By contributing to this project, you agree that your contributions will be licensed under the same license as the project. diff --git a/reference.md b/reference.md index fd6bb6f..c701f34 100644 --- a/reference.md +++ b/reference.md @@ -2798,6 +2798,7 @@ client.billing().listBillingProducts( .priceUsageType(BillingPriceUsageType.LICENSED) .providerType(BillingProviderType.ORB) .q("q") + .recurringChargesOnly(true) .withOneTimeCharges(true) .withPricesOnly(true) .withZeroPrice(true) @@ -2868,6 +2869,14 @@ client.billing().listBillingProducts(
+**recurringChargesOnly:** `Optional` — Filter to products that have at least one recurring price + +
+
+ +
+
+ **withOneTimeCharges:** `Optional` — Filter products that are one time charges
@@ -2944,6 +2953,7 @@ client.billing().countBillingProducts( .priceUsageType(BillingPriceUsageType.LICENSED) .providerType(BillingProviderType.ORB) .q("q") + .recurringChargesOnly(true) .withOneTimeCharges(true) .withPricesOnly(true) .withZeroPrice(true) @@ -3014,6 +3024,14 @@ client.billing().countBillingProducts(
+**recurringChargesOnly:** `Optional` — Filter to products that have at least one recurring price + +
+
+ +
+
+ **withOneTimeCharges:** `Optional` — Filter products that are one time charges
@@ -5109,6 +5127,9 @@ client.credits().listBillingPlanCreditGrants( .planIds( Arrays.asList("plan_ids") ) + .planVersionIds( + Arrays.asList("plan_version_ids") + ) .creditId("credit_id") .planId("plan_id") .planVersionId("plan_version_id") @@ -5170,6 +5191,14 @@ client.credits().listBillingPlanCreditGrants(
+**planVersionIds:** `Optional` + +
+
+ +
+
+ **limit:** `Optional` — Page limit (default 100)
@@ -5410,6 +5439,9 @@ client.credits().countBillingPlanCreditGrants( .planIds( Arrays.asList("plan_ids") ) + .planVersionIds( + Arrays.asList("plan_version_ids") + ) .creditId("credit_id") .planId("plan_id") .planVersionId("plan_version_id") @@ -5471,6 +5503,14 @@ client.credits().countBillingPlanCreditGrants(
+**planVersionIds:** `Optional` + +
+
+ +
+
+ **limit:** `Optional` — Page limit (default 100)
@@ -5737,6 +5777,14 @@ client.checkout().internal( .build() ) ) + .autoTopupOverrides( + Arrays.asList( + UpdateAutoTopupOverrideRequestBody + .builder() + .planCreditGrantId("plan_credit_grant_id") + .build() + ) + ) .creditBundles( Arrays.asList( UpdateCreditBundleRequestBody @@ -5865,6 +5913,14 @@ client.checkout().previewCheckoutInternal( .build() ) ) + .autoTopupOverrides( + Arrays.asList( + UpdateAutoTopupOverrideRequestBody + .builder() + .planCreditGrantId("plan_credit_grant_id") + .build() + ) + ) .creditBundles( Arrays.asList( UpdateCreditBundleRequestBody @@ -11557,6 +11613,7 @@ client.plans().listPlans( Arrays.asList("ids") ) .companyId("company_id") + .companyScopedOnly(true) .excludeCompanyScoped(true) .forFallbackPlan(true) .forInitialPlan(true) @@ -11594,6 +11651,14 @@ client.plans().listPlans(
+**companyScopedOnly:** `Optional` — Only return plans that are scoped to a company (custom plans assigned to a company) + +
+
+ +
+
+ **excludeCompanyScoped:** `Optional` — Exclude plans that are scoped to a company (custom plans assigned to a company)
@@ -12021,6 +12086,14 @@ client.plans().upsertPlanForBillingProduct(
+**externalResourceVersion:** `Optional` + +
+
+ +
+
+ **icon:** `Optional`
@@ -12213,6 +12286,7 @@ client.plans().countPlans( Arrays.asList("ids") ) .companyId("company_id") + .companyScopedOnly(true) .excludeCompanyScoped(true) .forFallbackPlan(true) .forInitialPlan(true) @@ -12250,6 +12324,14 @@ client.plans().countPlans(
+**companyScopedOnly:** `Optional` — Only return plans that are scoped to a company (custom plans assigned to a company) + +
+
+ +
+
+ **excludeCompanyScoped:** `Optional` — Exclude plans that are scoped to a company (custom plans assigned to a company)
@@ -13233,6 +13315,7 @@ client.events().listEvents( .companyId("company_id") .eventSubtype("event_subtype") .flagId("flag_id") + .idempotencyKey("idempotency_key") .userId("user_id") .limit(1000000L) .offset(1000000L) @@ -13284,6 +13367,14 @@ client.events().listEvents(
+**idempotencyKey:** `Optional` + +
+
+ +
+
+ **userId:** `Optional`
@@ -13446,6 +13537,7 @@ client.features().listFeatures( Arrays.asList("ids") ) .booleanRequireEvent(true) + .managedBy(BillingProviderType.ORB) .planVersionId("plan_version_id") .q("q") .withoutCompanyOverrideFor("without_company_override_for") @@ -13492,6 +13584,14 @@ client.features().listFeatures(
+**managedBy:** `Optional` — Filter for features managed by a billing provider, or by Schematic (no billing provider) + +
+
+ +
+
+ **planVersionId:** `Optional` — Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used
@@ -14052,6 +14152,7 @@ client.features().countFeatures( Arrays.asList("ids") ) .booleanRequireEvent(true) + .managedBy(BillingProviderType.ORB) .planVersionId("plan_version_id") .q("q") .withoutCompanyOverrideFor("without_company_override_for") @@ -14098,6 +14199,14 @@ client.features().countFeatures(
+**managedBy:** `Optional` — Filter for features managed by a billing provider, or by Schematic (no billing provider) + +
+
+ +
+
+ **planVersionId:** `Optional` — Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used
@@ -15069,6 +15178,147 @@ client.insights().getEnvironmentTraitUsageTimeSeries( ## integrationsapi +
client.integrationsapi.runIntegration(integrationId) -> RunIntegrationResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.integrationsapi().runIntegration("integration_id"); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**integrationId:** `String` — integration_id + +
+
+
+
+ + +
+
+
+ +
client.integrationsapi.listIntegrations() -> ListIntegrationsResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.integrationsapi().listIntegrations( + ListIntegrationsRequest + .builder() + .excludeIds( + Arrays.asList("exclude_ids") + ) + .billingOnly(true) + .id("id") + .state(IntegrationState.ACTIVE) + .type(IntegrationType.CLERK) + .limit(1000000L) + .offset(1000000L) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**billingOnly:** `Optional` + +
+
+ +
+
+ +**excludeIds:** `Optional` + +
+
+ +
+
+ +**id:** `Optional` + +
+
+ +
+
+ +**state:** `Optional` + +
+
+ +
+
+ +**type:** `Optional` + +
+
+ +
+
+ +**limit:** `Optional` — Page limit (default 100) + +
+
+ +
+
+ +**offset:** `Optional` — Page offset (default 0) + +
+
+
+
+ + +
+
+
+
client.integrationsapi.getIntegrationWebhookUrl(type) -> GetIntegrationWebhookUrlResponse
@@ -15105,6 +15355,132 @@ client.integrationsapi().getIntegrationWebhookUrl("type");
+ +
+ + +
client.integrationsapi.startDataImport(request) -> StartDataImportResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.integrationsapi().startDataImport( + StartDataImportRequestBody + .builder() + .integrationId("integration_id") + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**companyMatchingCriteria:** `Optional` + +
+
+ +
+
+ +**companyMatchingField:** `Optional` + +
+
+ +
+
+ +**integrationId:** `String` + +
+
+
+
+ + +
+
+
+ +
client.integrationsapi.loadSampleDataSetV2() -> LoadSampleDataSetV2Response +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.integrationsapi().loadSampleDataSetV2(); +``` +
+
+
+
+ + +
+
+
+ +
client.integrationsapi.uninstallIntegration(integrationId) -> UninstallIntegrationResponse +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.integrationsapi().uninstallIntegration("integration_id"); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**integrationId:** `String` — integration_id + +
+
+
+
+ +
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 b26ce1c..b1404d5 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; } - @JsonIgnore + @JsonProperty("environment_id") public Optional getEnvironmentId() { return environmentId; } - @JsonIgnore + @JsonProperty("require_environment") public boolean getRequireEnvironment() { return requireEnvironment; } @@ -56,7 +56,7 @@ public boolean getRequireEnvironment() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 dcf8548..ac71a48 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; } - @JsonIgnore + @JsonProperty("actor_type") public Optional getActorType() { return actorType; } - @JsonIgnore + @JsonProperty("end_time") public Optional getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("environment_id") public Optional getEnvironmentId() { return environmentId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("start_time") public Optional getStartTime() { return startTime; } @@ -85,7 +85,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -93,7 +93,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 c2374fc..10a0328 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -53,7 +53,7 @@ public Optional> getIds() { /** * @return Search filter */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -61,7 +61,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -69,7 +69,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 876e1f0..4973446 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; } - @JsonIgnore + @JsonProperty("environment_id") public Optional getEnvironmentId() { return environmentId; } - @JsonIgnore + @JsonProperty("require_environment") public boolean getRequireEnvironment() { return requireEnvironment; } @@ -56,7 +56,7 @@ public boolean getRequireEnvironment() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 e9c4d56..6fa6321 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; } - @JsonIgnore + @JsonProperty("actor_type") public Optional getActorType() { return actorType; } - @JsonIgnore + @JsonProperty("end_time") public Optional getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("environment_id") public Optional getEnvironmentId() { return environmentId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("start_time") public Optional getStartTime() { return startTime; } @@ -85,7 +85,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -93,7 +93,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 fc8e5f5..26a0616 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -49,7 +49,7 @@ public Optional> getIds() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -57,7 +57,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/AsyncRawBillingClient.java b/src/main/java/com/schematic/api/resources/billing/AsyncRawBillingClient.java index 2dff4bb..b2f6da6 100644 --- a/src/main/java/com/schematic/api/resources/billing/AsyncRawBillingClient.java +++ b/src/main/java/com/schematic/api/resources/billing/AsyncRawBillingClient.java @@ -1919,6 +1919,13 @@ public CompletableFuture> if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } + if (request.getRecurringChargesOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "recurring_charges_only", + request.getRecurringChargesOnly().get(), + false); + } if (request.getWithOneTimeCharges().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, @@ -2066,6 +2073,13 @@ public CompletableFuture if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } + if (request.getRecurringChargesOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "recurring_charges_only", + request.getRecurringChargesOnly().get(), + false); + } if (request.getWithOneTimeCharges().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, diff --git a/src/main/java/com/schematic/api/resources/billing/RawBillingClient.java b/src/main/java/com/schematic/api/resources/billing/RawBillingClient.java index 6dfbcc7..74a4f8d 100644 --- a/src/main/java/com/schematic/api/resources/billing/RawBillingClient.java +++ b/src/main/java/com/schematic/api/resources/billing/RawBillingClient.java @@ -1492,6 +1492,13 @@ public BaseSchematicHttpResponse listBillingProduct if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } + if (request.getRecurringChargesOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "recurring_charges_only", + request.getRecurringChargesOnly().get(), + false); + } if (request.getWithOneTimeCharges().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, @@ -1614,6 +1621,13 @@ public BaseSchematicHttpResponse countBillingProdu if (request.getQ().isPresent()) { QueryStringMapper.addQueryParameter(httpUrl, "q", request.getQ().get(), false); } + if (request.getRecurringChargesOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "recurring_charges_only", + request.getRecurringChargesOnly().get(), + false); + } if (request.getWithOneTimeCharges().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, 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 81b1d03..7f9a73e 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; @@ -36,6 +36,8 @@ public final class CountBillingProductsRequest { private final Optional q; + private final Optional recurringChargesOnly; + private final Optional withOneTimeCharges; private final Optional withPricesOnly; @@ -57,6 +59,7 @@ private CountBillingProductsRequest( Optional priceUsageType, Optional providerType, Optional q, + Optional recurringChargesOnly, Optional withOneTimeCharges, Optional withPricesOnly, Optional withZeroPrice, @@ -70,6 +73,7 @@ private CountBillingProductsRequest( this.priceUsageType = priceUsageType; this.providerType = providerType; this.q = q; + this.recurringChargesOnly = recurringChargesOnly; this.withOneTimeCharges = withOneTimeCharges; this.withPricesOnly = withPricesOnly; this.withZeroPrice = withZeroPrice; @@ -79,7 +83,7 @@ private CountBillingProductsRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -87,35 +91,43 @@ public Optional> getIds() { /** * @return Filter products that are active. Defaults to true if not specified */ - @JsonIgnore + @JsonProperty("is_active") public Optional getIsActive() { return isActive; } - @JsonIgnore + @JsonProperty("name") public Optional getName() { return name; } - @JsonIgnore + @JsonProperty("price_usage_type") public Optional getPriceUsageType() { return priceUsageType; } - @JsonIgnore + @JsonProperty("provider_type") public Optional getProviderType() { return providerType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } + /** + * @return Filter to products that have at least one recurring price + */ + @JsonProperty("recurring_charges_only") + public Optional getRecurringChargesOnly() { + return recurringChargesOnly; + } + /** * @return Filter products that are one time charges */ - @JsonIgnore + @JsonProperty("with_one_time_charges") public Optional getWithOneTimeCharges() { return withOneTimeCharges; } @@ -123,7 +135,7 @@ public Optional getWithOneTimeCharges() { /** * @return Filter products that have prices */ - @JsonIgnore + @JsonProperty("with_prices_only") public Optional getWithPricesOnly() { return withPricesOnly; } @@ -131,7 +143,7 @@ public Optional getWithPricesOnly() { /** * @return Filter products that have zero price for free subscription type */ - @JsonIgnore + @JsonProperty("with_zero_price") public Optional getWithZeroPrice() { return withZeroPrice; } @@ -139,7 +151,7 @@ public Optional getWithZeroPrice() { /** * @return Filter products that are not linked to any plan */ - @JsonIgnore + @JsonProperty("without_linked_to_plan") public Optional getWithoutLinkedToPlan() { return withoutLinkedToPlan; } @@ -147,7 +159,7 @@ public Optional getWithoutLinkedToPlan() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -155,7 +167,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -178,6 +190,7 @@ private boolean equalTo(CountBillingProductsRequest other) { && priceUsageType.equals(other.priceUsageType) && providerType.equals(other.providerType) && q.equals(other.q) + && recurringChargesOnly.equals(other.recurringChargesOnly) && withOneTimeCharges.equals(other.withOneTimeCharges) && withPricesOnly.equals(other.withPricesOnly) && withZeroPrice.equals(other.withZeroPrice) @@ -195,6 +208,7 @@ public int hashCode() { this.priceUsageType, this.providerType, this.q, + this.recurringChargesOnly, this.withOneTimeCharges, this.withPricesOnly, this.withZeroPrice, @@ -226,6 +240,8 @@ public static final class Builder { private Optional q = Optional.empty(); + private Optional recurringChargesOnly = Optional.empty(); + private Optional withOneTimeCharges = Optional.empty(); private Optional withPricesOnly = Optional.empty(); @@ -250,6 +266,7 @@ public Builder from(CountBillingProductsRequest other) { priceUsageType(other.getPriceUsageType()); providerType(other.getProviderType()); q(other.getQ()); + recurringChargesOnly(other.getRecurringChargesOnly()); withOneTimeCharges(other.getWithOneTimeCharges()); withPricesOnly(other.getWithPricesOnly()); withZeroPrice(other.getWithZeroPrice()); @@ -333,6 +350,20 @@ public Builder q(String q) { return this; } + /** + *

Filter to products that have at least one recurring price

+ */ + @JsonSetter(value = "recurring_charges_only", nulls = Nulls.SKIP) + public Builder recurringChargesOnly(Optional recurringChargesOnly) { + this.recurringChargesOnly = recurringChargesOnly; + return this; + } + + public Builder recurringChargesOnly(Boolean recurringChargesOnly) { + this.recurringChargesOnly = Optional.ofNullable(recurringChargesOnly); + return this; + } + /** *

Filter products that are one time charges

*/ @@ -425,6 +456,7 @@ public CountBillingProductsRequest build() { priceUsageType, providerType, q, + recurringChargesOnly, withOneTimeCharges, withPricesOnly, withZeroPrice, 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 c0ef76e..7b10283 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; } - @JsonIgnore + @JsonProperty("company_ids") public Optional> getCompanyIds() { return companyIds; } - @JsonIgnore + @JsonProperty("name") public Optional getName() { return name; } - @JsonIgnore + @JsonProperty("provider_type") public Optional getProviderType() { return providerType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -77,7 +77,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 c245ca6..c438be3 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("product_ids") public Optional> getProductIds() { return productIds; } @@ -109,7 +109,7 @@ public Optional> getProductIds() { /** * @return Filter for prices in a specific currency (e.g. usd, eur) */ - @JsonIgnore + @JsonProperty("currency") public Optional getCurrency() { return currency; } @@ -117,7 +117,7 @@ public Optional getCurrency() { /** * @return Filter for prices valid for initial plans (free prices only) */ - @JsonIgnore + @JsonProperty("for_initial_plan") public Optional getForInitialPlan() { return forInitialPlan; } @@ -125,12 +125,12 @@ public Optional getForInitialPlan() { /** * @return Filter for prices valid for trial expiry plans (free prices only) */ - @JsonIgnore + @JsonProperty("for_trial_expiry_plan") public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } - @JsonIgnore + @JsonProperty("interval") 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) */ - @JsonIgnore + @JsonProperty("is_active") public Optional getIsActive() { return isActive; } - @JsonIgnore + @JsonProperty("price") public Optional getPrice() { return price; } - @JsonIgnore + @JsonProperty("product_id") public Optional getProductId() { return productId; } - @JsonIgnore + @JsonProperty("provider_type") public Optional getProviderType() { return providerType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("tiers_mode") public Optional getTiersMode() { return tiersMode; } - @JsonIgnore + @JsonProperty("usage_type") public Optional getUsageType() { return usageType; } @@ -176,7 +176,7 @@ public Optional getUsageType() { /** * @return Filter for prices with a meter */ - @JsonIgnore + @JsonProperty("with_meter") public Optional getWithMeter() { return withMeter; } @@ -184,7 +184,7 @@ public Optional getWithMeter() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -192,7 +192,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 18539b1..a70372c 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("product_ids") public Optional> getProductIds() { return productIds; } @@ -109,7 +109,7 @@ public Optional> getProductIds() { /** * @return Filter for prices in a specific currency (e.g. usd, eur) */ - @JsonIgnore + @JsonProperty("currency") public Optional getCurrency() { return currency; } @@ -117,7 +117,7 @@ public Optional getCurrency() { /** * @return Filter for prices valid for initial plans (free prices only) */ - @JsonIgnore + @JsonProperty("for_initial_plan") public Optional getForInitialPlan() { return forInitialPlan; } @@ -125,12 +125,12 @@ public Optional getForInitialPlan() { /** * @return Filter for prices valid for trial expiry plans (free prices only) */ - @JsonIgnore + @JsonProperty("for_trial_expiry_plan") public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } - @JsonIgnore + @JsonProperty("interval") 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) */ - @JsonIgnore + @JsonProperty("is_active") public Optional getIsActive() { return isActive; } - @JsonIgnore + @JsonProperty("price") public Optional getPrice() { return price; } - @JsonIgnore + @JsonProperty("product_id") public Optional getProductId() { return productId; } - @JsonIgnore + @JsonProperty("provider_type") public Optional getProviderType() { return providerType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("tiers_mode") public Optional getTiersMode() { return tiersMode; } - @JsonIgnore + @JsonProperty("usage_type") public Optional getUsageType() { return usageType; } @@ -176,7 +176,7 @@ public Optional getUsageType() { /** * @return Filter for prices with a meter */ - @JsonIgnore + @JsonProperty("with_meter") public Optional getWithMeter() { return withMeter; } @@ -184,7 +184,7 @@ public Optional getWithMeter() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -192,7 +192,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 0203db8..ab70dc5 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; @@ -36,6 +36,8 @@ public final class ListBillingProductsRequest { private final Optional q; + private final Optional recurringChargesOnly; + private final Optional withOneTimeCharges; private final Optional withPricesOnly; @@ -57,6 +59,7 @@ private ListBillingProductsRequest( Optional priceUsageType, Optional providerType, Optional q, + Optional recurringChargesOnly, Optional withOneTimeCharges, Optional withPricesOnly, Optional withZeroPrice, @@ -70,6 +73,7 @@ private ListBillingProductsRequest( this.priceUsageType = priceUsageType; this.providerType = providerType; this.q = q; + this.recurringChargesOnly = recurringChargesOnly; this.withOneTimeCharges = withOneTimeCharges; this.withPricesOnly = withPricesOnly; this.withZeroPrice = withZeroPrice; @@ -79,7 +83,7 @@ private ListBillingProductsRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -87,35 +91,43 @@ public Optional> getIds() { /** * @return Filter products that are active. Defaults to true if not specified */ - @JsonIgnore + @JsonProperty("is_active") public Optional getIsActive() { return isActive; } - @JsonIgnore + @JsonProperty("name") public Optional getName() { return name; } - @JsonIgnore + @JsonProperty("price_usage_type") public Optional getPriceUsageType() { return priceUsageType; } - @JsonIgnore + @JsonProperty("provider_type") public Optional getProviderType() { return providerType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } + /** + * @return Filter to products that have at least one recurring price + */ + @JsonProperty("recurring_charges_only") + public Optional getRecurringChargesOnly() { + return recurringChargesOnly; + } + /** * @return Filter products that are one time charges */ - @JsonIgnore + @JsonProperty("with_one_time_charges") public Optional getWithOneTimeCharges() { return withOneTimeCharges; } @@ -123,7 +135,7 @@ public Optional getWithOneTimeCharges() { /** * @return Filter products that have prices */ - @JsonIgnore + @JsonProperty("with_prices_only") public Optional getWithPricesOnly() { return withPricesOnly; } @@ -131,7 +143,7 @@ public Optional getWithPricesOnly() { /** * @return Filter products that have zero price for free subscription type */ - @JsonIgnore + @JsonProperty("with_zero_price") public Optional getWithZeroPrice() { return withZeroPrice; } @@ -139,7 +151,7 @@ public Optional getWithZeroPrice() { /** * @return Filter products that are not linked to any plan */ - @JsonIgnore + @JsonProperty("without_linked_to_plan") public Optional getWithoutLinkedToPlan() { return withoutLinkedToPlan; } @@ -147,7 +159,7 @@ public Optional getWithoutLinkedToPlan() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -155,7 +167,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -178,6 +190,7 @@ private boolean equalTo(ListBillingProductsRequest other) { && priceUsageType.equals(other.priceUsageType) && providerType.equals(other.providerType) && q.equals(other.q) + && recurringChargesOnly.equals(other.recurringChargesOnly) && withOneTimeCharges.equals(other.withOneTimeCharges) && withPricesOnly.equals(other.withPricesOnly) && withZeroPrice.equals(other.withZeroPrice) @@ -195,6 +208,7 @@ public int hashCode() { this.priceUsageType, this.providerType, this.q, + this.recurringChargesOnly, this.withOneTimeCharges, this.withPricesOnly, this.withZeroPrice, @@ -226,6 +240,8 @@ public static final class Builder { private Optional q = Optional.empty(); + private Optional recurringChargesOnly = Optional.empty(); + private Optional withOneTimeCharges = Optional.empty(); private Optional withPricesOnly = Optional.empty(); @@ -250,6 +266,7 @@ public Builder from(ListBillingProductsRequest other) { priceUsageType(other.getPriceUsageType()); providerType(other.getProviderType()); q(other.getQ()); + recurringChargesOnly(other.getRecurringChargesOnly()); withOneTimeCharges(other.getWithOneTimeCharges()); withPricesOnly(other.getWithPricesOnly()); withZeroPrice(other.getWithZeroPrice()); @@ -333,6 +350,20 @@ public Builder q(String q) { return this; } + /** + *

Filter to products that have at least one recurring price

+ */ + @JsonSetter(value = "recurring_charges_only", nulls = Nulls.SKIP) + public Builder recurringChargesOnly(Optional recurringChargesOnly) { + this.recurringChargesOnly = recurringChargesOnly; + return this; + } + + public Builder recurringChargesOnly(Boolean recurringChargesOnly) { + this.recurringChargesOnly = Optional.ofNullable(recurringChargesOnly); + return this; + } + /** *

Filter products that are one time charges

*/ @@ -425,6 +456,7 @@ public ListBillingProductsRequest build() { priceUsageType, providerType, q, + recurringChargesOnly, withOneTimeCharges, withPricesOnly, withZeroPrice, 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 d629b00..d934e55 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; } - @JsonIgnore + @JsonProperty("is_active") public Optional getIsActive() { return isActive; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -56,7 +56,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 9b29ac3..01643e6 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; } - @JsonIgnore + @JsonProperty("company_ids") public Optional> getCompanyIds() { return companyIds; } - @JsonIgnore + @JsonProperty("name") public Optional getName() { return name; } - @JsonIgnore + @JsonProperty("provider_type") public Optional getProviderType() { return providerType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -77,7 +77,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 8219394..66cb929 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("customer_external_id") public String getCustomerExternalId() { return customerExternalId; } - @JsonIgnore + @JsonProperty("subscription_external_id") public String getSubscriptionExternalId() { return subscriptionExternalId; } @@ -66,7 +66,7 @@ public String getSubscriptionExternalId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -74,7 +74,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 1ef42f3..a8da457 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; } - @JsonIgnore + @JsonProperty("display_name") public Optional getDisplayName() { return displayName; } @@ -47,7 +47,7 @@ public Optional getDisplayName() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -55,7 +55,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 33833c4..e59a85c 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("customer_external_id") public String getCustomerExternalId() { return customerExternalId; } @@ -57,7 +57,7 @@ public String getCustomerExternalId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/billing/types/CountBillingProductsParams.java b/src/main/java/com/schematic/api/resources/billing/types/CountBillingProductsParams.java index 0800206..210158c 100644 --- a/src/main/java/com/schematic/api/resources/billing/types/CountBillingProductsParams.java +++ b/src/main/java/com/schematic/api/resources/billing/types/CountBillingProductsParams.java @@ -39,6 +39,8 @@ public final class CountBillingProductsParams { private final Optional q; + private final Optional recurringChargesOnly; + private final Optional withOneTimeCharges; private final Optional withPricesOnly; @@ -58,6 +60,7 @@ private CountBillingProductsParams( Optional priceUsageType, Optional providerType, Optional q, + Optional recurringChargesOnly, Optional withOneTimeCharges, Optional withPricesOnly, Optional withZeroPrice, @@ -71,6 +74,7 @@ private CountBillingProductsParams( this.priceUsageType = priceUsageType; this.providerType = providerType; this.q = q; + this.recurringChargesOnly = recurringChargesOnly; this.withOneTimeCharges = withOneTimeCharges; this.withPricesOnly = withPricesOnly; this.withZeroPrice = withZeroPrice; @@ -127,6 +131,14 @@ public Optional getQ() { return q; } + /** + * @return Filter to products that have at least one recurring price + */ + @JsonProperty("recurring_charges_only") + public Optional getRecurringChargesOnly() { + return recurringChargesOnly; + } + /** * @return Filter products that are one time charges */ @@ -179,6 +191,7 @@ private boolean equalTo(CountBillingProductsParams other) { && priceUsageType.equals(other.priceUsageType) && providerType.equals(other.providerType) && q.equals(other.q) + && recurringChargesOnly.equals(other.recurringChargesOnly) && withOneTimeCharges.equals(other.withOneTimeCharges) && withPricesOnly.equals(other.withPricesOnly) && withZeroPrice.equals(other.withZeroPrice) @@ -196,6 +209,7 @@ public int hashCode() { this.priceUsageType, this.providerType, this.q, + this.recurringChargesOnly, this.withOneTimeCharges, this.withPricesOnly, this.withZeroPrice, @@ -229,6 +243,8 @@ public static final class Builder { private Optional q = Optional.empty(); + private Optional recurringChargesOnly = Optional.empty(); + private Optional withOneTimeCharges = Optional.empty(); private Optional withPricesOnly = Optional.empty(); @@ -251,6 +267,7 @@ public Builder from(CountBillingProductsParams other) { priceUsageType(other.getPriceUsageType()); providerType(other.getProviderType()); q(other.getQ()); + recurringChargesOnly(other.getRecurringChargesOnly()); withOneTimeCharges(other.getWithOneTimeCharges()); withPricesOnly(other.getWithPricesOnly()); withZeroPrice(other.getWithZeroPrice()); @@ -355,6 +372,20 @@ public Builder q(String q) { return this; } + /** + *

Filter to products that have at least one recurring price

+ */ + @JsonSetter(value = "recurring_charges_only", nulls = Nulls.SKIP) + public Builder recurringChargesOnly(Optional recurringChargesOnly) { + this.recurringChargesOnly = recurringChargesOnly; + return this; + } + + public Builder recurringChargesOnly(Boolean recurringChargesOnly) { + this.recurringChargesOnly = Optional.ofNullable(recurringChargesOnly); + return this; + } + /** *

Filter products that are one time charges

*/ @@ -421,6 +452,7 @@ public CountBillingProductsParams build() { priceUsageType, providerType, q, + recurringChargesOnly, withOneTimeCharges, withPricesOnly, withZeroPrice, diff --git a/src/main/java/com/schematic/api/resources/billing/types/ListBillingProductsParams.java b/src/main/java/com/schematic/api/resources/billing/types/ListBillingProductsParams.java index d02b28f..bf4d2f7 100644 --- a/src/main/java/com/schematic/api/resources/billing/types/ListBillingProductsParams.java +++ b/src/main/java/com/schematic/api/resources/billing/types/ListBillingProductsParams.java @@ -39,6 +39,8 @@ public final class ListBillingProductsParams { private final Optional q; + private final Optional recurringChargesOnly; + private final Optional withOneTimeCharges; private final Optional withPricesOnly; @@ -58,6 +60,7 @@ private ListBillingProductsParams( Optional priceUsageType, Optional providerType, Optional q, + Optional recurringChargesOnly, Optional withOneTimeCharges, Optional withPricesOnly, Optional withZeroPrice, @@ -71,6 +74,7 @@ private ListBillingProductsParams( this.priceUsageType = priceUsageType; this.providerType = providerType; this.q = q; + this.recurringChargesOnly = recurringChargesOnly; this.withOneTimeCharges = withOneTimeCharges; this.withPricesOnly = withPricesOnly; this.withZeroPrice = withZeroPrice; @@ -127,6 +131,14 @@ public Optional getQ() { return q; } + /** + * @return Filter to products that have at least one recurring price + */ + @JsonProperty("recurring_charges_only") + public Optional getRecurringChargesOnly() { + return recurringChargesOnly; + } + /** * @return Filter products that are one time charges */ @@ -179,6 +191,7 @@ private boolean equalTo(ListBillingProductsParams other) { && priceUsageType.equals(other.priceUsageType) && providerType.equals(other.providerType) && q.equals(other.q) + && recurringChargesOnly.equals(other.recurringChargesOnly) && withOneTimeCharges.equals(other.withOneTimeCharges) && withPricesOnly.equals(other.withPricesOnly) && withZeroPrice.equals(other.withZeroPrice) @@ -196,6 +209,7 @@ public int hashCode() { this.priceUsageType, this.providerType, this.q, + this.recurringChargesOnly, this.withOneTimeCharges, this.withPricesOnly, this.withZeroPrice, @@ -229,6 +243,8 @@ public static final class Builder { private Optional q = Optional.empty(); + private Optional recurringChargesOnly = Optional.empty(); + private Optional withOneTimeCharges = Optional.empty(); private Optional withPricesOnly = Optional.empty(); @@ -251,6 +267,7 @@ public Builder from(ListBillingProductsParams other) { priceUsageType(other.getPriceUsageType()); providerType(other.getProviderType()); q(other.getQ()); + recurringChargesOnly(other.getRecurringChargesOnly()); withOneTimeCharges(other.getWithOneTimeCharges()); withPricesOnly(other.getWithPricesOnly()); withZeroPrice(other.getWithZeroPrice()); @@ -355,6 +372,20 @@ public Builder q(String q) { return this; } + /** + *

Filter to products that have at least one recurring price

+ */ + @JsonSetter(value = "recurring_charges_only", nulls = Nulls.SKIP) + public Builder recurringChargesOnly(Optional recurringChargesOnly) { + this.recurringChargesOnly = recurringChargesOnly; + return this; + } + + public Builder recurringChargesOnly(Boolean recurringChargesOnly) { + this.recurringChargesOnly = Optional.ofNullable(recurringChargesOnly); + return this; + } + /** *

Filter products that are one time charges

*/ @@ -421,6 +452,7 @@ public ListBillingProductsParams build() { priceUsageType, providerType, q, + recurringChargesOnly, withOneTimeCharges, withPricesOnly, withZeroPrice, 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 9794196..fb2b7bc 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_) */ - @JsonIgnore + @JsonProperty("credit_type_ids") public Optional> getCreditTypeIds() { return creditTypeIds; } @@ -119,7 +119,7 @@ public Optional> getCreditTypeIds() { /** * @return Filter companies by multiple company IDs (starts with comp_) */ - @JsonIgnore + @JsonProperty("ids") 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_) */ - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } @@ -135,7 +135,7 @@ public Optional> getPlanIds() { /** * @return Filter companies by one or more subscription statuses */ - @JsonIgnore + @JsonProperty("subscription_statuses") public Optional> getSubscriptionStatuses() { return subscriptionStatuses; } @@ -143,7 +143,7 @@ public Optional> getSubscriptionStatuses() { /** * @return Filter companies by one or more subscription types */ - @JsonIgnore + @JsonProperty("subscription_types") public Optional> getSubscriptionTypes() { return subscriptionTypes; } @@ -151,7 +151,7 @@ public Optional> getSubscriptionTypes() { /** * @return Filter companies that have a pending scheduled downgrade */ - @JsonIgnore + @JsonProperty("has_scheduled_downgrade") public Optional getHasScheduledDowngrade() { return hasScheduledDowngrade; } @@ -159,7 +159,7 @@ public Optional getHasScheduledDowngrade() { /** * @return Filter companies that have monetized subscriptions */ - @JsonIgnore + @JsonProperty("monetized_subscriptions") public Optional getMonetizedSubscriptions() { return monetizedSubscriptions; } @@ -167,7 +167,7 @@ public Optional getMonetizedSubscriptions() { /** * @return Filter companies by plan ID (starts with plan_) */ - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } @@ -175,7 +175,7 @@ public Optional getPlanId() { /** * @return Filter companies by plan version ID (starts with plvr_) */ - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -183,7 +183,7 @@ public Optional getPlanVersionId() { /** * @return Search for companies by name, keys or string traits */ - @JsonIgnore + @JsonProperty("q") 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) */ - @JsonIgnore + @JsonProperty("sort_order_column") public Optional getSortOrderColumn() { return sortOrderColumn; } @@ -199,7 +199,7 @@ public Optional getSortOrderColumn() { /** * @return Direction to sort by (asc or desc) */ - @JsonIgnore + @JsonProperty("sort_order_direction") 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 */ - @JsonIgnore + @JsonProperty("with_entitlement_for") 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 */ - @JsonIgnore + @JsonProperty("without_feature_override_for") public Optional getWithoutFeatureOverrideFor() { return withoutFeatureOverrideFor; } @@ -223,7 +223,7 @@ public Optional getWithoutFeatureOverrideFor() { /** * @return Filter out companies that have a plan */ - @JsonIgnore + @JsonProperty("without_plan") public Optional getWithoutPlan() { return withoutPlan; } @@ -231,7 +231,7 @@ public Optional getWithoutPlan() { /** * @return Filter out companies that have a subscription */ - @JsonIgnore + @JsonProperty("without_subscription") public Optional getWithoutSubscription() { return withoutSubscription; } @@ -239,7 +239,7 @@ public Optional getWithoutSubscription() { /** * @return Filter companies that have a subscription */ - @JsonIgnore + @JsonProperty("with_subscription") public Optional getWithSubscription() { return withSubscription; } @@ -247,7 +247,7 @@ public Optional getWithSubscription() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -255,7 +255,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 31cdeb9..bcf453c 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("entity_type") public Optional getEntityType() { return entityType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -68,7 +68,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -76,7 +76,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 1d3c94b..9102e4c 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("trait_types") public Optional> getTraitTypes() { return traitTypes; } - @JsonIgnore + @JsonProperty("entity_type") public Optional getEntityType() { return entityType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("trait_type") public Optional getTraitType() { return traitType; } @@ -87,7 +87,7 @@ public Optional getTraitType() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -95,7 +95,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 a653cc2..3af7630 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("trait_ids") public Optional> getTraitIds() { return traitIds; } - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } - @JsonIgnore + @JsonProperty("trait_id") public Optional getTraitId() { return traitId; } @@ -76,7 +76,7 @@ public Optional getTraitId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -84,7 +84,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 4bcee89..5954844 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_) */ - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -64,7 +64,7 @@ public Optional> getIds() { /** * @return Filter users by company ID (starts with comp_) */ - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -72,7 +72,7 @@ public Optional getCompanyId() { /** * @return Filter users by plan ID (starts with plan_) */ - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } @@ -80,7 +80,7 @@ public Optional getPlanId() { /** * @return Search for users by name, keys or string traits */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -88,7 +88,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -96,7 +96,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 b37a87e..2767940 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; } - @JsonIgnore + @JsonProperty("cancel_subscription") public Optional getCancelSubscription() { return cancelSubscription; } - @JsonIgnore + @JsonProperty("prorate") 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 73e169e..c7a08cf 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; } - @JsonIgnore + @JsonProperty("company_ids") public Optional> getCompanyIds() { return companyIds; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -58,7 +58,7 @@ public Optional getCompanyId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 82a6746..2aa9f6d 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; } - @JsonIgnore + @JsonProperty("definition_id") public String getDefinitionId() { return definitionId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 60511f2..28ee241 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_) */ - @JsonIgnore + @JsonProperty("credit_type_ids") public Optional> getCreditTypeIds() { return creditTypeIds; } @@ -119,7 +119,7 @@ public Optional> getCreditTypeIds() { /** * @return Filter companies by multiple company IDs (starts with comp_) */ - @JsonIgnore + @JsonProperty("ids") 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_) */ - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } @@ -135,7 +135,7 @@ public Optional> getPlanIds() { /** * @return Filter companies by one or more subscription statuses */ - @JsonIgnore + @JsonProperty("subscription_statuses") public Optional> getSubscriptionStatuses() { return subscriptionStatuses; } @@ -143,7 +143,7 @@ public Optional> getSubscriptionStatuses() { /** * @return Filter companies by one or more subscription types */ - @JsonIgnore + @JsonProperty("subscription_types") public Optional> getSubscriptionTypes() { return subscriptionTypes; } @@ -151,7 +151,7 @@ public Optional> getSubscriptionTypes() { /** * @return Filter companies that have a pending scheduled downgrade */ - @JsonIgnore + @JsonProperty("has_scheduled_downgrade") public Optional getHasScheduledDowngrade() { return hasScheduledDowngrade; } @@ -159,7 +159,7 @@ public Optional getHasScheduledDowngrade() { /** * @return Filter companies that have monetized subscriptions */ - @JsonIgnore + @JsonProperty("monetized_subscriptions") public Optional getMonetizedSubscriptions() { return monetizedSubscriptions; } @@ -167,7 +167,7 @@ public Optional getMonetizedSubscriptions() { /** * @return Filter companies by plan ID (starts with plan_) */ - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } @@ -175,7 +175,7 @@ public Optional getPlanId() { /** * @return Filter companies by plan version ID (starts with plvr_) */ - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -183,7 +183,7 @@ public Optional getPlanVersionId() { /** * @return Search for companies by name, keys or string traits */ - @JsonIgnore + @JsonProperty("q") 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) */ - @JsonIgnore + @JsonProperty("sort_order_column") public Optional getSortOrderColumn() { return sortOrderColumn; } @@ -199,7 +199,7 @@ public Optional getSortOrderColumn() { /** * @return Direction to sort by (asc or desc) */ - @JsonIgnore + @JsonProperty("sort_order_direction") 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 */ - @JsonIgnore + @JsonProperty("with_entitlement_for") 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 */ - @JsonIgnore + @JsonProperty("without_feature_override_for") public Optional getWithoutFeatureOverrideFor() { return withoutFeatureOverrideFor; } @@ -223,7 +223,7 @@ public Optional getWithoutFeatureOverrideFor() { /** * @return Filter out companies that have a plan */ - @JsonIgnore + @JsonProperty("without_plan") public Optional getWithoutPlan() { return withoutPlan; } @@ -231,7 +231,7 @@ public Optional getWithoutPlan() { /** * @return Filter out companies that have a subscription */ - @JsonIgnore + @JsonProperty("without_subscription") public Optional getWithoutSubscription() { return withoutSubscription; } @@ -239,7 +239,7 @@ public Optional getWithoutSubscription() { /** * @return Filter companies that have a subscription */ - @JsonIgnore + @JsonProperty("with_subscription") public Optional getWithSubscription() { return withSubscription; } @@ -247,7 +247,7 @@ public Optional getWithSubscription() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -255,7 +255,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 f87fe6a..da2ab3d 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("user_id") public Optional getUserId() { return userId; } @@ -56,7 +56,7 @@ public Optional getUserId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -64,7 +64,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 5700eab..daecd29 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("entity_type") public Optional getEntityType() { return entityType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -68,7 +68,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -76,7 +76,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 f3ae9f9..6bfafbe 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("trait_types") public Optional> getTraitTypes() { return traitTypes; } - @JsonIgnore + @JsonProperty("entity_type") public Optional getEntityType() { return entityType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("trait_type") public Optional getTraitType() { return traitType; } @@ -87,7 +87,7 @@ public Optional getTraitType() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -95,7 +95,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 28ac15c..aa3452c 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; } - @JsonIgnore + @JsonProperty("company_ids") public Optional> getCompanyIds() { return companyIds; } - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } - @JsonIgnore + @JsonProperty("action") public Optional getAction() { return action; } - @JsonIgnore + @JsonProperty("base_plan_action") public Optional getBasePlanAction() { return basePlanAction; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -87,7 +87,7 @@ public Optional getCompanyId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -95,7 +95,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 9e61d17..6178385 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("trait_ids") public Optional> getTraitIds() { return traitIds; } - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } - @JsonIgnore + @JsonProperty("trait_id") public Optional getTraitId() { return traitId; } @@ -76,7 +76,7 @@ public Optional getTraitId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -84,7 +84,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 37748c3..2cb70c6 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_) */ - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -64,7 +64,7 @@ public Optional> getIds() { /** * @return Filter users by company ID (starts with comp_) */ - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -72,7 +72,7 @@ public Optional getCompanyId() { /** * @return Filter users by plan ID (starts with plan_) */ - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } @@ -80,7 +80,7 @@ public Optional getPlanId() { /** * @return Search for users by name, keys or string traits */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -88,7 +88,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -96,7 +96,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 f7b77d2..a0a1f94 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 */ - @JsonIgnore + @JsonProperty("keys") 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 944459d..99ec230 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 */ - @JsonIgnore + @JsonProperty("keys") 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 f52e35f..9553ad2 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; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 00bcbe6..9f45256 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; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 e7c587b..7b1ff0f 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("component_id") public Optional getComponentId() { return componentId; } 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 07bd1ce..f1f478a 100644 --- a/src/main/java/com/schematic/api/resources/credits/AsyncRawCreditsClient.java +++ b/src/main/java/com/schematic/api/resources/credits/AsyncRawCreditsClient.java @@ -2275,6 +2275,10 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { QueryStringMapper.addQueryParameter( httpUrl, "plan_ids", request.getPlanIds().get(), true); } + if (request.getPlanVersionIds().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "plan_version_ids", request.getPlanVersionIds().get(), true); + } if (requestOptions != null) { requestOptions.getQueryParameters().forEach((_key, _value) -> { httpUrl.addQueryParameter(_key, _value); @@ -2784,6 +2788,10 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { QueryStringMapper.addQueryParameter( httpUrl, "plan_ids", request.getPlanIds().get(), true); } + if (request.getPlanVersionIds().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "plan_version_ids", request.getPlanVersionIds().get(), true); + } if (requestOptions != null) { requestOptions.getQueryParameters().forEach((_key, _value) -> { httpUrl.addQueryParameter(_key, _value); 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 07efbb2..e3b88ec 100644 --- a/src/main/java/com/schematic/api/resources/credits/RawCreditsClient.java +++ b/src/main/java/com/schematic/api/resources/credits/RawCreditsClient.java @@ -1752,6 +1752,10 @@ public BaseSchematicHttpResponse listBillin QueryStringMapper.addQueryParameter( httpUrl, "plan_ids", request.getPlanIds().get(), true); } + if (request.getPlanVersionIds().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "plan_version_ids", request.getPlanVersionIds().get(), true); + } if (requestOptions != null) { requestOptions.getQueryParameters().forEach((_key, _value) -> { httpUrl.addQueryParameter(_key, _value); @@ -2137,6 +2141,10 @@ public BaseSchematicHttpResponse countBill QueryStringMapper.addQueryParameter( httpUrl, "plan_ids", request.getPlanIds().get(), true); } + if (request.getPlanVersionIds().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "plan_version_ids", request.getPlanVersionIds().get(), true); + } if (requestOptions != null) { requestOptions.getQueryParameters().forEach((_key, _value) -> { httpUrl.addQueryParameter(_key, _value); 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 3bab2a9..7c2cb54 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("credit_id") public Optional getCreditId() { return creditId; } @@ -58,7 +58,7 @@ public Optional getCreditId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 7997d4d..2d4975b 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("name") public Optional getName() { return name; } @@ -58,7 +58,7 @@ public Optional getName() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 076ad53..fba8d81 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; @@ -26,6 +26,8 @@ public final class CountBillingPlanCreditGrantsRequest { private final Optional> planIds; + private final Optional> planVersionIds; + private final Optional creditId; private final Optional planId; @@ -41,6 +43,7 @@ public final class CountBillingPlanCreditGrantsRequest { private CountBillingPlanCreditGrantsRequest( Optional> ids, Optional> planIds, + Optional> planVersionIds, Optional creditId, Optional planId, Optional planVersionId, @@ -49,6 +52,7 @@ private CountBillingPlanCreditGrantsRequest( Map additionalProperties) { this.ids = ids; this.planIds = planIds; + this.planVersionIds = planVersionIds; this.creditId = creditId; this.planId = planId; this.planVersionId = planVersionId; @@ -57,27 +61,32 @@ private CountBillingPlanCreditGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } - @JsonIgnore + @JsonProperty("plan_version_ids") + public Optional> getPlanVersionIds() { + return planVersionIds; + } + + @JsonProperty("credit_id") public Optional getCreditId() { return creditId; } - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -85,7 +94,7 @@ public Optional getPlanVersionId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -93,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -113,6 +122,7 @@ public Map getAdditionalProperties() { private boolean equalTo(CountBillingPlanCreditGrantsRequest other) { return ids.equals(other.ids) && planIds.equals(other.planIds) + && planVersionIds.equals(other.planVersionIds) && creditId.equals(other.creditId) && planId.equals(other.planId) && planVersionId.equals(other.planVersionId) @@ -123,7 +133,14 @@ private boolean equalTo(CountBillingPlanCreditGrantsRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( - this.ids, this.planIds, this.creditId, this.planId, this.planVersionId, this.limit, this.offset); + this.ids, + this.planIds, + this.planVersionIds, + this.creditId, + this.planId, + this.planVersionId, + this.limit, + this.offset); } @java.lang.Override @@ -141,6 +158,8 @@ public static final class Builder { private Optional> planIds = Optional.empty(); + private Optional> planVersionIds = Optional.empty(); + private Optional creditId = Optional.empty(); private Optional planId = Optional.empty(); @@ -159,6 +178,7 @@ private Builder() {} public Builder from(CountBillingPlanCreditGrantsRequest other) { ids(other.getIds()); planIds(other.getPlanIds()); + planVersionIds(other.getPlanVersionIds()); creditId(other.getCreditId()); planId(other.getPlanId()); planVersionId(other.getPlanVersionId()); @@ -199,6 +219,22 @@ public Builder planIds(String planIds) { return this; } + @JsonSetter(value = "plan_version_ids", nulls = Nulls.SKIP) + public Builder planVersionIds(Optional> planVersionIds) { + this.planVersionIds = planVersionIds; + return this; + } + + public Builder planVersionIds(List planVersionIds) { + this.planVersionIds = Optional.ofNullable(planVersionIds); + return this; + } + + public Builder planVersionIds(String planVersionIds) { + this.planVersionIds = Optional.of(Collections.singletonList(planVersionIds)); + return this; + } + @JsonSetter(value = "credit_id", nulls = Nulls.SKIP) public Builder creditId(Optional creditId) { this.creditId = creditId; @@ -262,7 +298,7 @@ public Builder offset(Long offset) { public CountBillingPlanCreditGrantsRequest build() { return new CountBillingPlanCreditGrantsRequest( - ids, planIds, creditId, planId, planVersionId, limit, offset, additionalProperties); + ids, planIds, planVersionIds, creditId, planId, planVersionId, limit, offset, additionalProperties); } public Builder additionalProperty(String key, Object value) { 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 1c97a5d..8a7a48d 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("order") public Optional getOrder() { return order; } - @JsonIgnore + @JsonProperty("dir") public Optional getDir() { return dir; } @@ -67,7 +67,7 @@ public Optional getDir() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 193b2bb..823732e 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("credit_id") public Optional getCreditId() { return creditId; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } - @JsonIgnore + @JsonProperty("bundle_type") public Optional getBundleType() { return bundleType; } @@ -77,7 +77,7 @@ public Optional getBundleType() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 2dab17a..58cfa57 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; } - @JsonIgnore + @JsonProperty("billing_credit_id") public Optional getBillingCreditId() { return billingCreditId; } - @JsonIgnore + @JsonProperty("company_id") public String getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("end_time") public Optional getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("event_type") public Optional getEventType() { return eventType; } - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("start_time") public Optional getStartTime() { return startTime; } @@ -94,7 +94,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 33b1190..32fb794 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; } - @JsonIgnore + @JsonProperty("company_id") public String getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("billing_credit_id") public Optional getBillingCreditId() { return billingCreditId; } - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("period") public CreditLedgerPeriod getPeriod() { return period; } - @JsonIgnore + @JsonProperty("start_time") public Optional getStartTime() { return startTime; } - @JsonIgnore + @JsonProperty("end_time") public Optional getEndTime() { return endTime; } @@ -94,7 +94,7 @@ public Optional getEndTime() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 c0b48fe..e44c61b 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; } - @JsonIgnore + @JsonProperty("apply_to_existing") 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 3e0b55b..4b10bb1 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; } - @JsonIgnore + @JsonProperty("company_id") public String getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("billing_credit_id") public Optional getBillingCreditId() { return billingCreditId; } - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("period") public CreditLedgerPeriod getPeriod() { return period; } - @JsonIgnore + @JsonProperty("start_time") public Optional getStartTime() { return startTime; } - @JsonIgnore + @JsonProperty("end_time") public Optional getEndTime() { return endTime; } @@ -94,7 +94,7 @@ public Optional getEndTime() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 29e84aa..46df3fa 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("name") public Optional getName() { return name; } @@ -58,7 +58,7 @@ public Optional getName() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 8add3fd..98a6a17 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; @@ -26,6 +26,8 @@ public final class ListBillingPlanCreditGrantsRequest { private final Optional> planIds; + private final Optional> planVersionIds; + private final Optional creditId; private final Optional planId; @@ -41,6 +43,7 @@ public final class ListBillingPlanCreditGrantsRequest { private ListBillingPlanCreditGrantsRequest( Optional> ids, Optional> planIds, + Optional> planVersionIds, Optional creditId, Optional planId, Optional planVersionId, @@ -49,6 +52,7 @@ private ListBillingPlanCreditGrantsRequest( Map additionalProperties) { this.ids = ids; this.planIds = planIds; + this.planVersionIds = planVersionIds; this.creditId = creditId; this.planId = planId; this.planVersionId = planVersionId; @@ -57,27 +61,32 @@ private ListBillingPlanCreditGrantsRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } - @JsonIgnore + @JsonProperty("plan_version_ids") + public Optional> getPlanVersionIds() { + return planVersionIds; + } + + @JsonProperty("credit_id") public Optional getCreditId() { return creditId; } - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -85,7 +94,7 @@ public Optional getPlanVersionId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -93,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -113,6 +122,7 @@ public Map getAdditionalProperties() { private boolean equalTo(ListBillingPlanCreditGrantsRequest other) { return ids.equals(other.ids) && planIds.equals(other.planIds) + && planVersionIds.equals(other.planVersionIds) && creditId.equals(other.creditId) && planId.equals(other.planId) && planVersionId.equals(other.planVersionId) @@ -123,7 +133,14 @@ private boolean equalTo(ListBillingPlanCreditGrantsRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( - this.ids, this.planIds, this.creditId, this.planId, this.planVersionId, this.limit, this.offset); + this.ids, + this.planIds, + this.planVersionIds, + this.creditId, + this.planId, + this.planVersionId, + this.limit, + this.offset); } @java.lang.Override @@ -141,6 +158,8 @@ public static final class Builder { private Optional> planIds = Optional.empty(); + private Optional> planVersionIds = Optional.empty(); + private Optional creditId = Optional.empty(); private Optional planId = Optional.empty(); @@ -159,6 +178,7 @@ private Builder() {} public Builder from(ListBillingPlanCreditGrantsRequest other) { ids(other.getIds()); planIds(other.getPlanIds()); + planVersionIds(other.getPlanVersionIds()); creditId(other.getCreditId()); planId(other.getPlanId()); planVersionId(other.getPlanVersionId()); @@ -199,6 +219,22 @@ public Builder planIds(String planIds) { return this; } + @JsonSetter(value = "plan_version_ids", nulls = Nulls.SKIP) + public Builder planVersionIds(Optional> planVersionIds) { + this.planVersionIds = planVersionIds; + return this; + } + + public Builder planVersionIds(List planVersionIds) { + this.planVersionIds = Optional.ofNullable(planVersionIds); + return this; + } + + public Builder planVersionIds(String planVersionIds) { + this.planVersionIds = Optional.of(Collections.singletonList(planVersionIds)); + return this; + } + @JsonSetter(value = "credit_id", nulls = Nulls.SKIP) public Builder creditId(Optional creditId) { this.creditId = creditId; @@ -262,7 +298,7 @@ public Builder offset(Long offset) { public ListBillingPlanCreditGrantsRequest build() { return new ListBillingPlanCreditGrantsRequest( - ids, planIds, creditId, planId, planVersionId, limit, offset, additionalProperties); + ids, planIds, planVersionIds, creditId, planId, planVersionId, limit, offset, additionalProperties); } public Builder additionalProperty(String key, Object value) { 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 index 8ad363c..cf07447 100644 --- a/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyCreditBalancesRequest.java +++ b/src/main/java/com/schematic/api/resources/credits/requests/ListCompanyCreditBalancesRequest.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.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; @@ -28,7 +28,7 @@ private ListCompanyCreditBalancesRequest(String companyId, Map a this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("company_id") public String getCompanyId() { return companyId; } 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 732d5a7..9942d53 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("order") public Optional getOrder() { return order; } - @JsonIgnore + @JsonProperty("dir") public Optional getDir() { return dir; } @@ -67,7 +67,7 @@ public Optional getDir() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 f91f24f..cd2a45a 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("credit_id") public Optional getCreditId() { return creditId; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } - @JsonIgnore + @JsonProperty("bundle_type") public Optional getBundleType() { return bundleType; } @@ -77,7 +77,7 @@ public Optional getBundleType() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -85,7 +85,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 58e05c9..10baedd 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; } - @JsonIgnore + @JsonProperty("billing_credit_id") public Optional getBillingCreditId() { return billingCreditId; } - @JsonIgnore + @JsonProperty("company_id") public String getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("end_time") public Optional getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("event_type") public Optional getEventType() { return eventType; } - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("start_time") public Optional getStartTime() { return startTime; } @@ -94,7 +94,7 @@ public Optional getStartTime() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -102,7 +102,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 a0b3418..fbd26d6 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("credit_id") public Optional getCreditId() { return creditId; } @@ -58,7 +58,7 @@ public Optional getCreditId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/credits/types/CountBillingPlanCreditGrantsParams.java b/src/main/java/com/schematic/api/resources/credits/types/CountBillingPlanCreditGrantsParams.java index 99751f4..99c7e2f 100644 --- a/src/main/java/com/schematic/api/resources/credits/types/CountBillingPlanCreditGrantsParams.java +++ b/src/main/java/com/schematic/api/resources/credits/types/CountBillingPlanCreditGrantsParams.java @@ -35,6 +35,8 @@ public final class CountBillingPlanCreditGrantsParams { private final Optional planVersionId; + private final Optional> planVersionIds; + private final Map additionalProperties; private CountBillingPlanCreditGrantsParams( @@ -45,6 +47,7 @@ private CountBillingPlanCreditGrantsParams( Optional planId, Optional> planIds, Optional planVersionId, + Optional> planVersionIds, Map additionalProperties) { this.creditId = creditId; this.ids = ids; @@ -53,6 +56,7 @@ private CountBillingPlanCreditGrantsParams( this.planId = planId; this.planIds = planIds; this.planVersionId = planVersionId; + this.planVersionIds = planVersionIds; this.additionalProperties = additionalProperties; } @@ -97,6 +101,11 @@ public Optional getPlanVersionId() { return planVersionId; } + @JsonProperty("plan_version_ids") + public Optional> getPlanVersionIds() { + return planVersionIds; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -116,13 +125,21 @@ private boolean equalTo(CountBillingPlanCreditGrantsParams other) { && offset.equals(other.offset) && planId.equals(other.planId) && planIds.equals(other.planIds) - && planVersionId.equals(other.planVersionId); + && planVersionId.equals(other.planVersionId) + && planVersionIds.equals(other.planVersionIds); } @java.lang.Override public int hashCode() { return Objects.hash( - this.creditId, this.ids, this.limit, this.offset, this.planId, this.planIds, this.planVersionId); + this.creditId, + this.ids, + this.limit, + this.offset, + this.planId, + this.planIds, + this.planVersionId, + this.planVersionIds); } @java.lang.Override @@ -150,6 +167,8 @@ public static final class Builder { private Optional planVersionId = Optional.empty(); + private Optional> planVersionIds = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -163,6 +182,7 @@ public Builder from(CountBillingPlanCreditGrantsParams other) { planId(other.getPlanId()); planIds(other.getPlanIds()); planVersionId(other.getPlanVersionId()); + planVersionIds(other.getPlanVersionIds()); return this; } @@ -249,9 +269,20 @@ public Builder planVersionId(String planVersionId) { return this; } + @JsonSetter(value = "plan_version_ids", nulls = Nulls.SKIP) + public Builder planVersionIds(Optional> planVersionIds) { + this.planVersionIds = planVersionIds; + return this; + } + + public Builder planVersionIds(List planVersionIds) { + this.planVersionIds = Optional.ofNullable(planVersionIds); + return this; + } + public CountBillingPlanCreditGrantsParams build() { return new CountBillingPlanCreditGrantsParams( - creditId, ids, limit, offset, planId, planIds, planVersionId, additionalProperties); + creditId, ids, limit, offset, planId, planIds, planVersionId, planVersionIds, additionalProperties); } public Builder additionalProperty(String key, Object value) { diff --git a/src/main/java/com/schematic/api/resources/credits/types/ListBillingPlanCreditGrantsParams.java b/src/main/java/com/schematic/api/resources/credits/types/ListBillingPlanCreditGrantsParams.java index d20df6e..c65cc75 100644 --- a/src/main/java/com/schematic/api/resources/credits/types/ListBillingPlanCreditGrantsParams.java +++ b/src/main/java/com/schematic/api/resources/credits/types/ListBillingPlanCreditGrantsParams.java @@ -35,6 +35,8 @@ public final class ListBillingPlanCreditGrantsParams { private final Optional planVersionId; + private final Optional> planVersionIds; + private final Map additionalProperties; private ListBillingPlanCreditGrantsParams( @@ -45,6 +47,7 @@ private ListBillingPlanCreditGrantsParams( Optional planId, Optional> planIds, Optional planVersionId, + Optional> planVersionIds, Map additionalProperties) { this.creditId = creditId; this.ids = ids; @@ -53,6 +56,7 @@ private ListBillingPlanCreditGrantsParams( this.planId = planId; this.planIds = planIds; this.planVersionId = planVersionId; + this.planVersionIds = planVersionIds; this.additionalProperties = additionalProperties; } @@ -97,6 +101,11 @@ public Optional getPlanVersionId() { return planVersionId; } + @JsonProperty("plan_version_ids") + public Optional> getPlanVersionIds() { + return planVersionIds; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -115,13 +124,21 @@ private boolean equalTo(ListBillingPlanCreditGrantsParams other) { && offset.equals(other.offset) && planId.equals(other.planId) && planIds.equals(other.planIds) - && planVersionId.equals(other.planVersionId); + && planVersionId.equals(other.planVersionId) + && planVersionIds.equals(other.planVersionIds); } @java.lang.Override public int hashCode() { return Objects.hash( - this.creditId, this.ids, this.limit, this.offset, this.planId, this.planIds, this.planVersionId); + this.creditId, + this.ids, + this.limit, + this.offset, + this.planId, + this.planIds, + this.planVersionId, + this.planVersionIds); } @java.lang.Override @@ -149,6 +166,8 @@ public static final class Builder { private Optional planVersionId = Optional.empty(); + private Optional> planVersionIds = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -162,6 +181,7 @@ public Builder from(ListBillingPlanCreditGrantsParams other) { planId(other.getPlanId()); planIds(other.getPlanIds()); planVersionId(other.getPlanVersionId()); + planVersionIds(other.getPlanVersionIds()); return this; } @@ -248,9 +268,20 @@ public Builder planVersionId(String planVersionId) { return this; } + @JsonSetter(value = "plan_version_ids", nulls = Nulls.SKIP) + public Builder planVersionIds(Optional> planVersionIds) { + this.planVersionIds = planVersionIds; + return this; + } + + public Builder planVersionIds(List planVersionIds) { + this.planVersionIds = Optional.ofNullable(planVersionIds); + return this; + } + public ListBillingPlanCreditGrantsParams build() { return new ListBillingPlanCreditGrantsParams( - creditId, ids, limit, offset, planId, planIds, planVersionId, additionalProperties); + creditId, ids, limit, offset, planId, planIds, planVersionId, planVersionIds, additionalProperties); } public Builder additionalProperty(String key, Object value) { 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 2ddecfa..5ca3aaa 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_) */ - @JsonIgnore + @JsonProperty("company_ids") public Optional> getCompanyIds() { return companyIds; } @@ -76,7 +76,7 @@ public Optional> getCompanyIds() { /** * @return Filter company overrides by multiple feature IDs (starting with feat_) */ - @JsonIgnore + @JsonProperty("feature_ids") public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter company overrides by multiple company override IDs (starting with cmov_) */ - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter company overrides by a single company ID (starting with comp_) */ - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -100,7 +100,7 @@ public Optional getCompanyId() { /** * @return Filter company overrides by a single feature ID (starting with feat_) */ - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } @@ -108,7 +108,7 @@ public Optional getFeatureId() { /** * @return Filter company overrides by whether they have not expired */ - @JsonIgnore + @JsonProperty("without_expired") public Optional getWithoutExpired() { return withoutExpired; } @@ -116,7 +116,7 @@ public Optional getWithoutExpired() { /** * @return Search for company overrides by feature or company name */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -124,7 +124,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -132,7 +132,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 1c233b7..7080fce 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; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 b74d1d7..378680e 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; } - @JsonIgnore + @JsonProperty("feature_ids") public Optional> getFeatureIds() { return featureIds; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("company_keys") 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. */ - @JsonIgnore + @JsonProperty("include_usage_aggregation") public Optional getIncludeUsageAggregation() { return includeUsageAggregation; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("without_negative_entitlements") public Optional getWithoutNegativeEntitlements() { return withoutNegativeEntitlements; } @@ -97,7 +97,7 @@ public Optional getWithoutNegativeEntitlements() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -105,7 +105,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 c601bdb..cbd0496 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; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 5a83721..7ac1079 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_) */ - @JsonIgnore + @JsonProperty("feature_ids") public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter plan entitlements by multiple plan entitlement IDs (starting with pltl_) */ - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter plan entitlements by multiple plan IDs (starting with plan_) */ - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } @@ -100,7 +100,7 @@ public Optional> getPlanIds() { /** * @return Filter plan entitlements by multiple plan version IDs (starting with plvr_) */ - @JsonIgnore + @JsonProperty("plan_version_ids") public Optional> getPlanVersionIds() { return planVersionIds; } @@ -108,7 +108,7 @@ public Optional> getPlanVersionIds() { /** * @return Filter plan entitlements by a single feature ID (starting with feat_) */ - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } @@ -116,7 +116,7 @@ public Optional getFeatureId() { /** * @return Filter plan entitlements by a single plan ID (starting with plan_) */ - @JsonIgnore + @JsonProperty("plan_id") 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_) */ - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -132,7 +132,7 @@ public Optional getPlanVersionId() { /** * @return Search for plan entitlements by feature or company name */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -140,7 +140,7 @@ public Optional getQ() { /** * @return Filter plan entitlements only with metered products */ - @JsonIgnore + @JsonProperty("with_metered_products") public Optional getWithMeteredProducts() { return withMeteredProducts; } @@ -148,7 +148,7 @@ public Optional getWithMeteredProducts() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -156,7 +156,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 5e0cf42..432feb7 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 eb3334b..3068ddb 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; } - @JsonIgnore + @JsonProperty("company_id") public String getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("end_time") public OffsetDateTime getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("granularity") public Optional getGranularity() { return granularity; } - @JsonIgnore + @JsonProperty("start_time") 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 ce18985..66cfdb2 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_) */ - @JsonIgnore + @JsonProperty("company_ids") public Optional> getCompanyIds() { return companyIds; } @@ -76,7 +76,7 @@ public Optional> getCompanyIds() { /** * @return Filter company overrides by multiple feature IDs (starting with feat_) */ - @JsonIgnore + @JsonProperty("feature_ids") public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter company overrides by multiple company override IDs (starting with cmov_) */ - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter company overrides by a single company ID (starting with comp_) */ - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -100,7 +100,7 @@ public Optional getCompanyId() { /** * @return Filter company overrides by a single feature ID (starting with feat_) */ - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } @@ -108,7 +108,7 @@ public Optional getFeatureId() { /** * @return Filter company overrides by whether they have not expired */ - @JsonIgnore + @JsonProperty("without_expired") public Optional getWithoutExpired() { return withoutExpired; } @@ -116,7 +116,7 @@ public Optional getWithoutExpired() { /** * @return Search for company overrides by feature or company name */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -124,7 +124,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -132,7 +132,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 6814525..9353c5c 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; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 fc5cc82..14394b6 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; } - @JsonIgnore + @JsonProperty("feature_ids") public Optional> getFeatureIds() { return featureIds; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("company_keys") 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. */ - @JsonIgnore + @JsonProperty("include_usage_aggregation") public Optional getIncludeUsageAggregation() { return includeUsageAggregation; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("without_negative_entitlements") public Optional getWithoutNegativeEntitlements() { return withoutNegativeEntitlements; } @@ -97,7 +97,7 @@ public Optional getWithoutNegativeEntitlements() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -105,7 +105,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 7d315e9..4e75ad5 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; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -57,7 +57,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 124d752..55adb06 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_) */ - @JsonIgnore + @JsonProperty("feature_ids") public Optional> getFeatureIds() { return featureIds; } @@ -84,7 +84,7 @@ public Optional> getFeatureIds() { /** * @return Filter plan entitlements by multiple plan entitlement IDs (starting with pltl_) */ - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -92,7 +92,7 @@ public Optional> getIds() { /** * @return Filter plan entitlements by multiple plan IDs (starting with plan_) */ - @JsonIgnore + @JsonProperty("plan_ids") public Optional> getPlanIds() { return planIds; } @@ -100,7 +100,7 @@ public Optional> getPlanIds() { /** * @return Filter plan entitlements by multiple plan version IDs (starting with plvr_) */ - @JsonIgnore + @JsonProperty("plan_version_ids") public Optional> getPlanVersionIds() { return planVersionIds; } @@ -108,7 +108,7 @@ public Optional> getPlanVersionIds() { /** * @return Filter plan entitlements by a single feature ID (starting with feat_) */ - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } @@ -116,7 +116,7 @@ public Optional getFeatureId() { /** * @return Filter plan entitlements by a single plan ID (starting with plan_) */ - @JsonIgnore + @JsonProperty("plan_id") 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_) */ - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -132,7 +132,7 @@ public Optional getPlanVersionId() { /** * @return Search for plan entitlements by feature or company name */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -140,7 +140,7 @@ public Optional getQ() { /** * @return Filter plan entitlements only with metered products */ - @JsonIgnore + @JsonProperty("with_metered_products") public Optional getWithMeteredProducts() { return withMeteredProducts; } @@ -148,7 +148,7 @@ public Optional getWithMeteredProducts() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -156,7 +156,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/events/AsyncRawEventsClient.java b/src/main/java/com/schematic/api/resources/events/AsyncRawEventsClient.java index f0a5485..9817099 100644 --- a/src/main/java/com/schematic/api/resources/events/AsyncRawEventsClient.java +++ b/src/main/java/com/schematic/api/resources/events/AsyncRawEventsClient.java @@ -280,6 +280,10 @@ public CompletableFuture> listEven QueryStringMapper.addQueryParameter( httpUrl, "flag_id", request.getFlagId().get(), false); } + if (request.getIdempotencyKey().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "idempotency_key", request.getIdempotencyKey().get(), false); + } if (request.getUserId().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, "user_id", request.getUserId().get(), false); diff --git a/src/main/java/com/schematic/api/resources/events/RawEventsClient.java b/src/main/java/com/schematic/api/resources/events/RawEventsClient.java index c0c69c4..8dcedbb 100644 --- a/src/main/java/com/schematic/api/resources/events/RawEventsClient.java +++ b/src/main/java/com/schematic/api/resources/events/RawEventsClient.java @@ -226,6 +226,10 @@ public BaseSchematicHttpResponse listEvents( QueryStringMapper.addQueryParameter( httpUrl, "flag_id", request.getFlagId().get(), false); } + if (request.getIdempotencyKey().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "idempotency_key", request.getIdempotencyKey().get(), false); + } if (request.getUserId().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, "user_id", request.getUserId().get(), false); 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 fb51f69..a70a044 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; } - @JsonIgnore + @JsonProperty("event_subtypes") public Optional> getEventSubtypes() { return eventSubtypes; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -58,7 +58,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -66,7 +66,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 bbadb38..d350d33 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; @@ -31,6 +31,8 @@ public final class ListEventsRequest { private final Optional flagId; + private final Optional idempotencyKey; + private final Optional userId; private final Optional limit; @@ -44,6 +46,7 @@ private ListEventsRequest( Optional companyId, Optional eventSubtype, Optional flagId, + Optional idempotencyKey, Optional userId, Optional limit, Optional offset, @@ -52,33 +55,39 @@ private ListEventsRequest( this.companyId = companyId; this.eventSubtype = eventSubtype; this.flagId = flagId; + this.idempotencyKey = idempotencyKey; this.userId = userId; this.limit = limit; this.offset = offset; this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("event_types") public Optional> getEventTypes() { return eventTypes; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("event_subtype") public Optional getEventSubtype() { return eventSubtype; } - @JsonIgnore + @JsonProperty("flag_id") public Optional getFlagId() { return flagId; } - @JsonIgnore + @JsonProperty("idempotency_key") + public Optional getIdempotencyKey() { + return idempotencyKey; + } + + @JsonProperty("user_id") public Optional getUserId() { return userId; } @@ -86,7 +95,7 @@ public Optional getUserId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -94,7 +103,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -115,6 +124,7 @@ private boolean equalTo(ListEventsRequest other) { && companyId.equals(other.companyId) && eventSubtype.equals(other.eventSubtype) && flagId.equals(other.flagId) + && idempotencyKey.equals(other.idempotencyKey) && userId.equals(other.userId) && limit.equals(other.limit) && offset.equals(other.offset); @@ -123,7 +133,14 @@ private boolean equalTo(ListEventsRequest other) { @java.lang.Override public int hashCode() { return Objects.hash( - this.eventTypes, this.companyId, this.eventSubtype, this.flagId, this.userId, this.limit, this.offset); + this.eventTypes, + this.companyId, + this.eventSubtype, + this.flagId, + this.idempotencyKey, + this.userId, + this.limit, + this.offset); } @java.lang.Override @@ -145,6 +162,8 @@ public static final class Builder { private Optional flagId = Optional.empty(); + private Optional idempotencyKey = Optional.empty(); + private Optional userId = Optional.empty(); private Optional limit = Optional.empty(); @@ -161,6 +180,7 @@ public Builder from(ListEventsRequest other) { companyId(other.getCompanyId()); eventSubtype(other.getEventSubtype()); flagId(other.getFlagId()); + idempotencyKey(other.getIdempotencyKey()); userId(other.getUserId()); limit(other.getLimit()); offset(other.getOffset()); @@ -216,6 +236,17 @@ public Builder flagId(String flagId) { return this; } + @JsonSetter(value = "idempotency_key", nulls = Nulls.SKIP) + public Builder idempotencyKey(Optional idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + + public Builder idempotencyKey(String idempotencyKey) { + this.idempotencyKey = Optional.ofNullable(idempotencyKey); + return this; + } + @JsonSetter(value = "user_id", nulls = Nulls.SKIP) public Builder userId(Optional userId) { this.userId = userId; @@ -257,7 +288,15 @@ public Builder offset(Long offset) { public ListEventsRequest build() { return new ListEventsRequest( - eventTypes, companyId, eventSubtype, flagId, userId, limit, offset, additionalProperties); + eventTypes, + companyId, + eventSubtype, + flagId, + idempotencyKey, + userId, + limit, + offset, + additionalProperties); } public Builder additionalProperty(String key, Object value) { diff --git a/src/main/java/com/schematic/api/resources/events/types/ListEventsParams.java b/src/main/java/com/schematic/api/resources/events/types/ListEventsParams.java index 96b44d8..d33983d 100644 --- a/src/main/java/com/schematic/api/resources/events/types/ListEventsParams.java +++ b/src/main/java/com/schematic/api/resources/events/types/ListEventsParams.java @@ -30,6 +30,8 @@ public final class ListEventsParams { private final Optional flagId; + private final Optional idempotencyKey; + private final Optional limit; private final Optional offset; @@ -43,6 +45,7 @@ private ListEventsParams( Optional eventSubtype, Optional> eventTypes, Optional flagId, + Optional idempotencyKey, Optional limit, Optional offset, Optional userId, @@ -51,6 +54,7 @@ private ListEventsParams( this.eventSubtype = eventSubtype; this.eventTypes = eventTypes; this.flagId = flagId; + this.idempotencyKey = idempotencyKey; this.limit = limit; this.offset = offset; this.userId = userId; @@ -77,6 +81,11 @@ public Optional getFlagId() { return flagId; } + @JsonProperty("idempotency_key") + public Optional getIdempotencyKey() { + return idempotencyKey; + } + /** * @return Page limit (default 100) */ @@ -114,6 +123,7 @@ private boolean equalTo(ListEventsParams other) { && eventSubtype.equals(other.eventSubtype) && eventTypes.equals(other.eventTypes) && flagId.equals(other.flagId) + && idempotencyKey.equals(other.idempotencyKey) && limit.equals(other.limit) && offset.equals(other.offset) && userId.equals(other.userId); @@ -122,7 +132,14 @@ private boolean equalTo(ListEventsParams other) { @java.lang.Override public int hashCode() { return Objects.hash( - this.companyId, this.eventSubtype, this.eventTypes, this.flagId, this.limit, this.offset, this.userId); + this.companyId, + this.eventSubtype, + this.eventTypes, + this.flagId, + this.idempotencyKey, + this.limit, + this.offset, + this.userId); } @java.lang.Override @@ -144,6 +161,8 @@ public static final class Builder { private Optional flagId = Optional.empty(); + private Optional idempotencyKey = Optional.empty(); + private Optional limit = Optional.empty(); private Optional offset = Optional.empty(); @@ -160,6 +179,7 @@ public Builder from(ListEventsParams other) { eventSubtype(other.getEventSubtype()); eventTypes(other.getEventTypes()); flagId(other.getFlagId()); + idempotencyKey(other.getIdempotencyKey()); limit(other.getLimit()); offset(other.getOffset()); userId(other.getUserId()); @@ -210,6 +230,17 @@ public Builder flagId(String flagId) { return this; } + @JsonSetter(value = "idempotency_key", nulls = Nulls.SKIP) + public Builder idempotencyKey(Optional idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + + public Builder idempotencyKey(String idempotencyKey) { + this.idempotencyKey = Optional.ofNullable(idempotencyKey); + return this; + } + /** *

Page limit (default 100)

*/ @@ -251,7 +282,15 @@ public Builder userId(String userId) { public ListEventsParams build() { return new ListEventsParams( - companyId, eventSubtype, eventTypes, flagId, limit, offset, userId, additionalProperties); + companyId, + eventSubtype, + eventTypes, + flagId, + idempotencyKey, + limit, + offset, + userId, + additionalProperties); } public Builder additionalProperty(String key, Object value) { diff --git a/src/main/java/com/schematic/api/resources/features/AsyncRawFeaturesClient.java b/src/main/java/com/schematic/api/resources/features/AsyncRawFeaturesClient.java index 780127f..a776190 100644 --- a/src/main/java/com/schematic/api/resources/features/AsyncRawFeaturesClient.java +++ b/src/main/java/com/schematic/api/resources/features/AsyncRawFeaturesClient.java @@ -92,6 +92,10 @@ public CompletableFuture> listFe request.getBooleanRequireEvent().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getPlanVersionId().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, "plan_version_id", request.getPlanVersionId().get(), false); @@ -686,6 +690,10 @@ public CompletableFuture> count request.getBooleanRequireEvent().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getPlanVersionId().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, "plan_version_id", request.getPlanVersionId().get(), false); diff --git a/src/main/java/com/schematic/api/resources/features/RawFeaturesClient.java b/src/main/java/com/schematic/api/resources/features/RawFeaturesClient.java index 913dce2..0d6b9b9 100644 --- a/src/main/java/com/schematic/api/resources/features/RawFeaturesClient.java +++ b/src/main/java/com/schematic/api/resources/features/RawFeaturesClient.java @@ -86,6 +86,10 @@ public BaseSchematicHttpResponse listFeatures( request.getBooleanRequireEvent().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getPlanVersionId().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, "plan_version_id", request.getPlanVersionId().get(), false); @@ -533,6 +537,10 @@ public BaseSchematicHttpResponse countFeatures( request.getBooleanRequireEvent().get(), false); } + if (request.getManagedBy().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "managed_by", request.getManagedBy().get(), false); + } if (request.getPlanVersionId().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, "plan_version_id", request.getPlanVersionId().get(), false); 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 f992cf4..eaa2cb0 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,13 +5,14 @@ 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; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import com.schematic.api.types.FeatureType; import java.util.Collections; import java.util.HashMap; @@ -29,6 +30,8 @@ public final class CountFeaturesRequest { private final Optional booleanRequireEvent; + private final Optional managedBy; + private final Optional planVersionId; private final Optional q; @@ -47,6 +50,7 @@ private CountFeaturesRequest( Optional> featureType, Optional> ids, Optional booleanRequireEvent, + Optional managedBy, Optional planVersionId, Optional q, Optional withoutCompanyOverrideFor, @@ -57,6 +61,7 @@ private CountFeaturesRequest( this.featureType = featureType; this.ids = ids; this.booleanRequireEvent = booleanRequireEvent; + this.managedBy = managedBy; this.planVersionId = planVersionId; this.q = q; this.withoutCompanyOverrideFor = withoutCompanyOverrideFor; @@ -69,12 +74,12 @@ private CountFeaturesRequest( /** * @return Filter by one or more feature types (boolean, event, trait) */ - @JsonIgnore + @JsonProperty("feature_type") public Optional> getFeatureType() { return featureType; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -82,15 +87,23 @@ public Optional> getIds() { /** * @return Only return boolean features if there is an associated event. Automatically includes boolean in the feature types filter. */ - @JsonIgnore + @JsonProperty("boolean_require_event") public Optional getBooleanRequireEvent() { return booleanRequireEvent; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + /** * @return Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used */ - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -98,7 +111,7 @@ public Optional getPlanVersionId() { /** * @return Search by feature name or ID */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -106,7 +119,7 @@ public Optional getQ() { /** * @return Filter out features that already have a company override for the specified company ID */ - @JsonIgnore + @JsonProperty("without_company_override_for") public Optional getWithoutCompanyOverrideFor() { return withoutCompanyOverrideFor; } @@ -114,7 +127,7 @@ public Optional getWithoutCompanyOverrideFor() { /** * @return Filter out features that already have a plan entitlement for the specified plan ID */ - @JsonIgnore + @JsonProperty("without_plan_entitlement_for") public Optional getWithoutPlanEntitlementFor() { return withoutPlanEntitlementFor; } @@ -122,7 +135,7 @@ public Optional getWithoutPlanEntitlementFor() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -130,7 +143,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -150,6 +163,7 @@ private boolean equalTo(CountFeaturesRequest other) { return featureType.equals(other.featureType) && ids.equals(other.ids) && booleanRequireEvent.equals(other.booleanRequireEvent) + && managedBy.equals(other.managedBy) && planVersionId.equals(other.planVersionId) && q.equals(other.q) && withoutCompanyOverrideFor.equals(other.withoutCompanyOverrideFor) @@ -164,6 +178,7 @@ public int hashCode() { this.featureType, this.ids, this.booleanRequireEvent, + this.managedBy, this.planVersionId, this.q, this.withoutCompanyOverrideFor, @@ -189,6 +204,8 @@ public static final class Builder { private Optional booleanRequireEvent = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional planVersionId = Optional.empty(); private Optional q = Optional.empty(); @@ -210,6 +227,7 @@ public Builder from(CountFeaturesRequest other) { featureType(other.getFeatureType()); ids(other.getIds()); booleanRequireEvent(other.getBooleanRequireEvent()); + managedBy(other.getManagedBy()); planVersionId(other.getPlanVersionId()); q(other.getQ()); withoutCompanyOverrideFor(other.getWithoutCompanyOverrideFor()); @@ -268,6 +286,20 @@ public Builder booleanRequireEvent(Boolean booleanRequireEvent) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + /** *

Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used

*/ @@ -357,6 +389,7 @@ public CountFeaturesRequest build() { featureType, ids, booleanRequireEvent, + managedBy, planVersionId, q, withoutCompanyOverrideFor, 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 9607b55..b129819 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } @@ -62,7 +62,7 @@ public Optional getFeatureId() { /** * @return Search by flag name, key, or ID */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -70,7 +70,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -78,7 +78,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 9b26d93..dc49803 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,13 +5,14 @@ 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; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import com.schematic.api.types.FeatureType; import java.util.Collections; import java.util.HashMap; @@ -29,6 +30,8 @@ public final class ListFeaturesRequest { private final Optional booleanRequireEvent; + private final Optional managedBy; + private final Optional planVersionId; private final Optional q; @@ -47,6 +50,7 @@ private ListFeaturesRequest( Optional> featureType, Optional> ids, Optional booleanRequireEvent, + Optional managedBy, Optional planVersionId, Optional q, Optional withoutCompanyOverrideFor, @@ -57,6 +61,7 @@ private ListFeaturesRequest( this.featureType = featureType; this.ids = ids; this.booleanRequireEvent = booleanRequireEvent; + this.managedBy = managedBy; this.planVersionId = planVersionId; this.q = q; this.withoutCompanyOverrideFor = withoutCompanyOverrideFor; @@ -69,12 +74,12 @@ private ListFeaturesRequest( /** * @return Filter by one or more feature types (boolean, event, trait) */ - @JsonIgnore + @JsonProperty("feature_type") public Optional> getFeatureType() { return featureType; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } @@ -82,15 +87,23 @@ public Optional> getIds() { /** * @return Only return boolean features if there is an associated event. Automatically includes boolean in the feature types filter. */ - @JsonIgnore + @JsonProperty("boolean_require_event") public Optional getBooleanRequireEvent() { return booleanRequireEvent; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + /** * @return Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used */ - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } @@ -98,7 +111,7 @@ public Optional getPlanVersionId() { /** * @return Search by feature name or ID */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -106,7 +119,7 @@ public Optional getQ() { /** * @return Filter out features that already have a company override for the specified company ID */ - @JsonIgnore + @JsonProperty("without_company_override_for") public Optional getWithoutCompanyOverrideFor() { return withoutCompanyOverrideFor; } @@ -114,7 +127,7 @@ public Optional getWithoutCompanyOverrideFor() { /** * @return Filter out features that already have a plan entitlement for the specified plan ID */ - @JsonIgnore + @JsonProperty("without_plan_entitlement_for") public Optional getWithoutPlanEntitlementFor() { return withoutPlanEntitlementFor; } @@ -122,7 +135,7 @@ public Optional getWithoutPlanEntitlementFor() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -130,7 +143,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -150,6 +163,7 @@ private boolean equalTo(ListFeaturesRequest other) { return featureType.equals(other.featureType) && ids.equals(other.ids) && booleanRequireEvent.equals(other.booleanRequireEvent) + && managedBy.equals(other.managedBy) && planVersionId.equals(other.planVersionId) && q.equals(other.q) && withoutCompanyOverrideFor.equals(other.withoutCompanyOverrideFor) @@ -164,6 +178,7 @@ public int hashCode() { this.featureType, this.ids, this.booleanRequireEvent, + this.managedBy, this.planVersionId, this.q, this.withoutCompanyOverrideFor, @@ -189,6 +204,8 @@ public static final class Builder { private Optional booleanRequireEvent = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional planVersionId = Optional.empty(); private Optional q = Optional.empty(); @@ -210,6 +227,7 @@ public Builder from(ListFeaturesRequest other) { featureType(other.getFeatureType()); ids(other.getIds()); booleanRequireEvent(other.getBooleanRequireEvent()); + managedBy(other.getManagedBy()); planVersionId(other.getPlanVersionId()); q(other.getQ()); withoutCompanyOverrideFor(other.getWithoutCompanyOverrideFor()); @@ -268,6 +286,20 @@ public Builder booleanRequireEvent(Boolean booleanRequireEvent) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + /** *

Filter by plan version ID when used with without_plan_entitlement_for; if not provided, the latest published version is used

*/ @@ -357,6 +389,7 @@ public ListFeaturesRequest build() { featureType, ids, booleanRequireEvent, + managedBy, planVersionId, q, withoutCompanyOverrideFor, 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 3e6cdf8..33ab970 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("feature_id") public Optional getFeatureId() { return featureId; } @@ -62,7 +62,7 @@ public Optional getFeatureId() { /** * @return Search by flag name, key, or ID */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -70,7 +70,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -78,7 +78,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/features/types/CountFeaturesParams.java b/src/main/java/com/schematic/api/resources/features/types/CountFeaturesParams.java index 621e8bd..6d3e368 100644 --- a/src/main/java/com/schematic/api/resources/features/types/CountFeaturesParams.java +++ b/src/main/java/com/schematic/api/resources/features/types/CountFeaturesParams.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import com.schematic.api.types.FeatureType; import java.util.HashMap; import java.util.List; @@ -30,6 +31,8 @@ public final class CountFeaturesParams { private final Optional limit; + private final Optional managedBy; + private final Optional offset; private final Optional planVersionId; @@ -47,6 +50,7 @@ private CountFeaturesParams( Optional> featureType, Optional> ids, Optional limit, + Optional managedBy, Optional offset, Optional planVersionId, Optional q, @@ -57,6 +61,7 @@ private CountFeaturesParams( this.featureType = featureType; this.ids = ids; this.limit = limit; + this.managedBy = managedBy; this.offset = offset; this.planVersionId = planVersionId; this.q = q; @@ -94,6 +99,14 @@ public Optional getLimit() { return limit; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + /** * @return Page offset (default 0) */ @@ -150,6 +163,7 @@ private boolean equalTo(CountFeaturesParams other) { && featureType.equals(other.featureType) && ids.equals(other.ids) && limit.equals(other.limit) + && managedBy.equals(other.managedBy) && offset.equals(other.offset) && planVersionId.equals(other.planVersionId) && q.equals(other.q) @@ -164,6 +178,7 @@ public int hashCode() { this.featureType, this.ids, this.limit, + this.managedBy, this.offset, this.planVersionId, this.q, @@ -190,6 +205,8 @@ public static final class Builder { private Optional limit = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional offset = Optional.empty(); private Optional planVersionId = Optional.empty(); @@ -210,6 +227,7 @@ public Builder from(CountFeaturesParams other) { featureType(other.getFeatureType()); ids(other.getIds()); limit(other.getLimit()); + managedBy(other.getManagedBy()); offset(other.getOffset()); planVersionId(other.getPlanVersionId()); q(other.getQ()); @@ -271,6 +289,20 @@ public Builder limit(Long limit) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + /** *

Page offset (default 0)

*/ @@ -347,6 +379,7 @@ public CountFeaturesParams build() { featureType, ids, limit, + managedBy, offset, planVersionId, q, diff --git a/src/main/java/com/schematic/api/resources/features/types/ListFeaturesParams.java b/src/main/java/com/schematic/api/resources/features/types/ListFeaturesParams.java index 4c25dd1..e4c1ad8 100644 --- a/src/main/java/com/schematic/api/resources/features/types/ListFeaturesParams.java +++ b/src/main/java/com/schematic/api/resources/features/types/ListFeaturesParams.java @@ -12,6 +12,7 @@ import com.fasterxml.jackson.annotation.Nulls; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.types.BillingProviderType; import com.schematic.api.types.FeatureType; import java.util.HashMap; import java.util.List; @@ -30,6 +31,8 @@ public final class ListFeaturesParams { private final Optional limit; + private final Optional managedBy; + private final Optional offset; private final Optional planVersionId; @@ -47,6 +50,7 @@ private ListFeaturesParams( Optional> featureType, Optional> ids, Optional limit, + Optional managedBy, Optional offset, Optional planVersionId, Optional q, @@ -57,6 +61,7 @@ private ListFeaturesParams( this.featureType = featureType; this.ids = ids; this.limit = limit; + this.managedBy = managedBy; this.offset = offset; this.planVersionId = planVersionId; this.q = q; @@ -94,6 +99,14 @@ public Optional getLimit() { return limit; } + /** + * @return Filter for features managed by a billing provider, or by Schematic (no billing provider) + */ + @JsonProperty("managed_by") + public Optional getManagedBy() { + return managedBy; + } + /** * @return Page offset (default 0) */ @@ -150,6 +163,7 @@ private boolean equalTo(ListFeaturesParams other) { && featureType.equals(other.featureType) && ids.equals(other.ids) && limit.equals(other.limit) + && managedBy.equals(other.managedBy) && offset.equals(other.offset) && planVersionId.equals(other.planVersionId) && q.equals(other.q) @@ -164,6 +178,7 @@ public int hashCode() { this.featureType, this.ids, this.limit, + this.managedBy, this.offset, this.planVersionId, this.q, @@ -190,6 +205,8 @@ public static final class Builder { private Optional limit = Optional.empty(); + private Optional managedBy = Optional.empty(); + private Optional offset = Optional.empty(); private Optional planVersionId = Optional.empty(); @@ -210,6 +227,7 @@ public Builder from(ListFeaturesParams other) { featureType(other.getFeatureType()); ids(other.getIds()); limit(other.getLimit()); + managedBy(other.getManagedBy()); offset(other.getOffset()); planVersionId(other.getPlanVersionId()); q(other.getQ()); @@ -271,6 +289,20 @@ public Builder limit(Long limit) { return this; } + /** + *

Filter for features managed by a billing provider, or by Schematic (no billing provider)

+ */ + @JsonSetter(value = "managed_by", nulls = Nulls.SKIP) + public Builder managedBy(Optional managedBy) { + this.managedBy = managedBy; + return this; + } + + public Builder managedBy(BillingProviderType managedBy) { + this.managedBy = Optional.ofNullable(managedBy); + return this; + } + /** *

Page offset (default 0)

*/ @@ -347,6 +379,7 @@ public ListFeaturesParams build() { featureType, ids, limit, + managedBy, offset, planVersionId, q, 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 index e4abca4..ec7f98f 100644 --- a/src/main/java/com/schematic/api/resources/insights/requests/GetActivityRequest.java +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetActivityRequest.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 GetActivityRequest(Optional limit, Map additionalP this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } 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 index a7cae01..1c344fd 100644 --- a/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentFeatureUsageTimeSeriesRequest.java +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentFeatureUsageTimeSeriesRequest.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; @@ -46,22 +46,22 @@ private GetEnvironmentFeatureUsageTimeSeriesRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("end_time") public OffsetDateTime getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("granularity") public Optional getGranularity() { return granularity; } - @JsonIgnore + @JsonProperty("start_time") public OffsetDateTime getStartTime() { return startTime; } 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 index 87719fd..40857e7 100644 --- a/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentTraitUsageTimeSeriesRequest.java +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetEnvironmentTraitUsageTimeSeriesRequest.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; @@ -46,22 +46,22 @@ private GetEnvironmentTraitUsageTimeSeriesRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("end_time") public OffsetDateTime getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("feature_id") public String getFeatureId() { return featureId; } - @JsonIgnore + @JsonProperty("granularity") public Optional getGranularity() { return granularity; } - @JsonIgnore + @JsonProperty("start_time") public OffsetDateTime getStartTime() { return startTime; } 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 index e8984e6..dab102b 100644 --- a/src/main/java/com/schematic/api/resources/insights/requests/GetPlanGrowthRequest.java +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetPlanGrowthRequest.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 GetPlanGrowthRequest(Optional months, Map addition this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("months") public Optional getMonths() { return months; } 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 index 7e611ec..c980bd1 100644 --- a/src/main/java/com/schematic/api/resources/insights/requests/GetTopFeaturesByUsageRequest.java +++ b/src/main/java/com/schematic/api/resources/insights/requests/GetTopFeaturesByUsageRequest.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,17 +41,17 @@ private GetTopFeaturesByUsageRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("end_time") public OffsetDateTime getEndTime() { return endTime; } - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } - @JsonIgnore + @JsonProperty("start_time") public OffsetDateTime getStartTime() { return startTime; } diff --git a/src/main/java/com/schematic/api/resources/integrationsapi/AsyncIntegrationsapiClient.java b/src/main/java/com/schematic/api/resources/integrationsapi/AsyncIntegrationsapiClient.java index bb4340e..e487cd7 100644 --- a/src/main/java/com/schematic/api/resources/integrationsapi/AsyncIntegrationsapiClient.java +++ b/src/main/java/com/schematic/api/resources/integrationsapi/AsyncIntegrationsapiClient.java @@ -5,7 +5,14 @@ import com.schematic.api.core.ClientOptions; import com.schematic.api.core.RequestOptions; +import com.schematic.api.resources.integrationsapi.requests.ListIntegrationsRequest; +import com.schematic.api.resources.integrationsapi.requests.StartDataImportRequestBody; import com.schematic.api.resources.integrationsapi.types.GetIntegrationWebhookUrlResponse; +import com.schematic.api.resources.integrationsapi.types.ListIntegrationsResponse; +import com.schematic.api.resources.integrationsapi.types.LoadSampleDataSetV2Response; +import com.schematic.api.resources.integrationsapi.types.RunIntegrationResponse; +import com.schematic.api.resources.integrationsapi.types.StartDataImportResponse; +import com.schematic.api.resources.integrationsapi.types.UninstallIntegrationResponse; import java.util.concurrent.CompletableFuture; public class AsyncIntegrationsapiClient { @@ -25,6 +32,32 @@ public AsyncRawIntegrationsapiClient withRawResponse() { return this.rawClient; } + public CompletableFuture runIntegration(String integrationId) { + return this.rawClient.runIntegration(integrationId).thenApply(response -> response.body()); + } + + public CompletableFuture runIntegration( + String integrationId, RequestOptions requestOptions) { + return this.rawClient.runIntegration(integrationId, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture listIntegrations() { + return this.rawClient.listIntegrations().thenApply(response -> response.body()); + } + + public CompletableFuture listIntegrations(RequestOptions requestOptions) { + return this.rawClient.listIntegrations(requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture listIntegrations(ListIntegrationsRequest request) { + return this.rawClient.listIntegrations(request).thenApply(response -> response.body()); + } + + public CompletableFuture listIntegrations( + ListIntegrationsRequest request, RequestOptions requestOptions) { + return this.rawClient.listIntegrations(request, requestOptions).thenApply(response -> response.body()); + } + public CompletableFuture getIntegrationWebhookUrl(String type) { return this.rawClient.getIntegrationWebhookUrl(type).thenApply(response -> response.body()); } @@ -33,4 +66,32 @@ public CompletableFuture getIntegrationWebhook String type, RequestOptions requestOptions) { return this.rawClient.getIntegrationWebhookUrl(type, requestOptions).thenApply(response -> response.body()); } + + public CompletableFuture startDataImport(StartDataImportRequestBody request) { + return this.rawClient.startDataImport(request).thenApply(response -> response.body()); + } + + public CompletableFuture startDataImport( + StartDataImportRequestBody request, RequestOptions requestOptions) { + return this.rawClient.startDataImport(request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture loadSampleDataSetV2() { + return this.rawClient.loadSampleDataSetV2().thenApply(response -> response.body()); + } + + public CompletableFuture loadSampleDataSetV2(RequestOptions requestOptions) { + return this.rawClient.loadSampleDataSetV2(requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture uninstallIntegration(String integrationId) { + return this.rawClient.uninstallIntegration(integrationId).thenApply(response -> response.body()); + } + + public CompletableFuture uninstallIntegration( + String integrationId, RequestOptions requestOptions) { + return this.rawClient + .uninstallIntegration(integrationId, requestOptions) + .thenApply(response -> response.body()); + } } diff --git a/src/main/java/com/schematic/api/resources/integrationsapi/AsyncRawIntegrationsapiClient.java b/src/main/java/com/schematic/api/resources/integrationsapi/AsyncRawIntegrationsapiClient.java index 0514a9f..4c7999b 100644 --- a/src/main/java/com/schematic/api/resources/integrationsapi/AsyncRawIntegrationsapiClient.java +++ b/src/main/java/com/schematic/api/resources/integrationsapi/AsyncRawIntegrationsapiClient.java @@ -8,13 +8,23 @@ import com.schematic.api.core.BaseSchematicException; import com.schematic.api.core.BaseSchematicHttpResponse; import com.schematic.api.core.ClientOptions; +import com.schematic.api.core.MediaTypes; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.core.QueryStringMapper; import com.schematic.api.core.RequestOptions; +import com.schematic.api.errors.BadRequestError; 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.integrationsapi.requests.ListIntegrationsRequest; +import com.schematic.api.resources.integrationsapi.requests.StartDataImportRequestBody; import com.schematic.api.resources.integrationsapi.types.GetIntegrationWebhookUrlResponse; +import com.schematic.api.resources.integrationsapi.types.ListIntegrationsResponse; +import com.schematic.api.resources.integrationsapi.types.LoadSampleDataSetV2Response; +import com.schematic.api.resources.integrationsapi.types.RunIntegrationResponse; +import com.schematic.api.resources.integrationsapi.types.StartDataImportResponse; +import com.schematic.api.resources.integrationsapi.types.UninstallIntegrationResponse; import com.schematic.api.types.ApiError; import java.io.IOException; import java.util.concurrent.CompletableFuture; @@ -24,6 +34,7 @@ import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; +import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; import org.jetbrains.annotations.NotNull; @@ -35,6 +46,207 @@ public AsyncRawIntegrationsapiClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; } + public CompletableFuture> runIntegration(String integrationId) { + return runIntegration(integrationId, null); + } + + public CompletableFuture> runIntegration( + String integrationId, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integration/start") + .addPathSegment(integrationId); + 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, RunIntegrationResponse.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> listIntegrations() { + return listIntegrations(ListIntegrationsRequest.builder().build()); + } + + public CompletableFuture> listIntegrations( + RequestOptions requestOptions) { + return listIntegrations(ListIntegrationsRequest.builder().build(), requestOptions); + } + + public CompletableFuture> listIntegrations( + ListIntegrationsRequest request) { + return listIntegrations(request, null); + } + + public CompletableFuture> listIntegrations( + ListIntegrationsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations"); + if (request.getBillingOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "billing_only", request.getBillingOnly().get(), false); + } + if (request.getId().isPresent()) { + QueryStringMapper.addQueryParameter(httpUrl, "id", request.getId().get(), false); + } + if (request.getState().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "state", request.getState().get(), false); + } + if (request.getType().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "type", request.getType().get(), false); + } + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + if (request.getOffset().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "offset", request.getOffset().get(), false); + } + if (request.getExcludeIds().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "exclude_ids", request.getExcludeIds().get(), true); + } + 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, ListIntegrationsResponse.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> getIntegrationWebhookUrl( String type) { return getIntegrationWebhookUrl(type, null); @@ -118,4 +330,264 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { }); return future; } + + public CompletableFuture> startDataImport( + StartDataImportRequestBody request) { + return startDataImport(request, null); + } + + public CompletableFuture> startDataImport( + StartDataImportRequestBody request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations/start-data-import"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); + } catch (JsonProcessingException e) { + throw new BaseSchematicException("Failed to serialize request", e); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .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, StartDataImportResponse.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> loadSampleDataSetV2() { + return loadSampleDataSetV2(null); + } + + public CompletableFuture> loadSampleDataSetV2( + RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations/stripe/dataset-sample-v2"); + 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, LoadSampleDataSetV2Response.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> uninstallIntegration( + String integrationId) { + return uninstallIntegration(integrationId, null); + } + + public CompletableFuture> uninstallIntegration( + String integrationId, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations/uninstall") + .addPathSegment(integrationId); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("DELETE", 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, UninstallIntegrationResponse.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; + } } diff --git a/src/main/java/com/schematic/api/resources/integrationsapi/IntegrationsapiClient.java b/src/main/java/com/schematic/api/resources/integrationsapi/IntegrationsapiClient.java index dc32efd..7ce278e 100644 --- a/src/main/java/com/schematic/api/resources/integrationsapi/IntegrationsapiClient.java +++ b/src/main/java/com/schematic/api/resources/integrationsapi/IntegrationsapiClient.java @@ -5,7 +5,14 @@ import com.schematic.api.core.ClientOptions; import com.schematic.api.core.RequestOptions; +import com.schematic.api.resources.integrationsapi.requests.ListIntegrationsRequest; +import com.schematic.api.resources.integrationsapi.requests.StartDataImportRequestBody; import com.schematic.api.resources.integrationsapi.types.GetIntegrationWebhookUrlResponse; +import com.schematic.api.resources.integrationsapi.types.ListIntegrationsResponse; +import com.schematic.api.resources.integrationsapi.types.LoadSampleDataSetV2Response; +import com.schematic.api.resources.integrationsapi.types.RunIntegrationResponse; +import com.schematic.api.resources.integrationsapi.types.StartDataImportResponse; +import com.schematic.api.resources.integrationsapi.types.UninstallIntegrationResponse; public class IntegrationsapiClient { protected final ClientOptions clientOptions; @@ -24,6 +31,30 @@ public RawIntegrationsapiClient withRawResponse() { return this.rawClient; } + public RunIntegrationResponse runIntegration(String integrationId) { + return this.rawClient.runIntegration(integrationId).body(); + } + + public RunIntegrationResponse runIntegration(String integrationId, RequestOptions requestOptions) { + return this.rawClient.runIntegration(integrationId, requestOptions).body(); + } + + public ListIntegrationsResponse listIntegrations() { + return this.rawClient.listIntegrations().body(); + } + + public ListIntegrationsResponse listIntegrations(RequestOptions requestOptions) { + return this.rawClient.listIntegrations(requestOptions).body(); + } + + public ListIntegrationsResponse listIntegrations(ListIntegrationsRequest request) { + return this.rawClient.listIntegrations(request).body(); + } + + public ListIntegrationsResponse listIntegrations(ListIntegrationsRequest request, RequestOptions requestOptions) { + return this.rawClient.listIntegrations(request, requestOptions).body(); + } + public GetIntegrationWebhookUrlResponse getIntegrationWebhookUrl(String type) { return this.rawClient.getIntegrationWebhookUrl(type).body(); } @@ -31,4 +62,30 @@ public GetIntegrationWebhookUrlResponse getIntegrationWebhookUrl(String type) { public GetIntegrationWebhookUrlResponse getIntegrationWebhookUrl(String type, RequestOptions requestOptions) { return this.rawClient.getIntegrationWebhookUrl(type, requestOptions).body(); } + + public StartDataImportResponse startDataImport(StartDataImportRequestBody request) { + return this.rawClient.startDataImport(request).body(); + } + + public StartDataImportResponse startDataImport(StartDataImportRequestBody request, RequestOptions requestOptions) { + return this.rawClient.startDataImport(request, requestOptions).body(); + } + + public LoadSampleDataSetV2Response loadSampleDataSetV2() { + return this.rawClient.loadSampleDataSetV2().body(); + } + + public LoadSampleDataSetV2Response loadSampleDataSetV2(RequestOptions requestOptions) { + return this.rawClient.loadSampleDataSetV2(requestOptions).body(); + } + + public UninstallIntegrationResponse uninstallIntegration(String integrationId) { + return this.rawClient.uninstallIntegration(integrationId).body(); + } + + public UninstallIntegrationResponse uninstallIntegration(String integrationId, RequestOptions requestOptions) { + return this.rawClient + .uninstallIntegration(integrationId, requestOptions) + .body(); + } } diff --git a/src/main/java/com/schematic/api/resources/integrationsapi/RawIntegrationsapiClient.java b/src/main/java/com/schematic/api/resources/integrationsapi/RawIntegrationsapiClient.java index 134025e..90a6ba8 100644 --- a/src/main/java/com/schematic/api/resources/integrationsapi/RawIntegrationsapiClient.java +++ b/src/main/java/com/schematic/api/resources/integrationsapi/RawIntegrationsapiClient.java @@ -8,19 +8,30 @@ import com.schematic.api.core.BaseSchematicException; import com.schematic.api.core.BaseSchematicHttpResponse; import com.schematic.api.core.ClientOptions; +import com.schematic.api.core.MediaTypes; import com.schematic.api.core.ObjectMappers; +import com.schematic.api.core.QueryStringMapper; import com.schematic.api.core.RequestOptions; +import com.schematic.api.errors.BadRequestError; 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.integrationsapi.requests.ListIntegrationsRequest; +import com.schematic.api.resources.integrationsapi.requests.StartDataImportRequestBody; import com.schematic.api.resources.integrationsapi.types.GetIntegrationWebhookUrlResponse; +import com.schematic.api.resources.integrationsapi.types.ListIntegrationsResponse; +import com.schematic.api.resources.integrationsapi.types.LoadSampleDataSetV2Response; +import com.schematic.api.resources.integrationsapi.types.RunIntegrationResponse; +import com.schematic.api.resources.integrationsapi.types.StartDataImportResponse; +import com.schematic.api.resources.integrationsapi.types.UninstallIntegrationResponse; import com.schematic.api.types.ApiError; import java.io.IOException; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; +import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; @@ -31,6 +42,161 @@ public RawIntegrationsapiClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; } + public BaseSchematicHttpResponse runIntegration(String integrationId) { + return runIntegration(integrationId, null); + } + + public BaseSchematicHttpResponse runIntegration( + String integrationId, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integration/start") + .addPathSegment(integrationId); + 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, RunIntegrationResponse.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 listIntegrations() { + return listIntegrations(ListIntegrationsRequest.builder().build()); + } + + public BaseSchematicHttpResponse listIntegrations(RequestOptions requestOptions) { + return listIntegrations(ListIntegrationsRequest.builder().build(), requestOptions); + } + + public BaseSchematicHttpResponse listIntegrations(ListIntegrationsRequest request) { + return listIntegrations(request, null); + } + + public BaseSchematicHttpResponse listIntegrations( + ListIntegrationsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations"); + if (request.getBillingOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "billing_only", request.getBillingOnly().get(), false); + } + if (request.getId().isPresent()) { + QueryStringMapper.addQueryParameter(httpUrl, "id", request.getId().get(), false); + } + if (request.getState().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "state", request.getState().get(), false); + } + if (request.getType().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "type", request.getType().get(), false); + } + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + if (request.getOffset().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "offset", request.getOffset().get(), false); + } + if (request.getExcludeIds().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "exclude_ids", request.getExcludeIds().get(), true); + } + 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, ListIntegrationsResponse.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 getIntegrationWebhookUrl(String type) { return getIntegrationWebhookUrl(type, null); } @@ -90,4 +256,192 @@ public BaseSchematicHttpResponse getIntegratio throw new BaseSchematicException("Network error executing HTTP request", e); } } + + public BaseSchematicHttpResponse startDataImport(StartDataImportRequestBody request) { + return startDataImport(request, null); + } + + public BaseSchematicHttpResponse startDataImport( + StartDataImportRequestBody request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations/start-data-import"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + RequestBody body; + try { + body = RequestBody.create( + ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON); + } catch (JsonProcessingException e) { + throw new BaseSchematicException("Failed to serialize request", e); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("POST", body) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json") + .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, StartDataImportResponse.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 loadSampleDataSetV2() { + return loadSampleDataSetV2(null); + } + + public BaseSchematicHttpResponse loadSampleDataSetV2(RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations/stripe/dataset-sample-v2"); + 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, LoadSampleDataSetV2Response.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 uninstallIntegration(String integrationId) { + return uninstallIntegration(integrationId, null); + } + + public BaseSchematicHttpResponse uninstallIntegration( + String integrationId, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("integrations/uninstall") + .addPathSegment(integrationId); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("DELETE", 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, UninstallIntegrationResponse.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); + } + } } diff --git a/src/main/java/com/schematic/api/resources/integrationsapi/requests/ListIntegrationsRequest.java b/src/main/java/com/schematic/api/resources/integrationsapi/requests/ListIntegrationsRequest.java new file mode 100644 index 0000000..fe0dc9e --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/requests/ListIntegrationsRequest.java @@ -0,0 +1,273 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.requests; + +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.IntegrationState; +import com.schematic.api.types.IntegrationType; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ListIntegrationsRequest.Builder.class) +public final class ListIntegrationsRequest { + private final Optional> excludeIds; + + private final Optional billingOnly; + + private final Optional id; + + private final Optional state; + + private final Optional type; + + private final Optional limit; + + private final Optional offset; + + private final Map additionalProperties; + + private ListIntegrationsRequest( + Optional> excludeIds, + Optional billingOnly, + Optional id, + Optional state, + Optional type, + Optional limit, + Optional offset, + Map additionalProperties) { + this.excludeIds = excludeIds; + this.billingOnly = billingOnly; + this.id = id; + this.state = state; + this.type = type; + this.limit = limit; + this.offset = offset; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("exclude_ids") + public Optional> getExcludeIds() { + return excludeIds; + } + + @JsonProperty("billing_only") + public Optional getBillingOnly() { + return billingOnly; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + @JsonProperty("state") + public Optional getState() { + return state; + } + + @JsonProperty("type") + public Optional getType() { + return type; + } + + /** + * @return Page limit (default 100) + */ + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + /** + * @return Page offset (default 0) + */ + @JsonProperty("offset") + public Optional getOffset() { + return offset; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListIntegrationsRequest && equalTo((ListIntegrationsRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListIntegrationsRequest other) { + return excludeIds.equals(other.excludeIds) + && billingOnly.equals(other.billingOnly) + && id.equals(other.id) + && state.equals(other.state) + && type.equals(other.type) + && limit.equals(other.limit) + && offset.equals(other.offset); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.excludeIds, this.billingOnly, this.id, this.state, this.type, this.limit, this.offset); + } + + @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> excludeIds = Optional.empty(); + + private Optional billingOnly = Optional.empty(); + + private Optional id = Optional.empty(); + + private Optional state = Optional.empty(); + + private Optional type = Optional.empty(); + + private Optional limit = Optional.empty(); + + private Optional offset = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ListIntegrationsRequest other) { + excludeIds(other.getExcludeIds()); + billingOnly(other.getBillingOnly()); + id(other.getId()); + state(other.getState()); + type(other.getType()); + limit(other.getLimit()); + offset(other.getOffset()); + return this; + } + + @JsonSetter(value = "exclude_ids", nulls = Nulls.SKIP) + public Builder excludeIds(Optional> excludeIds) { + this.excludeIds = excludeIds; + return this; + } + + public Builder excludeIds(List excludeIds) { + this.excludeIds = Optional.ofNullable(excludeIds); + return this; + } + + public Builder excludeIds(String excludeIds) { + this.excludeIds = Optional.of(Collections.singletonList(excludeIds)); + return this; + } + + @JsonSetter(value = "billing_only", nulls = Nulls.SKIP) + public Builder billingOnly(Optional billingOnly) { + this.billingOnly = billingOnly; + return this; + } + + public Builder billingOnly(Boolean billingOnly) { + this.billingOnly = Optional.ofNullable(billingOnly); + return this; + } + + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public Builder id(Optional id) { + this.id = id; + return this; + } + + public Builder id(String id) { + this.id = Optional.ofNullable(id); + return this; + } + + @JsonSetter(value = "state", nulls = Nulls.SKIP) + public Builder state(Optional state) { + this.state = state; + return this; + } + + public Builder state(IntegrationState state) { + this.state = Optional.ofNullable(state); + return this; + } + + @JsonSetter(value = "type", nulls = Nulls.SKIP) + public Builder type(Optional type) { + this.type = type; + return this; + } + + public Builder type(IntegrationType type) { + this.type = Optional.ofNullable(type); + return this; + } + + /** + *

Page limit (default 100)

+ */ + @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; + } + + /** + *

Page offset (default 0)

+ */ + @JsonSetter(value = "offset", nulls = Nulls.SKIP) + public Builder offset(Optional offset) { + this.offset = offset; + return this; + } + + public Builder offset(Long offset) { + this.offset = Optional.ofNullable(offset); + return this; + } + + public ListIntegrationsRequest build() { + return new ListIntegrationsRequest( + excludeIds, billingOnly, id, state, type, limit, offset, 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/integrationsapi/requests/StartDataImportRequestBody.java b/src/main/java/com/schematic/api/resources/integrationsapi/requests/StartDataImportRequestBody.java new file mode 100644 index 0000000..da3340b --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/requests/StartDataImportRequestBody.java @@ -0,0 +1,184 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.requests; + +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.CompanyMatchingCriteria; +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 = StartDataImportRequestBody.Builder.class) +public final class StartDataImportRequestBody { + private final Optional companyMatchingCriteria; + + private final Optional companyMatchingField; + + private final String integrationId; + + private final Map additionalProperties; + + private StartDataImportRequestBody( + Optional companyMatchingCriteria, + Optional companyMatchingField, + String integrationId, + Map additionalProperties) { + this.companyMatchingCriteria = companyMatchingCriteria; + this.companyMatchingField = companyMatchingField; + this.integrationId = integrationId; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("company_matching_criteria") + public Optional getCompanyMatchingCriteria() { + return companyMatchingCriteria; + } + + @JsonProperty("company_matching_field") + public Optional getCompanyMatchingField() { + return companyMatchingField; + } + + @JsonProperty("integration_id") + public String getIntegrationId() { + return integrationId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof StartDataImportRequestBody && equalTo((StartDataImportRequestBody) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(StartDataImportRequestBody other) { + return companyMatchingCriteria.equals(other.companyMatchingCriteria) + && companyMatchingField.equals(other.companyMatchingField) + && integrationId.equals(other.integrationId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.companyMatchingCriteria, this.companyMatchingField, this.integrationId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IntegrationIdStage builder() { + return new Builder(); + } + + public interface IntegrationIdStage { + _FinalStage integrationId(@NotNull String integrationId); + + Builder from(StartDataImportRequestBody other); + } + + public interface _FinalStage { + StartDataImportRequestBody build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage companyMatchingCriteria(Optional companyMatchingCriteria); + + _FinalStage companyMatchingCriteria(CompanyMatchingCriteria companyMatchingCriteria); + + _FinalStage companyMatchingField(Optional companyMatchingField); + + _FinalStage companyMatchingField(String companyMatchingField); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements IntegrationIdStage, _FinalStage { + private String integrationId; + + private Optional companyMatchingField = Optional.empty(); + + private Optional companyMatchingCriteria = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(StartDataImportRequestBody other) { + companyMatchingCriteria(other.getCompanyMatchingCriteria()); + companyMatchingField(other.getCompanyMatchingField()); + integrationId(other.getIntegrationId()); + return this; + } + + @java.lang.Override + @JsonSetter("integration_id") + public _FinalStage integrationId(@NotNull String integrationId) { + this.integrationId = Objects.requireNonNull(integrationId, "integrationId must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage companyMatchingField(String companyMatchingField) { + this.companyMatchingField = Optional.ofNullable(companyMatchingField); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company_matching_field", nulls = Nulls.SKIP) + public _FinalStage companyMatchingField(Optional companyMatchingField) { + this.companyMatchingField = companyMatchingField; + return this; + } + + @java.lang.Override + public _FinalStage companyMatchingCriteria(CompanyMatchingCriteria companyMatchingCriteria) { + this.companyMatchingCriteria = Optional.ofNullable(companyMatchingCriteria); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company_matching_criteria", nulls = Nulls.SKIP) + public _FinalStage companyMatchingCriteria(Optional companyMatchingCriteria) { + this.companyMatchingCriteria = companyMatchingCriteria; + return this; + } + + @java.lang.Override + public StartDataImportRequestBody build() { + return new StartDataImportRequestBody( + companyMatchingCriteria, companyMatchingField, integrationId, 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/integrationsapi/types/ListIntegrationsParams.java b/src/main/java/com/schematic/api/resources/integrationsapi/types/ListIntegrationsParams.java new file mode 100644 index 0000000..f116641 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/types/ListIntegrationsParams.java @@ -0,0 +1,267 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.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.IntegrationState; +import com.schematic.api.types.IntegrationType; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ListIntegrationsParams.Builder.class) +public final class ListIntegrationsParams { + private final Optional billingOnly; + + private final Optional> excludeIds; + + private final Optional id; + + private final Optional limit; + + private final Optional offset; + + private final Optional state; + + private final Optional type; + + private final Map additionalProperties; + + private ListIntegrationsParams( + Optional billingOnly, + Optional> excludeIds, + Optional id, + Optional limit, + Optional offset, + Optional state, + Optional type, + Map additionalProperties) { + this.billingOnly = billingOnly; + this.excludeIds = excludeIds; + this.id = id; + this.limit = limit; + this.offset = offset; + this.state = state; + this.type = type; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("billing_only") + public Optional getBillingOnly() { + return billingOnly; + } + + @JsonProperty("exclude_ids") + public Optional> getExcludeIds() { + return excludeIds; + } + + @JsonProperty("id") + public Optional getId() { + return id; + } + + /** + * @return Page limit (default 100) + */ + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + /** + * @return Page offset (default 0) + */ + @JsonProperty("offset") + public Optional getOffset() { + return offset; + } + + @JsonProperty("state") + public Optional getState() { + return state; + } + + @JsonProperty("type") + public Optional getType() { + return type; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListIntegrationsParams && equalTo((ListIntegrationsParams) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListIntegrationsParams other) { + return billingOnly.equals(other.billingOnly) + && excludeIds.equals(other.excludeIds) + && id.equals(other.id) + && limit.equals(other.limit) + && offset.equals(other.offset) + && state.equals(other.state) + && type.equals(other.type); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.billingOnly, this.excludeIds, this.id, this.limit, this.offset, this.state, this.type); + } + + @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 billingOnly = Optional.empty(); + + private Optional> excludeIds = Optional.empty(); + + private Optional id = Optional.empty(); + + private Optional limit = Optional.empty(); + + private Optional offset = Optional.empty(); + + private Optional state = Optional.empty(); + + private Optional type = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ListIntegrationsParams other) { + billingOnly(other.getBillingOnly()); + excludeIds(other.getExcludeIds()); + id(other.getId()); + limit(other.getLimit()); + offset(other.getOffset()); + state(other.getState()); + type(other.getType()); + return this; + } + + @JsonSetter(value = "billing_only", nulls = Nulls.SKIP) + public Builder billingOnly(Optional billingOnly) { + this.billingOnly = billingOnly; + return this; + } + + public Builder billingOnly(Boolean billingOnly) { + this.billingOnly = Optional.ofNullable(billingOnly); + return this; + } + + @JsonSetter(value = "exclude_ids", nulls = Nulls.SKIP) + public Builder excludeIds(Optional> excludeIds) { + this.excludeIds = excludeIds; + return this; + } + + public Builder excludeIds(List excludeIds) { + this.excludeIds = Optional.ofNullable(excludeIds); + return this; + } + + @JsonSetter(value = "id", nulls = Nulls.SKIP) + public Builder id(Optional id) { + this.id = id; + return this; + } + + public Builder id(String id) { + this.id = Optional.ofNullable(id); + return this; + } + + /** + *

Page limit (default 100)

+ */ + @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; + } + + /** + *

Page offset (default 0)

+ */ + @JsonSetter(value = "offset", nulls = Nulls.SKIP) + public Builder offset(Optional offset) { + this.offset = offset; + return this; + } + + public Builder offset(Long offset) { + this.offset = Optional.ofNullable(offset); + return this; + } + + @JsonSetter(value = "state", nulls = Nulls.SKIP) + public Builder state(Optional state) { + this.state = state; + return this; + } + + public Builder state(IntegrationState state) { + this.state = Optional.ofNullable(state); + return this; + } + + @JsonSetter(value = "type", nulls = Nulls.SKIP) + public Builder type(Optional type) { + this.type = type; + return this; + } + + public Builder type(IntegrationType type) { + this.type = Optional.ofNullable(type); + return this; + } + + public ListIntegrationsParams build() { + return new ListIntegrationsParams( + billingOnly, excludeIds, id, limit, offset, state, type, 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/integrationsapi/types/ListIntegrationsResponse.java b/src/main/java/com/schematic/api/resources/integrationsapi/types/ListIntegrationsResponse.java new file mode 100644 index 0000000..1bab3ff --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/types/ListIntegrationsResponse.java @@ -0,0 +1,177 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.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.IntegrationsListResponseData; +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 = ListIntegrationsResponse.Builder.class) +public final class ListIntegrationsResponse { + private final List data; + + private final ListIntegrationsParams params; + + private final Map additionalProperties; + + private ListIntegrationsResponse( + List data, + ListIntegrationsParams 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 ListIntegrationsParams getParams() { + return params; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListIntegrationsResponse && equalTo((ListIntegrationsResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListIntegrationsResponse 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 ListIntegrationsParams params); + + Builder from(ListIntegrationsResponse other); + } + + public interface _FinalStage { + ListIntegrationsResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage data(List data); + + _FinalStage addData(IntegrationsListResponseData data); + + _FinalStage addAllData(List data); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ParamsStage, _FinalStage { + private ListIntegrationsParams params; + + private List data = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(ListIntegrationsResponse 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 ListIntegrationsParams 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(IntegrationsListResponseData 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 ListIntegrationsResponse build() { + return new ListIntegrationsResponse(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/integrationsapi/types/LoadSampleDataSetV2Response.java b/src/main/java/com/schematic/api/resources/integrationsapi/types/LoadSampleDataSetV2Response.java new file mode 100644 index 0000000..7cae563 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/types/LoadSampleDataSetV2Response.java @@ -0,0 +1,183 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.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.IntegrationsDataSetResponseData; +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 = LoadSampleDataSetV2Response.Builder.class) +public final class LoadSampleDataSetV2Response { + private final IntegrationsDataSetResponseData data; + + private final Map params; + + private final Map additionalProperties; + + private LoadSampleDataSetV2Response( + IntegrationsDataSetResponseData data, + Map params, + Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public IntegrationsDataSetResponseData 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 LoadSampleDataSetV2Response && equalTo((LoadSampleDataSetV2Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(LoadSampleDataSetV2Response 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 IntegrationsDataSetResponseData data); + + Builder from(LoadSampleDataSetV2Response other); + } + + public interface _FinalStage { + LoadSampleDataSetV2Response 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 IntegrationsDataSetResponseData data; + + private Map params = new LinkedHashMap<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(LoadSampleDataSetV2Response other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public _FinalStage data(@NotNull IntegrationsDataSetResponseData 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 LoadSampleDataSetV2Response build() { + return new LoadSampleDataSetV2Response(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/integrationsapi/types/RunIntegrationResponse.java b/src/main/java/com/schematic/api/resources/integrationsapi/types/RunIntegrationResponse.java new file mode 100644 index 0000000..b9e277f --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/types/RunIntegrationResponse.java @@ -0,0 +1,181 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.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.IntegrationsResponseData; +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 = RunIntegrationResponse.Builder.class) +public final class RunIntegrationResponse { + private final IntegrationsResponseData data; + + private final Map params; + + private final Map additionalProperties; + + private RunIntegrationResponse( + IntegrationsResponseData data, Map params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public IntegrationsResponseData 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 RunIntegrationResponse && equalTo((RunIntegrationResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(RunIntegrationResponse 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 IntegrationsResponseData data); + + Builder from(RunIntegrationResponse other); + } + + public interface _FinalStage { + RunIntegrationResponse 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 IntegrationsResponseData data; + + private Map params = new LinkedHashMap<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(RunIntegrationResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public _FinalStage data(@NotNull IntegrationsResponseData 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 RunIntegrationResponse build() { + return new RunIntegrationResponse(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/integrationsapi/types/StartDataImportResponse.java b/src/main/java/com/schematic/api/resources/integrationsapi/types/StartDataImportResponse.java new file mode 100644 index 0000000..9f644f1 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/types/StartDataImportResponse.java @@ -0,0 +1,181 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.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.IntegrationsResponseData; +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 = StartDataImportResponse.Builder.class) +public final class StartDataImportResponse { + private final IntegrationsResponseData data; + + private final Map params; + + private final Map additionalProperties; + + private StartDataImportResponse( + IntegrationsResponseData data, Map params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public IntegrationsResponseData 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 StartDataImportResponse && equalTo((StartDataImportResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(StartDataImportResponse 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 IntegrationsResponseData data); + + Builder from(StartDataImportResponse other); + } + + public interface _FinalStage { + StartDataImportResponse 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 IntegrationsResponseData data; + + private Map params = new LinkedHashMap<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(StartDataImportResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public _FinalStage data(@NotNull IntegrationsResponseData 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 StartDataImportResponse build() { + return new StartDataImportResponse(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/integrationsapi/types/UninstallIntegrationResponse.java b/src/main/java/com/schematic/api/resources/integrationsapi/types/UninstallIntegrationResponse.java new file mode 100644 index 0000000..e8b5ea5 --- /dev/null +++ b/src/main/java/com/schematic/api/resources/integrationsapi/types/UninstallIntegrationResponse.java @@ -0,0 +1,181 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.resources.integrationsapi.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.DeleteResponse; +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 = UninstallIntegrationResponse.Builder.class) +public final class UninstallIntegrationResponse { + private final DeleteResponse data; + + private final Map params; + + private final Map additionalProperties; + + private UninstallIntegrationResponse( + DeleteResponse data, Map params, Map additionalProperties) { + this.data = data; + this.params = params; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public DeleteResponse 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 UninstallIntegrationResponse && equalTo((UninstallIntegrationResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(UninstallIntegrationResponse 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 DeleteResponse data); + + Builder from(UninstallIntegrationResponse other); + } + + public interface _FinalStage { + UninstallIntegrationResponse 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 DeleteResponse data; + + private Map params = new LinkedHashMap<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(UninstallIntegrationResponse other) { + data(other.getData()); + params(other.getParams()); + return this; + } + + @java.lang.Override + @JsonSetter("data") + public _FinalStage data(@NotNull DeleteResponse 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 UninstallIntegrationResponse build() { + return new UninstallIntegrationResponse(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 f013abd..7defe30 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 4a3a63c..91d85ff 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; } - @JsonIgnore + @JsonProperty("migration_id") public Optional getMigrationId() { return migrationId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } @@ -66,7 +66,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -74,7 +74,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 854306c..85886dc 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; } - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } @@ -57,7 +57,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 b7d61fe..6c93fb6 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; } - @JsonIgnore + @JsonProperty("migration_id") public Optional getMigrationId() { return migrationId; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } @@ -66,7 +66,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -74,7 +74,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 b6dfd2f..6e63f5b 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; } - @JsonIgnore + @JsonProperty("plan_version_id") public Optional getPlanVersionId() { return planVersionId; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } @@ -57,7 +57,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/resources/plans/AsyncRawPlansClient.java b/src/main/java/com/schematic/api/resources/plans/AsyncRawPlansClient.java index 7ecc124..c814beb 100644 --- a/src/main/java/com/schematic/api/resources/plans/AsyncRawPlansClient.java +++ b/src/main/java/com/schematic/api/resources/plans/AsyncRawPlansClient.java @@ -495,6 +495,13 @@ public CompletableFuture> listPlans QueryStringMapper.addQueryParameter( httpUrl, "company_id", request.getCompanyId().get(), false); } + if (request.getCompanyScopedOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "company_scoped_only", + request.getCompanyScopedOnly().get(), + false); + } if (request.getExcludeCompanyScoped().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, @@ -1420,6 +1427,13 @@ public CompletableFuture> countPla QueryStringMapper.addQueryParameter( httpUrl, "company_id", request.getCompanyId().get(), false); } + if (request.getCompanyScopedOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "company_scoped_only", + request.getCompanyScopedOnly().get(), + false); + } if (request.getExcludeCompanyScoped().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, diff --git a/src/main/java/com/schematic/api/resources/plans/RawPlansClient.java b/src/main/java/com/schematic/api/resources/plans/RawPlansClient.java index 1933ab5..30de07b 100644 --- a/src/main/java/com/schematic/api/resources/plans/RawPlansClient.java +++ b/src/main/java/com/schematic/api/resources/plans/RawPlansClient.java @@ -395,6 +395,13 @@ public BaseSchematicHttpResponse listPlans( QueryStringMapper.addQueryParameter( httpUrl, "company_id", request.getCompanyId().get(), false); } + if (request.getCompanyScopedOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "company_scoped_only", + request.getCompanyScopedOnly().get(), + false); + } if (request.getExcludeCompanyScoped().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, @@ -1099,6 +1106,13 @@ public BaseSchematicHttpResponse countPlans( QueryStringMapper.addQueryParameter( httpUrl, "company_id", request.getCompanyId().get(), false); } + if (request.getCompanyScopedOnly().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, + "company_scoped_only", + request.getCompanyScopedOnly().get(), + false); + } if (request.getExcludeCompanyScoped().isPresent()) { QueryStringMapper.addQueryParameter( httpUrl, 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 a52da92..c6f6d5f 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 */ - @JsonIgnore + @JsonProperty("plan_id") public String getPlanId() { return planId; } @@ -55,7 +55,7 @@ public String getPlanId() { /** * @return Search for companies by name, keys or string traits */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -63,7 +63,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -71,7 +71,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 b8a659b..fd3afa2 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; @@ -27,6 +27,8 @@ public final class CountPlansRequest { private final Optional companyId; + private final Optional companyScopedOnly; + private final Optional excludeCompanyScoped; private final Optional forFallbackPlan; @@ -58,6 +60,7 @@ public final class CountPlansRequest { private CountPlansRequest( Optional> ids, Optional companyId, + Optional companyScopedOnly, Optional excludeCompanyScoped, Optional forFallbackPlan, Optional forInitialPlan, @@ -74,6 +77,7 @@ private CountPlansRequest( Map additionalProperties) { this.ids = ids; this.companyId = companyId; + this.companyScopedOnly = companyScopedOnly; this.excludeCompanyScoped = excludeCompanyScoped; this.forFallbackPlan = forFallbackPlan; this.forInitialPlan = forInitialPlan; @@ -90,20 +94,28 @@ private CountPlansRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } + /** + * @return Only return plans that are scoped to a company (custom plans assigned to a company) + */ + @JsonProperty("company_scoped_only") + public Optional getCompanyScopedOnly() { + return companyScopedOnly; + } + /** * @return Exclude plans that are scoped to a company (custom plans assigned to a company) */ - @JsonIgnore + @JsonProperty("exclude_company_scoped") public Optional getExcludeCompanyScoped() { return excludeCompanyScoped; } @@ -111,7 +123,7 @@ public Optional getExcludeCompanyScoped() { /** * @return Filter for plans valid as fallback plans (not linked to billing) */ - @JsonIgnore + @JsonProperty("for_fallback_plan") public Optional getForFallbackPlan() { return forFallbackPlan; } @@ -119,7 +131,7 @@ public Optional getForFallbackPlan() { /** * @return Filter for plans valid as initial plans (not linked to billing, free, or auto-cancelling trial) */ - @JsonIgnore + @JsonProperty("for_initial_plan") public Optional getForInitialPlan() { return forInitialPlan; } @@ -127,7 +139,7 @@ public Optional getForInitialPlan() { /** * @return Filter for plans valid as trial expiry plans (not linked to billing or free) */ - @JsonIgnore + @JsonProperty("for_trial_expiry_plan") public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } @@ -135,7 +147,7 @@ public Optional getForTrialExpiryPlan() { /** * @return Filter out plans that do not have a billing product ID */ - @JsonIgnore + @JsonProperty("has_product_id") public Optional getHasProductId() { return hasProductId; } @@ -143,7 +155,7 @@ public Optional getHasProductId() { /** * @return Include billing settings from draft versions for plans which have draft version */ - @JsonIgnore + @JsonProperty("include_draft_versions") public Optional getIncludeDraftVersions() { return includeDraftVersions; } @@ -151,12 +163,12 @@ public Optional getIncludeDraftVersions() { /** * @return Filter by plan type */ - @JsonIgnore + @JsonProperty("plan_type") public Optional getPlanType() { return planType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -164,7 +176,7 @@ public Optional getQ() { /** * @return Filter plans scoped to a specific company (custom plans) */ - @JsonIgnore + @JsonProperty("scoped_to_company_id") public Optional getScopedToCompanyId() { return scopedToCompanyId; } @@ -172,7 +184,7 @@ public Optional getScopedToCompanyId() { /** * @return Filter out plans that already have a plan entitlement for the specified feature ID */ - @JsonIgnore + @JsonProperty("without_entitlement_for") public Optional getWithoutEntitlementFor() { return withoutEntitlementFor; } @@ -180,7 +192,7 @@ public Optional getWithoutEntitlementFor() { /** * @return Filter out plans that have a paid billing product ID */ - @JsonIgnore + @JsonProperty("without_paid_product_id") public Optional getWithoutPaidProductId() { return withoutPaidProductId; } @@ -188,7 +200,7 @@ public Optional getWithoutPaidProductId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -196,7 +208,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -215,6 +227,7 @@ public Map getAdditionalProperties() { private boolean equalTo(CountPlansRequest other) { return ids.equals(other.ids) && companyId.equals(other.companyId) + && companyScopedOnly.equals(other.companyScopedOnly) && excludeCompanyScoped.equals(other.excludeCompanyScoped) && forFallbackPlan.equals(other.forFallbackPlan) && forInitialPlan.equals(other.forInitialPlan) @@ -235,6 +248,7 @@ public int hashCode() { return Objects.hash( this.ids, this.companyId, + this.companyScopedOnly, this.excludeCompanyScoped, this.forFallbackPlan, this.forInitialPlan, @@ -265,6 +279,8 @@ public static final class Builder { private Optional companyId = Optional.empty(); + private Optional companyScopedOnly = Optional.empty(); + private Optional excludeCompanyScoped = Optional.empty(); private Optional forFallbackPlan = Optional.empty(); @@ -299,6 +315,7 @@ private Builder() {} public Builder from(CountPlansRequest other) { ids(other.getIds()); companyId(other.getCompanyId()); + companyScopedOnly(other.getCompanyScopedOnly()); excludeCompanyScoped(other.getExcludeCompanyScoped()); forFallbackPlan(other.getForFallbackPlan()); forInitialPlan(other.getForInitialPlan()); @@ -342,6 +359,20 @@ public Builder companyId(String companyId) { return this; } + /** + *

Only return plans that are scoped to a company (custom plans assigned to a company)

+ */ + @JsonSetter(value = "company_scoped_only", nulls = Nulls.SKIP) + public Builder companyScopedOnly(Optional companyScopedOnly) { + this.companyScopedOnly = companyScopedOnly; + return this; + } + + public Builder companyScopedOnly(Boolean companyScopedOnly) { + this.companyScopedOnly = Optional.ofNullable(companyScopedOnly); + return this; + } + /** *

Exclude plans that are scoped to a company (custom plans assigned to a company)

*/ @@ -525,6 +556,7 @@ public CountPlansRequest build() { return new CountPlansRequest( ids, companyId, + companyScopedOnly, excludeCompanyScoped, forFallbackPlan, forInitialPlan, diff --git a/src/main/java/com/schematic/api/resources/plans/requests/CreateBillingLinkedPlanRequestBody.java b/src/main/java/com/schematic/api/resources/plans/requests/CreateBillingLinkedPlanRequestBody.java index abdda20..26efd95 100644 --- a/src/main/java/com/schematic/api/resources/plans/requests/CreateBillingLinkedPlanRequestBody.java +++ b/src/main/java/com/schematic/api/resources/plans/requests/CreateBillingLinkedPlanRequestBody.java @@ -30,6 +30,8 @@ public final class CreateBillingLinkedPlanRequestBody { private final String externalResourceId; + private final Optional externalResourceVersion; + private final Optional icon; private final String name; @@ -42,6 +44,7 @@ private CreateBillingLinkedPlanRequestBody( BillingProviderType billingProvider, String description, String externalResourceId, + Optional externalResourceVersion, Optional icon, String name, PlanType planType, @@ -49,6 +52,7 @@ private CreateBillingLinkedPlanRequestBody( this.billingProvider = billingProvider; this.description = description; this.externalResourceId = externalResourceId; + this.externalResourceVersion = externalResourceVersion; this.icon = icon; this.name = name; this.planType = planType; @@ -70,6 +74,11 @@ public String getExternalResourceId() { return externalResourceId; } + @JsonProperty("external_resource_version") + public Optional getExternalResourceVersion() { + return externalResourceVersion; + } + @JsonProperty("icon") public Optional getIcon() { return icon; @@ -101,6 +110,7 @@ private boolean equalTo(CreateBillingLinkedPlanRequestBody other) { return billingProvider.equals(other.billingProvider) && description.equals(other.description) && externalResourceId.equals(other.externalResourceId) + && externalResourceVersion.equals(other.externalResourceVersion) && icon.equals(other.icon) && name.equals(other.name) && planType.equals(other.planType); @@ -109,7 +119,13 @@ private boolean equalTo(CreateBillingLinkedPlanRequestBody other) { @java.lang.Override public int hashCode() { return Objects.hash( - this.billingProvider, this.description, this.externalResourceId, this.icon, this.name, this.planType); + this.billingProvider, + this.description, + this.externalResourceId, + this.externalResourceVersion, + this.icon, + this.name, + this.planType); } @java.lang.Override @@ -150,6 +166,10 @@ public interface _FinalStage { _FinalStage additionalProperties(Map additionalProperties); + _FinalStage externalResourceVersion(Optional externalResourceVersion); + + _FinalStage externalResourceVersion(String externalResourceVersion); + _FinalStage icon(Optional icon); _FinalStage icon(PlanIcon icon); @@ -175,6 +195,8 @@ public static final class Builder private Optional icon = Optional.empty(); + private Optional externalResourceVersion = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -185,6 +207,7 @@ public Builder from(CreateBillingLinkedPlanRequestBody other) { billingProvider(other.getBillingProvider()); description(other.getDescription()); externalResourceId(other.getExternalResourceId()); + externalResourceVersion(other.getExternalResourceVersion()); icon(other.getIcon()); name(other.getName()); planType(other.getPlanType()); @@ -239,10 +262,30 @@ public _FinalStage icon(Optional icon) { return this; } + @java.lang.Override + public _FinalStage externalResourceVersion(String externalResourceVersion) { + this.externalResourceVersion = Optional.ofNullable(externalResourceVersion); + return this; + } + + @java.lang.Override + @JsonSetter(value = "external_resource_version", nulls = Nulls.SKIP) + public _FinalStage externalResourceVersion(Optional externalResourceVersion) { + this.externalResourceVersion = externalResourceVersion; + return this; + } + @java.lang.Override public CreateBillingLinkedPlanRequestBody build() { return new CreateBillingLinkedPlanRequestBody( - billingProvider, description, externalResourceId, icon, name, planType, additionalProperties); + billingProvider, + description, + externalResourceId, + externalResourceVersion, + icon, + name, + planType, + additionalProperties); } @java.lang.Override 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 b5e1334..bfcd427 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; } - @JsonIgnore + @JsonProperty("promote_archived_version") 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 12b6d34..24aaf5c 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 */ - @JsonIgnore + @JsonProperty("plan_version_id") 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 32a3890..198bdf1 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 */ - @JsonIgnore + @JsonProperty("plan_id") public String getPlanId() { return planId; } @@ -55,7 +55,7 @@ public String getPlanId() { /** * @return Search for companies by name, keys or string traits */ - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -63,7 +63,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -71,7 +71,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 1fef460..457fed2 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 */ - @JsonIgnore + @JsonProperty("statuses") public Optional> getStatuses() { return statuses; } @@ -65,7 +65,7 @@ public Optional> getStatuses() { /** * @return Filter by company ID */ - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } @@ -73,7 +73,7 @@ public Optional getCompanyId() { /** * @return Filter by plan ID */ - @JsonIgnore + @JsonProperty("plan_id") public Optional getPlanId() { return planId; } @@ -81,7 +81,7 @@ public Optional getPlanId() { /** * @return Filter by billing status */ - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } @@ -89,7 +89,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -97,7 +97,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 f6507ef..2db1f10 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; } - @JsonIgnore + @JsonProperty("plan_id") public String getPlanId() { return planId; } - @JsonIgnore + @JsonProperty("plan_version_id") 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 826e6f8..db7de96 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; @@ -27,6 +27,8 @@ public final class ListPlansRequest { private final Optional companyId; + private final Optional companyScopedOnly; + private final Optional excludeCompanyScoped; private final Optional forFallbackPlan; @@ -58,6 +60,7 @@ public final class ListPlansRequest { private ListPlansRequest( Optional> ids, Optional companyId, + Optional companyScopedOnly, Optional excludeCompanyScoped, Optional forFallbackPlan, Optional forInitialPlan, @@ -74,6 +77,7 @@ private ListPlansRequest( Map additionalProperties) { this.ids = ids; this.companyId = companyId; + this.companyScopedOnly = companyScopedOnly; this.excludeCompanyScoped = excludeCompanyScoped; this.forFallbackPlan = forFallbackPlan; this.forInitialPlan = forInitialPlan; @@ -90,20 +94,28 @@ private ListPlansRequest( this.additionalProperties = additionalProperties; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } + /** + * @return Only return plans that are scoped to a company (custom plans assigned to a company) + */ + @JsonProperty("company_scoped_only") + public Optional getCompanyScopedOnly() { + return companyScopedOnly; + } + /** * @return Exclude plans that are scoped to a company (custom plans assigned to a company) */ - @JsonIgnore + @JsonProperty("exclude_company_scoped") public Optional getExcludeCompanyScoped() { return excludeCompanyScoped; } @@ -111,7 +123,7 @@ public Optional getExcludeCompanyScoped() { /** * @return Filter for plans valid as fallback plans (not linked to billing) */ - @JsonIgnore + @JsonProperty("for_fallback_plan") public Optional getForFallbackPlan() { return forFallbackPlan; } @@ -119,7 +131,7 @@ public Optional getForFallbackPlan() { /** * @return Filter for plans valid as initial plans (not linked to billing, free, or auto-cancelling trial) */ - @JsonIgnore + @JsonProperty("for_initial_plan") public Optional getForInitialPlan() { return forInitialPlan; } @@ -127,7 +139,7 @@ public Optional getForInitialPlan() { /** * @return Filter for plans valid as trial expiry plans (not linked to billing or free) */ - @JsonIgnore + @JsonProperty("for_trial_expiry_plan") public Optional getForTrialExpiryPlan() { return forTrialExpiryPlan; } @@ -135,7 +147,7 @@ public Optional getForTrialExpiryPlan() { /** * @return Filter out plans that do not have a billing product ID */ - @JsonIgnore + @JsonProperty("has_product_id") public Optional getHasProductId() { return hasProductId; } @@ -143,7 +155,7 @@ public Optional getHasProductId() { /** * @return Include billing settings from draft versions for plans which have draft version */ - @JsonIgnore + @JsonProperty("include_draft_versions") public Optional getIncludeDraftVersions() { return includeDraftVersions; } @@ -151,12 +163,12 @@ public Optional getIncludeDraftVersions() { /** * @return Filter by plan type */ - @JsonIgnore + @JsonProperty("plan_type") public Optional getPlanType() { return planType; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -164,7 +176,7 @@ public Optional getQ() { /** * @return Filter plans scoped to a specific company (custom plans) */ - @JsonIgnore + @JsonProperty("scoped_to_company_id") public Optional getScopedToCompanyId() { return scopedToCompanyId; } @@ -172,7 +184,7 @@ public Optional getScopedToCompanyId() { /** * @return Filter out plans that already have a plan entitlement for the specified feature ID */ - @JsonIgnore + @JsonProperty("without_entitlement_for") public Optional getWithoutEntitlementFor() { return withoutEntitlementFor; } @@ -180,7 +192,7 @@ public Optional getWithoutEntitlementFor() { /** * @return Filter out plans that have a paid billing product ID */ - @JsonIgnore + @JsonProperty("without_paid_product_id") public Optional getWithoutPaidProductId() { return withoutPaidProductId; } @@ -188,7 +200,7 @@ public Optional getWithoutPaidProductId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -196,7 +208,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } @@ -215,6 +227,7 @@ public Map getAdditionalProperties() { private boolean equalTo(ListPlansRequest other) { return ids.equals(other.ids) && companyId.equals(other.companyId) + && companyScopedOnly.equals(other.companyScopedOnly) && excludeCompanyScoped.equals(other.excludeCompanyScoped) && forFallbackPlan.equals(other.forFallbackPlan) && forInitialPlan.equals(other.forInitialPlan) @@ -235,6 +248,7 @@ public int hashCode() { return Objects.hash( this.ids, this.companyId, + this.companyScopedOnly, this.excludeCompanyScoped, this.forFallbackPlan, this.forInitialPlan, @@ -265,6 +279,8 @@ public static final class Builder { private Optional companyId = Optional.empty(); + private Optional companyScopedOnly = Optional.empty(); + private Optional excludeCompanyScoped = Optional.empty(); private Optional forFallbackPlan = Optional.empty(); @@ -299,6 +315,7 @@ private Builder() {} public Builder from(ListPlansRequest other) { ids(other.getIds()); companyId(other.getCompanyId()); + companyScopedOnly(other.getCompanyScopedOnly()); excludeCompanyScoped(other.getExcludeCompanyScoped()); forFallbackPlan(other.getForFallbackPlan()); forInitialPlan(other.getForInitialPlan()); @@ -342,6 +359,20 @@ public Builder companyId(String companyId) { return this; } + /** + *

Only return plans that are scoped to a company (custom plans assigned to a company)

+ */ + @JsonSetter(value = "company_scoped_only", nulls = Nulls.SKIP) + public Builder companyScopedOnly(Optional companyScopedOnly) { + this.companyScopedOnly = companyScopedOnly; + return this; + } + + public Builder companyScopedOnly(Boolean companyScopedOnly) { + this.companyScopedOnly = Optional.ofNullable(companyScopedOnly); + return this; + } + /** *

Exclude plans that are scoped to a company (custom plans assigned to a company)

*/ @@ -525,6 +556,7 @@ public ListPlansRequest build() { return new ListPlansRequest( ids, companyId, + companyScopedOnly, excludeCompanyScoped, forFallbackPlan, forInitialPlan, diff --git a/src/main/java/com/schematic/api/resources/plans/types/CountPlansParams.java b/src/main/java/com/schematic/api/resources/plans/types/CountPlansParams.java index aeef757..ae611ff 100644 --- a/src/main/java/com/schematic/api/resources/plans/types/CountPlansParams.java +++ b/src/main/java/com/schematic/api/resources/plans/types/CountPlansParams.java @@ -24,6 +24,8 @@ public final class CountPlansParams { private final Optional companyId; + private final Optional companyScopedOnly; + private final Optional excludeCompanyScoped; private final Optional forFallbackPlan; @@ -56,6 +58,7 @@ public final class CountPlansParams { private CountPlansParams( Optional companyId, + Optional companyScopedOnly, Optional excludeCompanyScoped, Optional forFallbackPlan, Optional forInitialPlan, @@ -72,6 +75,7 @@ private CountPlansParams( Optional withoutPaidProductId, Map additionalProperties) { this.companyId = companyId; + this.companyScopedOnly = companyScopedOnly; this.excludeCompanyScoped = excludeCompanyScoped; this.forFallbackPlan = forFallbackPlan; this.forInitialPlan = forInitialPlan; @@ -94,6 +98,14 @@ public Optional getCompanyId() { return companyId; } + /** + * @return Only return plans that are scoped to a company (custom plans assigned to a company) + */ + @JsonProperty("company_scoped_only") + public Optional getCompanyScopedOnly() { + return companyScopedOnly; + } + /** * @return Exclude plans that are scoped to a company (custom plans assigned to a company) */ @@ -213,6 +225,7 @@ public Map getAdditionalProperties() { private boolean equalTo(CountPlansParams other) { return companyId.equals(other.companyId) + && companyScopedOnly.equals(other.companyScopedOnly) && excludeCompanyScoped.equals(other.excludeCompanyScoped) && forFallbackPlan.equals(other.forFallbackPlan) && forInitialPlan.equals(other.forInitialPlan) @@ -233,6 +246,7 @@ private boolean equalTo(CountPlansParams other) { public int hashCode() { return Objects.hash( this.companyId, + this.companyScopedOnly, this.excludeCompanyScoped, this.forFallbackPlan, this.forInitialPlan, @@ -262,6 +276,8 @@ public static Builder builder() { public static final class Builder { private Optional companyId = Optional.empty(); + private Optional companyScopedOnly = Optional.empty(); + private Optional excludeCompanyScoped = Optional.empty(); private Optional forFallbackPlan = Optional.empty(); @@ -297,6 +313,7 @@ private Builder() {} public Builder from(CountPlansParams other) { companyId(other.getCompanyId()); + companyScopedOnly(other.getCompanyScopedOnly()); excludeCompanyScoped(other.getExcludeCompanyScoped()); forFallbackPlan(other.getForFallbackPlan()); forInitialPlan(other.getForInitialPlan()); @@ -325,6 +342,20 @@ public Builder companyId(String companyId) { return this; } + /** + *

Only return plans that are scoped to a company (custom plans assigned to a company)

+ */ + @JsonSetter(value = "company_scoped_only", nulls = Nulls.SKIP) + public Builder companyScopedOnly(Optional companyScopedOnly) { + this.companyScopedOnly = companyScopedOnly; + return this; + } + + public Builder companyScopedOnly(Boolean companyScopedOnly) { + this.companyScopedOnly = Optional.ofNullable(companyScopedOnly); + return this; + } + /** *

Exclude plans that are scoped to a company (custom plans assigned to a company)

*/ @@ -518,6 +549,7 @@ public Builder withoutPaidProductId(Boolean withoutPaidProductId) { public CountPlansParams build() { return new CountPlansParams( companyId, + companyScopedOnly, excludeCompanyScoped, forFallbackPlan, forInitialPlan, diff --git a/src/main/java/com/schematic/api/resources/plans/types/ListPlansParams.java b/src/main/java/com/schematic/api/resources/plans/types/ListPlansParams.java index 1e778e1..39ca210 100644 --- a/src/main/java/com/schematic/api/resources/plans/types/ListPlansParams.java +++ b/src/main/java/com/schematic/api/resources/plans/types/ListPlansParams.java @@ -24,6 +24,8 @@ public final class ListPlansParams { private final Optional companyId; + private final Optional companyScopedOnly; + private final Optional excludeCompanyScoped; private final Optional forFallbackPlan; @@ -56,6 +58,7 @@ public final class ListPlansParams { private ListPlansParams( Optional companyId, + Optional companyScopedOnly, Optional excludeCompanyScoped, Optional forFallbackPlan, Optional forInitialPlan, @@ -72,6 +75,7 @@ private ListPlansParams( Optional withoutPaidProductId, Map additionalProperties) { this.companyId = companyId; + this.companyScopedOnly = companyScopedOnly; this.excludeCompanyScoped = excludeCompanyScoped; this.forFallbackPlan = forFallbackPlan; this.forInitialPlan = forInitialPlan; @@ -94,6 +98,14 @@ public Optional getCompanyId() { return companyId; } + /** + * @return Only return plans that are scoped to a company (custom plans assigned to a company) + */ + @JsonProperty("company_scoped_only") + public Optional getCompanyScopedOnly() { + return companyScopedOnly; + } + /** * @return Exclude plans that are scoped to a company (custom plans assigned to a company) */ @@ -213,6 +225,7 @@ public Map getAdditionalProperties() { private boolean equalTo(ListPlansParams other) { return companyId.equals(other.companyId) + && companyScopedOnly.equals(other.companyScopedOnly) && excludeCompanyScoped.equals(other.excludeCompanyScoped) && forFallbackPlan.equals(other.forFallbackPlan) && forInitialPlan.equals(other.forInitialPlan) @@ -233,6 +246,7 @@ private boolean equalTo(ListPlansParams other) { public int hashCode() { return Objects.hash( this.companyId, + this.companyScopedOnly, this.excludeCompanyScoped, this.forFallbackPlan, this.forInitialPlan, @@ -262,6 +276,8 @@ public static Builder builder() { public static final class Builder { private Optional companyId = Optional.empty(); + private Optional companyScopedOnly = Optional.empty(); + private Optional excludeCompanyScoped = Optional.empty(); private Optional forFallbackPlan = Optional.empty(); @@ -297,6 +313,7 @@ private Builder() {} public Builder from(ListPlansParams other) { companyId(other.getCompanyId()); + companyScopedOnly(other.getCompanyScopedOnly()); excludeCompanyScoped(other.getExcludeCompanyScoped()); forFallbackPlan(other.getForFallbackPlan()); forInitialPlan(other.getForInitialPlan()); @@ -325,6 +342,20 @@ public Builder companyId(String companyId) { return this; } + /** + *

Only return plans that are scoped to a company (custom plans assigned to a company)

+ */ + @JsonSetter(value = "company_scoped_only", nulls = Nulls.SKIP) + public Builder companyScopedOnly(Optional companyScopedOnly) { + this.companyScopedOnly = companyScopedOnly; + return this; + } + + public Builder companyScopedOnly(Boolean companyScopedOnly) { + this.companyScopedOnly = Optional.ofNullable(companyScopedOnly); + return this; + } + /** *

Exclude plans that are scoped to a company (custom plans assigned to a company)

*/ @@ -518,6 +549,7 @@ public Builder withoutPaidProductId(Boolean withoutPaidProductId) { public ListPlansParams build() { return new ListPlansParams( companyId, + companyScopedOnly, excludeCompanyScoped, forFallbackPlan, forInitialPlan, 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 10263dd..b88977f 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; } - @JsonIgnore + @JsonProperty("company_id") public Optional getCompanyId() { return companyId; } - @JsonIgnore + @JsonProperty("status") public Optional getStatus() { return status; } @@ -57,7 +57,7 @@ public Optional getStatus() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -65,7 +65,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 a9ed1ea..77a8d09 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("webhook_id") public Optional getWebhookId() { return webhookId; } @@ -67,7 +67,7 @@ public Optional getWebhookId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 61083ce..1edbf02 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; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 8518e5b..0a8d37d 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; } - @JsonIgnore + @JsonProperty("ids") public Optional> getIds() { return ids; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } - @JsonIgnore + @JsonProperty("webhook_id") public Optional getWebhookId() { return webhookId; } @@ -67,7 +67,7 @@ public Optional getWebhookId() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -75,7 +75,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") 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 49cf5fa..4089b5b 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; } - @JsonIgnore + @JsonProperty("q") public Optional getQ() { return q; } @@ -44,7 +44,7 @@ public Optional getQ() { /** * @return Page limit (default 100) */ - @JsonIgnore + @JsonProperty("limit") public Optional getLimit() { return limit; } @@ -52,7 +52,7 @@ public Optional getLimit() { /** * @return Page offset (default 0) */ - @JsonIgnore + @JsonProperty("offset") public Optional getOffset() { return offset; } diff --git a/src/main/java/com/schematic/api/types/ApiKeyCreateResponseData.java b/src/main/java/com/schematic/api/types/ApiKeyCreateResponseData.java index e8f40f2..de29fe3 100644 --- a/src/main/java/com/schematic/api/types/ApiKeyCreateResponseData.java +++ b/src/main/java/com/schematic/api/types/ApiKeyCreateResponseData.java @@ -34,6 +34,8 @@ public final class ApiKeyCreateResponseData { private final String id; + private final Optional integration; + private final Optional lastUsedAt; private final String name; @@ -54,6 +56,7 @@ private ApiKeyCreateResponseData( Optional environment, Optional environmentId, String id, + Optional integration, Optional lastUsedAt, String name, boolean readonly, @@ -66,6 +69,7 @@ private ApiKeyCreateResponseData( this.environment = environment; this.environmentId = environmentId; this.id = id; + this.integration = integration; this.lastUsedAt = lastUsedAt; this.name = name; this.readonly = readonly; @@ -100,6 +104,11 @@ public String getId() { return id; } + @JsonProperty("integration") + public Optional getIntegration() { + return integration; + } + @JsonProperty("last_used_at") public Optional getLastUsedAt() { return lastUsedAt; @@ -147,6 +156,7 @@ private boolean equalTo(ApiKeyCreateResponseData other) { && environment.equals(other.environment) && environmentId.equals(other.environmentId) && id.equals(other.id) + && integration.equals(other.integration) && lastUsedAt.equals(other.lastUsedAt) && name.equals(other.name) && readonly == other.readonly @@ -163,6 +173,7 @@ public int hashCode() { this.environment, this.environmentId, this.id, + this.integration, this.lastUsedAt, this.name, this.readonly, @@ -225,6 +236,10 @@ public interface _FinalStage { _FinalStage environmentId(String environmentId); + _FinalStage integration(Optional integration); + + _FinalStage integration(ApiKeyIntegrationResponseData integration); + _FinalStage lastUsedAt(Optional lastUsedAt); _FinalStage lastUsedAt(OffsetDateTime lastUsedAt); @@ -255,6 +270,8 @@ public static final class Builder private Optional lastUsedAt = Optional.empty(); + private Optional integration = Optional.empty(); + private Optional environmentId = Optional.empty(); private Optional environment = Optional.empty(); @@ -273,6 +290,7 @@ public Builder from(ApiKeyCreateResponseData other) { environment(other.getEnvironment()); environmentId(other.getEnvironmentId()); id(other.getId()); + integration(other.getIntegration()); lastUsedAt(other.getLastUsedAt()); name(other.getName()); readonly(other.getReadonly()); @@ -361,6 +379,19 @@ public _FinalStage lastUsedAt(Optional lastUsedAt) { return this; } + @java.lang.Override + public _FinalStage integration(ApiKeyIntegrationResponseData integration) { + this.integration = Optional.ofNullable(integration); + return this; + } + + @java.lang.Override + @JsonSetter(value = "integration", nulls = Nulls.SKIP) + public _FinalStage integration(Optional integration) { + this.integration = integration; + return this; + } + @java.lang.Override public _FinalStage environmentId(String environmentId) { this.environmentId = Optional.ofNullable(environmentId); @@ -408,6 +439,7 @@ public ApiKeyCreateResponseData build() { environment, environmentId, id, + integration, lastUsedAt, name, readonly, diff --git a/src/main/java/com/schematic/api/types/ApiKeyIntegrationResponseData.java b/src/main/java/com/schematic/api/types/ApiKeyIntegrationResponseData.java new file mode 100644 index 0000000..73f11fd --- /dev/null +++ b/src/main/java/com/schematic/api/types/ApiKeyIntegrationResponseData.java @@ -0,0 +1,163 @@ +/** + * 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 = ApiKeyIntegrationResponseData.Builder.class) +public final class ApiKeyIntegrationResponseData { + private final String id; + + private final IntegrationState state; + + private final IntegrationType type; + + private final Map additionalProperties; + + private ApiKeyIntegrationResponseData( + String id, IntegrationState state, IntegrationType type, Map additionalProperties) { + this.id = id; + this.state = state; + this.type = type; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("state") + public IntegrationState getState() { + return state; + } + + @JsonProperty("type") + public IntegrationType getType() { + return type; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ApiKeyIntegrationResponseData && equalTo((ApiKeyIntegrationResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ApiKeyIntegrationResponseData other) { + return id.equals(other.id) && state.equals(other.state) && type.equals(other.type); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.id, this.state, this.type); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IdStage builder() { + return new Builder(); + } + + public interface IdStage { + StateStage id(@NotNull String id); + + Builder from(ApiKeyIntegrationResponseData other); + } + + public interface StateStage { + TypeStage state(@NotNull IntegrationState state); + } + + public interface TypeStage { + _FinalStage type(@NotNull IntegrationType type); + } + + public interface _FinalStage { + ApiKeyIntegrationResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements IdStage, StateStage, TypeStage, _FinalStage { + private String id; + + private IntegrationState state; + + private IntegrationType type; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(ApiKeyIntegrationResponseData other) { + id(other.getId()); + state(other.getState()); + type(other.getType()); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public StateStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("state") + public TypeStage state(@NotNull IntegrationState state) { + this.state = Objects.requireNonNull(state, "state must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("type") + public _FinalStage type(@NotNull IntegrationType type) { + this.type = Objects.requireNonNull(type, "type must not be null"); + return this; + } + + @java.lang.Override + public ApiKeyIntegrationResponseData build() { + return new ApiKeyIntegrationResponseData(id, state, type, 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/ApiKeyResponseData.java b/src/main/java/com/schematic/api/types/ApiKeyResponseData.java index 4a524bd..0f8dbaf 100644 --- a/src/main/java/com/schematic/api/types/ApiKeyResponseData.java +++ b/src/main/java/com/schematic/api/types/ApiKeyResponseData.java @@ -34,6 +34,8 @@ public final class ApiKeyResponseData { private final String id; + private final Optional integration; + private final Optional lastUsedAt; private final String name; @@ -52,6 +54,7 @@ private ApiKeyResponseData( Optional environment, Optional environmentId, String id, + Optional integration, Optional lastUsedAt, String name, boolean readonly, @@ -63,6 +66,7 @@ private ApiKeyResponseData( this.environment = environment; this.environmentId = environmentId; this.id = id; + this.integration = integration; this.lastUsedAt = lastUsedAt; this.name = name; this.readonly = readonly; @@ -96,6 +100,11 @@ public String getId() { return id; } + @JsonProperty("integration") + public Optional getIntegration() { + return integration; + } + @JsonProperty("last_used_at") public Optional getLastUsedAt() { return lastUsedAt; @@ -138,6 +147,7 @@ private boolean equalTo(ApiKeyResponseData other) { && environment.equals(other.environment) && environmentId.equals(other.environmentId) && id.equals(other.id) + && integration.equals(other.integration) && lastUsedAt.equals(other.lastUsedAt) && name.equals(other.name) && readonly == other.readonly @@ -153,6 +163,7 @@ public int hashCode() { this.environment, this.environmentId, this.id, + this.integration, this.lastUsedAt, this.name, this.readonly, @@ -210,6 +221,10 @@ public interface _FinalStage { _FinalStage environmentId(String environmentId); + _FinalStage integration(Optional integration); + + _FinalStage integration(ApiKeyIntegrationResponseData integration); + _FinalStage lastUsedAt(Optional lastUsedAt); _FinalStage lastUsedAt(OffsetDateTime lastUsedAt); @@ -238,6 +253,8 @@ public static final class Builder private Optional lastUsedAt = Optional.empty(); + private Optional integration = Optional.empty(); + private Optional environmentId = Optional.empty(); private Optional environment = Optional.empty(); @@ -256,6 +273,7 @@ public Builder from(ApiKeyResponseData other) { environment(other.getEnvironment()); environmentId(other.getEnvironmentId()); id(other.getId()); + integration(other.getIntegration()); lastUsedAt(other.getLastUsedAt()); name(other.getName()); readonly(other.getReadonly()); @@ -336,6 +354,19 @@ public _FinalStage lastUsedAt(Optional lastUsedAt) { return this; } + @java.lang.Override + public _FinalStage integration(ApiKeyIntegrationResponseData integration) { + this.integration = Optional.ofNullable(integration); + return this; + } + + @java.lang.Override + @JsonSetter(value = "integration", nulls = Nulls.SKIP) + public _FinalStage integration(Optional integration) { + this.integration = integration; + return this; + } + @java.lang.Override public _FinalStage environmentId(String environmentId) { this.environmentId = Optional.ofNullable(environmentId); @@ -383,6 +414,7 @@ public ApiKeyResponseData build() { environment, environmentId, id, + integration, lastUsedAt, name, readonly, diff --git a/src/main/java/com/schematic/api/types/AuditLogListResponseData.java b/src/main/java/com/schematic/api/types/AuditLogListResponseData.java index 2e4d122..f8253ab 100644 --- a/src/main/java/com/schematic/api/types/AuditLogListResponseData.java +++ b/src/main/java/com/schematic/api/types/AuditLogListResponseData.java @@ -24,6 +24,8 @@ public final class AuditLogListResponseData { private final ActorType actorType; + private final Optional apiKey; + private final Optional apiKeyId; private final Optional endedAt; @@ -58,6 +60,7 @@ public final class AuditLogListResponseData { private AuditLogListResponseData( ActorType actorType, + Optional apiKey, Optional apiKeyId, Optional endedAt, Optional environment, @@ -75,6 +78,7 @@ private AuditLogListResponseData( Optional userName, Map additionalProperties) { this.actorType = actorType; + this.apiKey = apiKey; this.apiKeyId = apiKeyId; this.endedAt = endedAt; this.environment = environment; @@ -98,6 +102,11 @@ public ActorType getActorType() { return actorType; } + @JsonProperty("api_key") + public Optional getApiKey() { + return apiKey; + } + @JsonProperty("api_key_id") public Optional getApiKeyId() { return apiKeyId; @@ -186,6 +195,7 @@ public Map getAdditionalProperties() { private boolean equalTo(AuditLogListResponseData other) { return actorType.equals(other.actorType) + && apiKey.equals(other.apiKey) && apiKeyId.equals(other.apiKeyId) && endedAt.equals(other.endedAt) && environment.equals(other.environment) @@ -207,6 +217,7 @@ private boolean equalTo(AuditLogListResponseData other) { public int hashCode() { return Objects.hash( this.actorType, + this.apiKey, this.apiKeyId, this.endedAt, this.environment, @@ -262,6 +273,10 @@ public interface _FinalStage { _FinalStage additionalProperties(Map additionalProperties); + _FinalStage apiKey(Optional apiKey); + + _FinalStage apiKey(ApiKeyResponseData apiKey); + _FinalStage apiKeyId(Optional apiKeyId); _FinalStage apiKeyId(String apiKeyId); @@ -342,6 +357,8 @@ public static final class Builder private Optional apiKeyId = Optional.empty(); + private Optional apiKey = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -350,6 +367,7 @@ private Builder() {} @java.lang.Override public Builder from(AuditLogListResponseData other) { actorType(other.getActorType()); + apiKey(other.getApiKey()); apiKeyId(other.getApiKeyId()); endedAt(other.getEndedAt()); environment(other.getEnvironment()); @@ -546,10 +564,24 @@ public _FinalStage apiKeyId(Optional apiKeyId) { return this; } + @java.lang.Override + public _FinalStage apiKey(ApiKeyResponseData apiKey) { + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + @java.lang.Override + @JsonSetter(value = "api_key", nulls = Nulls.SKIP) + public _FinalStage apiKey(Optional apiKey) { + this.apiKey = apiKey; + return this; + } + @java.lang.Override public AuditLogListResponseData build() { return new AuditLogListResponseData( actorType, + apiKey, apiKeyId, endedAt, environment, diff --git a/src/main/java/com/schematic/api/types/AuditLogResponseData.java b/src/main/java/com/schematic/api/types/AuditLogResponseData.java index 081dda9..9d92f0c 100644 --- a/src/main/java/com/schematic/api/types/AuditLogResponseData.java +++ b/src/main/java/com/schematic/api/types/AuditLogResponseData.java @@ -24,6 +24,8 @@ public final class AuditLogResponseData { private final ActorType actorType; + private final Optional apiKey; + private final Optional apiKeyId; private final Optional endedAt; @@ -64,6 +66,7 @@ public final class AuditLogResponseData { private AuditLogResponseData( ActorType actorType, + Optional apiKey, Optional apiKeyId, Optional endedAt, Optional environment, @@ -84,6 +87,7 @@ private AuditLogResponseData( Optional userName, Map additionalProperties) { this.actorType = actorType; + this.apiKey = apiKey; this.apiKeyId = apiKeyId; this.endedAt = endedAt; this.environment = environment; @@ -110,6 +114,11 @@ public ActorType getActorType() { return actorType; } + @JsonProperty("api_key") + public Optional getApiKey() { + return apiKey; + } + @JsonProperty("api_key_id") public Optional getApiKeyId() { return apiKeyId; @@ -213,6 +222,7 @@ public Map getAdditionalProperties() { private boolean equalTo(AuditLogResponseData other) { return actorType.equals(other.actorType) + && apiKey.equals(other.apiKey) && apiKeyId.equals(other.apiKeyId) && endedAt.equals(other.endedAt) && environment.equals(other.environment) @@ -237,6 +247,7 @@ private boolean equalTo(AuditLogResponseData other) { public int hashCode() { return Objects.hash( this.actorType, + this.apiKey, this.apiKeyId, this.endedAt, this.environment, @@ -295,6 +306,10 @@ public interface _FinalStage { _FinalStage additionalProperties(Map additionalProperties); + _FinalStage apiKey(Optional apiKey); + + _FinalStage apiKey(ApiKeyResponseData apiKey); + _FinalStage apiKeyId(Optional apiKeyId); _FinalStage apiKeyId(String apiKeyId); @@ -393,6 +408,8 @@ public static final class Builder private Optional apiKeyId = Optional.empty(); + private Optional apiKey = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -401,6 +418,7 @@ private Builder() {} @java.lang.Override public Builder from(AuditLogResponseData other) { actorType(other.getActorType()); + apiKey(other.getApiKey()); apiKeyId(other.getApiKeyId()); endedAt(other.getEndedAt()); environment(other.getEnvironment()); @@ -639,10 +657,24 @@ public _FinalStage apiKeyId(Optional apiKeyId) { return this; } + @java.lang.Override + public _FinalStage apiKey(ApiKeyResponseData apiKey) { + this.apiKey = Optional.ofNullable(apiKey); + return this; + } + + @java.lang.Override + @JsonSetter(value = "api_key", nulls = Nulls.SKIP) + public _FinalStage apiKey(Optional apiKey) { + this.apiKey = apiKey; + return this; + } + @java.lang.Override public AuditLogResponseData build() { return new AuditLogResponseData( actorType, + apiKey, apiKeyId, endedAt, environment, diff --git a/src/main/java/com/schematic/api/types/BillingCreditBundleView.java b/src/main/java/com/schematic/api/types/BillingCreditBundleView.java index 019a7a3..f177988 100644 --- a/src/main/java/com/schematic/api/types/BillingCreditBundleView.java +++ b/src/main/java/com/schematic/api/types/BillingCreditBundleView.java @@ -13,6 +13,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -35,7 +36,7 @@ public final class BillingCreditBundleView { private final String creditName; - private final Optional> currencyPrices; + private final List currencyPrices; private final BillingCreditExpiryType expiryType; @@ -72,7 +73,7 @@ private BillingCreditBundleView( Optional creditIcon, String creditId, String creditName, - Optional> currencyPrices, + List currencyPrices, BillingCreditExpiryType expiryType, BillingCreditExpiryUnit expiryUnit, Optional expiryUnitCount, @@ -141,7 +142,7 @@ public String getCreditName() { } @JsonProperty("currency_prices") - public Optional> getCurrencyPrices() { + public List getCurrencyPrices() { return currencyPrices; } @@ -339,10 +340,12 @@ public interface _FinalStage { _FinalStage creditIcon(String creditIcon); - _FinalStage currencyPrices(Optional> currencyPrices); - _FinalStage currencyPrices(List currencyPrices); + _FinalStage addCurrencyPrices(CreditBundleCurrencyPrice currencyPrices); + + _FinalStage addAllCurrencyPrices(List currencyPrices); + _FinalStage expiryUnitCount(Optional expiryUnitCount); _FinalStage expiryUnitCount(Long expiryUnitCount); @@ -416,7 +419,7 @@ public static final class Builder private Optional expiryUnitCount = Optional.empty(); - private Optional> currencyPrices = Optional.empty(); + private List currencyPrices = new ArrayList<>(); private Optional creditIcon = Optional.empty(); @@ -608,15 +611,26 @@ public _FinalStage expiryUnitCount(Optional expiryUnitCount) { } @java.lang.Override - public _FinalStage currencyPrices(List currencyPrices) { - this.currencyPrices = Optional.ofNullable(currencyPrices); + public _FinalStage addAllCurrencyPrices(List currencyPrices) { + if (currencyPrices != null) { + this.currencyPrices.addAll(currencyPrices); + } + return this; + } + + @java.lang.Override + public _FinalStage addCurrencyPrices(CreditBundleCurrencyPrice currencyPrices) { + this.currencyPrices.add(currencyPrices); return this; } @java.lang.Override @JsonSetter(value = "currency_prices", nulls = Nulls.SKIP) - public _FinalStage currencyPrices(Optional> currencyPrices) { - this.currencyPrices = currencyPrices; + public _FinalStage currencyPrices(List currencyPrices) { + this.currencyPrices.clear(); + if (currencyPrices != null) { + this.currencyPrices.addAll(currencyPrices); + } return this; } diff --git a/src/main/java/com/schematic/api/types/BillingCreditView.java b/src/main/java/com/schematic/api/types/BillingCreditView.java index 9cebee7..cea0d72 100644 --- a/src/main/java/com/schematic/api/types/BillingCreditView.java +++ b/src/main/java/com/schematic/api/types/BillingCreditView.java @@ -13,7 +13,9 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.schematic.api.core.ObjectMappers; import java.time.OffsetDateTime; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -30,6 +32,8 @@ public final class BillingCreditView { private final OffsetDateTime createdAt; + private final List currencyPrices; + private final BillingCreditExpiryUnit defaultExpiryUnit; private final Optional defaultExpiryUnitCount; @@ -67,6 +71,7 @@ private BillingCreditView( BillingCreditBurnStrategy burnStrategy, boolean costEditable, OffsetDateTime createdAt, + List currencyPrices, BillingCreditExpiryUnit defaultExpiryUnit, Optional defaultExpiryUnitCount, BillingCreditRolloverPolicy defaultRolloverPolicy, @@ -87,6 +92,7 @@ private BillingCreditView( this.burnStrategy = burnStrategy; this.costEditable = costEditable; this.createdAt = createdAt; + this.currencyPrices = currencyPrices; this.defaultExpiryUnit = defaultExpiryUnit; this.defaultExpiryUnitCount = defaultExpiryUnitCount; this.defaultRolloverPolicy = defaultRolloverPolicy; @@ -125,6 +131,11 @@ public OffsetDateTime getCreatedAt() { return createdAt; } + @JsonProperty("currency_prices") + public List getCurrencyPrices() { + return currencyPrices; + } + @JsonProperty("default_expiry_unit") public BillingCreditExpiryUnit getDefaultExpiryUnit() { return defaultExpiryUnit; @@ -216,6 +227,7 @@ private boolean equalTo(BillingCreditView other) { && burnStrategy.equals(other.burnStrategy) && costEditable == other.costEditable && createdAt.equals(other.createdAt) + && currencyPrices.equals(other.currencyPrices) && defaultExpiryUnit.equals(other.defaultExpiryUnit) && defaultExpiryUnitCount.equals(other.defaultExpiryUnitCount) && defaultRolloverPolicy.equals(other.defaultRolloverPolicy) @@ -240,6 +252,7 @@ public int hashCode() { this.burnStrategy, this.costEditable, this.createdAt, + this.currencyPrices, this.defaultExpiryUnit, this.defaultExpiryUnitCount, this.defaultRolloverPolicy, @@ -319,6 +332,12 @@ public interface _FinalStage { _FinalStage additionalProperties(Map additionalProperties); + _FinalStage currencyPrices(List currencyPrices); + + _FinalStage addCurrencyPrices(CreditCurrencyPrice currencyPrices); + + _FinalStage addAllCurrencyPrices(List currencyPrices); + _FinalStage defaultExpiryUnitCount(Optional defaultExpiryUnitCount); _FinalStage defaultExpiryUnitCount(Long defaultExpiryUnitCount); @@ -404,6 +423,8 @@ public static final class Builder private Optional defaultExpiryUnitCount = Optional.empty(); + private List currencyPrices = new ArrayList<>(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -415,6 +436,7 @@ public Builder from(BillingCreditView other) { burnStrategy(other.getBurnStrategy()); costEditable(other.getCostEditable()); createdAt(other.getCreatedAt()); + currencyPrices(other.getCurrencyPrices()); defaultExpiryUnit(other.getDefaultExpiryUnit()); defaultExpiryUnitCount(other.getDefaultExpiryUnitCount()); defaultRolloverPolicy(other.getDefaultRolloverPolicy()); @@ -615,6 +637,30 @@ public _FinalStage defaultExpiryUnitCount(Optional defaultExpiryUnitCount) return this; } + @java.lang.Override + public _FinalStage addAllCurrencyPrices(List currencyPrices) { + if (currencyPrices != null) { + this.currencyPrices.addAll(currencyPrices); + } + return this; + } + + @java.lang.Override + public _FinalStage addCurrencyPrices(CreditCurrencyPrice currencyPrices) { + this.currencyPrices.add(currencyPrices); + return this; + } + + @java.lang.Override + @JsonSetter(value = "currency_prices", nulls = Nulls.SKIP) + public _FinalStage currencyPrices(List currencyPrices) { + this.currencyPrices.clear(); + if (currencyPrices != null) { + this.currencyPrices.addAll(currencyPrices); + } + return this; + } + @java.lang.Override public BillingCreditView build() { return new BillingCreditView( @@ -622,6 +668,7 @@ public BillingCreditView build() { burnStrategy, costEditable, createdAt, + currencyPrices, defaultExpiryUnit, defaultExpiryUnitCount, defaultRolloverPolicy, diff --git a/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResponseData.java b/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResponseData.java index c20b5be..895681a 100644 --- a/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResponseData.java +++ b/src/main/java/com/schematic/api/types/BillingPlanCreditGrantResponseData.java @@ -34,6 +34,8 @@ public final class BillingPlanCreditGrantResponseData { private final Optional autoTopupExpiryUnitCount; + private final boolean autoTopupSelfService; + private final Optional autoTopupThresholdCredits; private final Optional autoTopupThresholdPercent; @@ -85,6 +87,7 @@ private BillingPlanCreditGrantResponseData( Optional autoTopupExpiryType, Optional autoTopupExpiryUnit, Optional autoTopupExpiryUnitCount, + boolean autoTopupSelfService, Optional autoTopupThresholdCredits, Optional autoTopupThresholdPercent, OffsetDateTime createdAt, @@ -113,6 +116,7 @@ private BillingPlanCreditGrantResponseData( this.autoTopupExpiryType = autoTopupExpiryType; this.autoTopupExpiryUnit = autoTopupExpiryUnit; this.autoTopupExpiryUnitCount = autoTopupExpiryUnitCount; + this.autoTopupSelfService = autoTopupSelfService; this.autoTopupThresholdCredits = autoTopupThresholdCredits; this.autoTopupThresholdPercent = autoTopupThresholdPercent; this.createdAt = createdAt; @@ -167,6 +171,11 @@ public Optional getAutoTopupExpiryUnitCount() { return autoTopupExpiryUnitCount; } + @JsonProperty("auto_topup_self_service") + public boolean getAutoTopupSelfService() { + return autoTopupSelfService; + } + @JsonProperty("auto_topup_threshold_credits") public Optional getAutoTopupThresholdCredits() { return autoTopupThresholdCredits; @@ -303,6 +312,7 @@ private boolean equalTo(BillingPlanCreditGrantResponseData other) { && autoTopupExpiryType.equals(other.autoTopupExpiryType) && autoTopupExpiryUnit.equals(other.autoTopupExpiryUnit) && autoTopupExpiryUnitCount.equals(other.autoTopupExpiryUnitCount) + && autoTopupSelfService == other.autoTopupSelfService && autoTopupThresholdCredits.equals(other.autoTopupThresholdCredits) && autoTopupThresholdPercent.equals(other.autoTopupThresholdPercent) && createdAt.equals(other.createdAt) @@ -335,6 +345,7 @@ public int hashCode() { this.autoTopupExpiryType, this.autoTopupExpiryUnit, this.autoTopupExpiryUnitCount, + this.autoTopupSelfService, this.autoTopupThresholdCredits, this.autoTopupThresholdPercent, this.createdAt, @@ -368,11 +379,15 @@ public static AutoTopupEnabledStage builder() { } public interface AutoTopupEnabledStage { - CreatedAtStage autoTopupEnabled(boolean autoTopupEnabled); + AutoTopupSelfServiceStage autoTopupEnabled(boolean autoTopupEnabled); Builder from(BillingPlanCreditGrantResponseData other); } + public interface AutoTopupSelfServiceStage { + CreatedAtStage autoTopupSelfService(boolean autoTopupSelfService); + } + public interface CreatedAtStage { CreditAmountStage createdAt(@NotNull OffsetDateTime createdAt); } @@ -500,6 +515,7 @@ public interface _FinalStage { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder implements AutoTopupEnabledStage, + AutoTopupSelfServiceStage, CreatedAtStage, CreditAmountStage, CreditIdStage, @@ -511,6 +527,8 @@ public static final class Builder _FinalStage { private boolean autoTopupEnabled; + private boolean autoTopupSelfService; + private OffsetDateTime createdAt; private long creditAmount; @@ -576,6 +594,7 @@ public Builder from(BillingPlanCreditGrantResponseData other) { autoTopupExpiryType(other.getAutoTopupExpiryType()); autoTopupExpiryUnit(other.getAutoTopupExpiryUnit()); autoTopupExpiryUnitCount(other.getAutoTopupExpiryUnitCount()); + autoTopupSelfService(other.getAutoTopupSelfService()); autoTopupThresholdCredits(other.getAutoTopupThresholdCredits()); autoTopupThresholdPercent(other.getAutoTopupThresholdPercent()); createdAt(other.getCreatedAt()); @@ -602,11 +621,18 @@ public Builder from(BillingPlanCreditGrantResponseData other) { @java.lang.Override @JsonSetter("auto_topup_enabled") - public CreatedAtStage autoTopupEnabled(boolean autoTopupEnabled) { + public AutoTopupSelfServiceStage autoTopupEnabled(boolean autoTopupEnabled) { this.autoTopupEnabled = autoTopupEnabled; return this; } + @java.lang.Override + @JsonSetter("auto_topup_self_service") + public CreatedAtStage autoTopupSelfService(boolean autoTopupSelfService) { + this.autoTopupSelfService = autoTopupSelfService; + return this; + } + @java.lang.Override @JsonSetter("created_at") public CreditAmountStage createdAt(@NotNull OffsetDateTime createdAt) { @@ -930,6 +956,7 @@ public BillingPlanCreditGrantResponseData build() { autoTopupExpiryType, autoTopupExpiryUnit, autoTopupExpiryUnitCount, + autoTopupSelfService, autoTopupThresholdCredits, autoTopupThresholdPercent, createdAt, diff --git a/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java b/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java index 4972456..c829e21 100644 --- a/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java +++ b/src/main/java/com/schematic/api/types/ChangeSubscriptionInternalRequestBody.java @@ -25,6 +25,8 @@ public final class ChangeSubscriptionInternalRequestBody { private final List addOnIds; + private final List autoTopupOverrides; + private final String companyId; private final Optional couponExternalId; @@ -47,6 +49,7 @@ public final class ChangeSubscriptionInternalRequestBody { private ChangeSubscriptionInternalRequestBody( List addOnIds, + List autoTopupOverrides, String companyId, Optional couponExternalId, List creditBundles, @@ -58,6 +61,7 @@ private ChangeSubscriptionInternalRequestBody( boolean skipTrial, Map additionalProperties) { this.addOnIds = addOnIds; + this.autoTopupOverrides = autoTopupOverrides; this.companyId = companyId; this.couponExternalId = couponExternalId; this.creditBundles = creditBundles; @@ -75,6 +79,11 @@ public List getAddOnIds() { return addOnIds; } + @JsonProperty("auto_topup_overrides") + public List getAutoTopupOverrides() { + return autoTopupOverrides; + } + @JsonProperty("company_id") public String getCompanyId() { return companyId; @@ -134,6 +143,7 @@ public Map getAdditionalProperties() { private boolean equalTo(ChangeSubscriptionInternalRequestBody other) { return addOnIds.equals(other.addOnIds) + && autoTopupOverrides.equals(other.autoTopupOverrides) && companyId.equals(other.companyId) && couponExternalId.equals(other.couponExternalId) && creditBundles.equals(other.creditBundles) @@ -149,6 +159,7 @@ private boolean equalTo(ChangeSubscriptionInternalRequestBody other) { public int hashCode() { return Objects.hash( this.addOnIds, + this.autoTopupOverrides, this.companyId, this.couponExternalId, this.creditBundles, @@ -200,6 +211,12 @@ public interface _FinalStage { _FinalStage addAllAddOnIds(List addOnIds); + _FinalStage autoTopupOverrides(List autoTopupOverrides); + + _FinalStage addAutoTopupOverrides(UpdateAutoTopupOverrideRequestBody autoTopupOverrides); + + _FinalStage addAllAutoTopupOverrides(List autoTopupOverrides); + _FinalStage couponExternalId(Optional couponExternalId); _FinalStage couponExternalId(String couponExternalId); @@ -246,6 +263,8 @@ public static final class Builder private Optional couponExternalId = Optional.empty(); + private List autoTopupOverrides = new ArrayList<>(); + private List addOnIds = new ArrayList<>(); @JsonAnySetter @@ -256,6 +275,7 @@ private Builder() {} @java.lang.Override public Builder from(ChangeSubscriptionInternalRequestBody other) { addOnIds(other.getAddOnIds()); + autoTopupOverrides(other.getAutoTopupOverrides()); companyId(other.getCompanyId()); couponExternalId(other.getCouponExternalId()); creditBundles(other.getCreditBundles()); @@ -383,6 +403,30 @@ public _FinalStage couponExternalId(Optional couponExternalId) { return this; } + @java.lang.Override + public _FinalStage addAllAutoTopupOverrides(List autoTopupOverrides) { + if (autoTopupOverrides != null) { + this.autoTopupOverrides.addAll(autoTopupOverrides); + } + return this; + } + + @java.lang.Override + public _FinalStage addAutoTopupOverrides(UpdateAutoTopupOverrideRequestBody autoTopupOverrides) { + this.autoTopupOverrides.add(autoTopupOverrides); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_overrides", nulls = Nulls.SKIP) + public _FinalStage autoTopupOverrides(List autoTopupOverrides) { + this.autoTopupOverrides.clear(); + if (autoTopupOverrides != null) { + this.autoTopupOverrides.addAll(autoTopupOverrides); + } + return this; + } + @java.lang.Override public _FinalStage addAllAddOnIds(List addOnIds) { if (addOnIds != null) { @@ -411,6 +455,7 @@ public _FinalStage addOnIds(List addOnIds) { public ChangeSubscriptionInternalRequestBody build() { return new ChangeSubscriptionInternalRequestBody( addOnIds, + autoTopupOverrides, companyId, couponExternalId, creditBundles, diff --git a/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java b/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java index ef9b57e..2261604 100644 --- a/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java +++ b/src/main/java/com/schematic/api/types/ChangeSubscriptionRequestBody.java @@ -25,6 +25,8 @@ public final class ChangeSubscriptionRequestBody { private final List addOnIds; + private final List autoTopupOverrides; + private final Optional couponExternalId; private final List creditBundles; @@ -45,6 +47,7 @@ public final class ChangeSubscriptionRequestBody { private ChangeSubscriptionRequestBody( List addOnIds, + List autoTopupOverrides, Optional couponExternalId, List creditBundles, String newPlanId, @@ -55,6 +58,7 @@ private ChangeSubscriptionRequestBody( boolean skipTrial, Map additionalProperties) { this.addOnIds = addOnIds; + this.autoTopupOverrides = autoTopupOverrides; this.couponExternalId = couponExternalId; this.creditBundles = creditBundles; this.newPlanId = newPlanId; @@ -71,6 +75,11 @@ public List getAddOnIds() { return addOnIds; } + @JsonProperty("auto_topup_overrides") + public List getAutoTopupOverrides() { + return autoTopupOverrides; + } + @JsonProperty("coupon_external_id") public Optional getCouponExternalId() { return couponExternalId; @@ -124,6 +133,7 @@ public Map getAdditionalProperties() { private boolean equalTo(ChangeSubscriptionRequestBody other) { return addOnIds.equals(other.addOnIds) + && autoTopupOverrides.equals(other.autoTopupOverrides) && couponExternalId.equals(other.couponExternalId) && creditBundles.equals(other.creditBundles) && newPlanId.equals(other.newPlanId) @@ -138,6 +148,7 @@ private boolean equalTo(ChangeSubscriptionRequestBody other) { public int hashCode() { return Objects.hash( this.addOnIds, + this.autoTopupOverrides, this.couponExternalId, this.creditBundles, this.newPlanId, @@ -184,6 +195,12 @@ public interface _FinalStage { _FinalStage addAllAddOnIds(List addOnIds); + _FinalStage autoTopupOverrides(List autoTopupOverrides); + + _FinalStage addAutoTopupOverrides(UpdateAutoTopupOverrideRequestBody autoTopupOverrides); + + _FinalStage addAllAutoTopupOverrides(List autoTopupOverrides); + _FinalStage couponExternalId(Optional couponExternalId); _FinalStage couponExternalId(String couponExternalId); @@ -227,6 +244,8 @@ public static final class Builder implements NewPlanIdStage, NewPriceIdStage, Sk private Optional couponExternalId = Optional.empty(); + private List autoTopupOverrides = new ArrayList<>(); + private List addOnIds = new ArrayList<>(); @JsonAnySetter @@ -237,6 +256,7 @@ private Builder() {} @java.lang.Override public Builder from(ChangeSubscriptionRequestBody other) { addOnIds(other.getAddOnIds()); + autoTopupOverrides(other.getAutoTopupOverrides()); couponExternalId(other.getCouponExternalId()); creditBundles(other.getCreditBundles()); newPlanId(other.getNewPlanId()); @@ -356,6 +376,30 @@ public _FinalStage couponExternalId(Optional couponExternalId) { return this; } + @java.lang.Override + public _FinalStage addAllAutoTopupOverrides(List autoTopupOverrides) { + if (autoTopupOverrides != null) { + this.autoTopupOverrides.addAll(autoTopupOverrides); + } + return this; + } + + @java.lang.Override + public _FinalStage addAutoTopupOverrides(UpdateAutoTopupOverrideRequestBody autoTopupOverrides) { + this.autoTopupOverrides.add(autoTopupOverrides); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_overrides", nulls = Nulls.SKIP) + public _FinalStage autoTopupOverrides(List autoTopupOverrides) { + this.autoTopupOverrides.clear(); + if (autoTopupOverrides != null) { + this.autoTopupOverrides.addAll(autoTopupOverrides); + } + return this; + } + @java.lang.Override public _FinalStage addAllAddOnIds(List addOnIds) { if (addOnIds != null) { @@ -384,6 +428,7 @@ public _FinalStage addOnIds(List addOnIds) { public ChangeSubscriptionRequestBody build() { return new ChangeSubscriptionRequestBody( addOnIds, + autoTopupOverrides, couponExternalId, creditBundles, newPlanId, diff --git a/src/main/java/com/schematic/api/types/ClerkIntegrationConfig.java b/src/main/java/com/schematic/api/types/ClerkIntegrationConfig.java new file mode 100644 index 0000000..07eb3b2 --- /dev/null +++ b/src/main/java/com/schematic/api/types/ClerkIntegrationConfig.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.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 = ClerkIntegrationConfig.Builder.class) +public final class ClerkIntegrationConfig { + private final Optional firstEventsReceived; + + private final Optional webhookUrl; + + private final Map additionalProperties; + + private ClerkIntegrationConfig( + Optional firstEventsReceived, + Optional webhookUrl, + Map additionalProperties) { + this.firstEventsReceived = firstEventsReceived; + this.webhookUrl = webhookUrl; + this.additionalProperties = additionalProperties; + } + + /** + * @return Whether Schematic has received the first webhook event from Clerk after install + */ + @JsonProperty("first_events_received") + public Optional getFirstEventsReceived() { + return firstEventsReceived; + } + + /** + * @return URL configured on the Clerk webhook endpoint that delivers events to Schematic + */ + @JsonProperty("webhook_url") + public Optional getWebhookUrl() { + return webhookUrl; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ClerkIntegrationConfig && equalTo((ClerkIntegrationConfig) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ClerkIntegrationConfig other) { + return firstEventsReceived.equals(other.firstEventsReceived) && webhookUrl.equals(other.webhookUrl); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.firstEventsReceived, this.webhookUrl); + } + + @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 firstEventsReceived = Optional.empty(); + + private Optional webhookUrl = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ClerkIntegrationConfig other) { + firstEventsReceived(other.getFirstEventsReceived()); + webhookUrl(other.getWebhookUrl()); + return this; + } + + /** + *

Whether Schematic has received the first webhook event from Clerk after install

+ */ + @JsonSetter(value = "first_events_received", nulls = Nulls.SKIP) + public Builder firstEventsReceived(Optional firstEventsReceived) { + this.firstEventsReceived = firstEventsReceived; + return this; + } + + public Builder firstEventsReceived(Boolean firstEventsReceived) { + this.firstEventsReceived = Optional.ofNullable(firstEventsReceived); + return this; + } + + /** + *

URL configured on the Clerk webhook endpoint that delivers events to Schematic

+ */ + @JsonSetter(value = "webhook_url", nulls = Nulls.SKIP) + public Builder webhookUrl(Optional webhookUrl) { + this.webhookUrl = webhookUrl; + return this; + } + + public Builder webhookUrl(String webhookUrl) { + this.webhookUrl = Optional.ofNullable(webhookUrl); + return this; + } + + public ClerkIntegrationConfig build() { + return new ClerkIntegrationConfig(firstEventsReceived, webhookUrl, 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/CompanyMatchingCriteria.java b/src/main/java/com/schematic/api/types/CompanyMatchingCriteria.java new file mode 100644 index 0000000..9db9321 --- /dev/null +++ b/src/main/java/com/schematic/api/types/CompanyMatchingCriteria.java @@ -0,0 +1,86 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class CompanyMatchingCriteria { + public static final CompanyMatchingCriteria MANUAL_UPSERT = + new CompanyMatchingCriteria(Value.MANUAL_UPSERT, "manual_upsert"); + + public static final CompanyMatchingCriteria BILLING_META_OBJECT = + new CompanyMatchingCriteria(Value.BILLING_META_OBJECT, "billing_meta_object"); + + private final Value value; + + private final String string; + + CompanyMatchingCriteria(Value value, String string) { + this.value = value; + this.string = string; + } + + public Value getEnumValue() { + return value; + } + + @java.lang.Override + @JsonValue + public String toString() { + return this.string; + } + + @java.lang.Override + public boolean equals(Object other) { + return (this == other) + || (other instanceof CompanyMatchingCriteria + && this.string.equals(((CompanyMatchingCriteria) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case MANUAL_UPSERT: + return visitor.visitManualUpsert(); + case BILLING_META_OBJECT: + return visitor.visitBillingMetaObject(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static CompanyMatchingCriteria valueOf(String value) { + switch (value) { + case "manual_upsert": + return MANUAL_UPSERT; + case "billing_meta_object": + return BILLING_META_OBJECT; + default: + return new CompanyMatchingCriteria(Value.UNKNOWN, value); + } + } + + public enum Value { + BILLING_META_OBJECT, + + MANUAL_UPSERT, + + UNKNOWN + } + + public interface Visitor { + T visitBillingMetaObject(); + + T visitManualUpsert(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/com/schematic/api/types/CompanyPlanCreditGrantView.java b/src/main/java/com/schematic/api/types/CompanyPlanCreditGrantView.java new file mode 100644 index 0000000..080cb11 --- /dev/null +++ b/src/main/java/com/schematic/api/types/CompanyPlanCreditGrantView.java @@ -0,0 +1,1138 @@ +/** + * 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.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 = CompanyPlanCreditGrantView.Builder.class) +public final class CompanyPlanCreditGrantView { + private final Optional billingCreditAutoTopupAmount; + + private final Optional billingCreditAutoTopupAmountType; + + private final boolean billingCreditAutoTopupEnabled; + + private final Optional billingCreditAutoTopupExpiryType; + + private final Optional billingCreditAutoTopupExpiryUnit; + + private final Optional billingCreditAutoTopupExpiryUnitCount; + + private final boolean billingCreditAutoTopupSelfService; + + private final Optional billingCreditAutoTopupThresholdCredits; + + private final Optional billingCreditAutoTopupThresholdPercent; + + private final Optional companyAutoTopupAmount; + + private final Optional companyAutoTopupEnabled; + + private final Optional companyAutoTopupThresholdCredits; + + private final OffsetDateTime createdAt; + + private final Optional credit; + + private final long creditAmount; + + private final String creditDescription; + + private final Optional creditIcon; + + private final String creditId; + + private final String creditName; + + private final Optional expiryType; + + private final Optional expiryUnit; + + private final Optional expiryUnitCount; + + private final String id; + + private final Optional plan; + + private final String planId; + + private final Optional planVersionId; + + private final Optional pluralName; + + private final Optional resetCadence; + + private final Optional resetStart; + + private final BillingPlanCreditGrantResetType resetType; + + private final Optional singularName; + + private final OffsetDateTime updatedAt; + + private final Map additionalProperties; + + private CompanyPlanCreditGrantView( + Optional billingCreditAutoTopupAmount, + Optional billingCreditAutoTopupAmountType, + boolean billingCreditAutoTopupEnabled, + Optional billingCreditAutoTopupExpiryType, + Optional billingCreditAutoTopupExpiryUnit, + Optional billingCreditAutoTopupExpiryUnitCount, + boolean billingCreditAutoTopupSelfService, + Optional billingCreditAutoTopupThresholdCredits, + Optional billingCreditAutoTopupThresholdPercent, + Optional companyAutoTopupAmount, + Optional companyAutoTopupEnabled, + Optional companyAutoTopupThresholdCredits, + OffsetDateTime createdAt, + Optional credit, + long creditAmount, + String creditDescription, + Optional creditIcon, + String creditId, + String creditName, + Optional expiryType, + Optional expiryUnit, + Optional expiryUnitCount, + String id, + Optional plan, + String planId, + Optional planVersionId, + Optional pluralName, + Optional resetCadence, + Optional resetStart, + BillingPlanCreditGrantResetType resetType, + Optional singularName, + OffsetDateTime updatedAt, + Map additionalProperties) { + this.billingCreditAutoTopupAmount = billingCreditAutoTopupAmount; + this.billingCreditAutoTopupAmountType = billingCreditAutoTopupAmountType; + this.billingCreditAutoTopupEnabled = billingCreditAutoTopupEnabled; + this.billingCreditAutoTopupExpiryType = billingCreditAutoTopupExpiryType; + this.billingCreditAutoTopupExpiryUnit = billingCreditAutoTopupExpiryUnit; + this.billingCreditAutoTopupExpiryUnitCount = billingCreditAutoTopupExpiryUnitCount; + this.billingCreditAutoTopupSelfService = billingCreditAutoTopupSelfService; + this.billingCreditAutoTopupThresholdCredits = billingCreditAutoTopupThresholdCredits; + this.billingCreditAutoTopupThresholdPercent = billingCreditAutoTopupThresholdPercent; + this.companyAutoTopupAmount = companyAutoTopupAmount; + this.companyAutoTopupEnabled = companyAutoTopupEnabled; + this.companyAutoTopupThresholdCredits = companyAutoTopupThresholdCredits; + this.createdAt = createdAt; + this.credit = credit; + this.creditAmount = creditAmount; + this.creditDescription = creditDescription; + this.creditIcon = creditIcon; + this.creditId = creditId; + this.creditName = creditName; + this.expiryType = expiryType; + this.expiryUnit = expiryUnit; + this.expiryUnitCount = expiryUnitCount; + this.id = id; + this.plan = plan; + this.planId = planId; + this.planVersionId = planVersionId; + this.pluralName = pluralName; + this.resetCadence = resetCadence; + this.resetStart = resetStart; + this.resetType = resetType; + this.singularName = singularName; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("billing_credit_auto_topup_amount") + public Optional getBillingCreditAutoTopupAmount() { + return billingCreditAutoTopupAmount; + } + + @JsonProperty("billing_credit_auto_topup_amount_type") + public Optional getBillingCreditAutoTopupAmountType() { + return billingCreditAutoTopupAmountType; + } + + @JsonProperty("billing_credit_auto_topup_enabled") + public boolean getBillingCreditAutoTopupEnabled() { + return billingCreditAutoTopupEnabled; + } + + @JsonProperty("billing_credit_auto_topup_expiry_type") + public Optional getBillingCreditAutoTopupExpiryType() { + return billingCreditAutoTopupExpiryType; + } + + @JsonProperty("billing_credit_auto_topup_expiry_unit") + public Optional getBillingCreditAutoTopupExpiryUnit() { + return billingCreditAutoTopupExpiryUnit; + } + + @JsonProperty("billing_credit_auto_topup_expiry_unit_count") + public Optional getBillingCreditAutoTopupExpiryUnitCount() { + return billingCreditAutoTopupExpiryUnitCount; + } + + @JsonProperty("billing_credit_auto_topup_self_service") + public boolean getBillingCreditAutoTopupSelfService() { + return billingCreditAutoTopupSelfService; + } + + @JsonProperty("billing_credit_auto_topup_threshold_credits") + public Optional getBillingCreditAutoTopupThresholdCredits() { + return billingCreditAutoTopupThresholdCredits; + } + + @JsonProperty("billing_credit_auto_topup_threshold_percent") + public Optional getBillingCreditAutoTopupThresholdPercent() { + return billingCreditAutoTopupThresholdPercent; + } + + @JsonProperty("company_auto_topup_amount") + public Optional getCompanyAutoTopupAmount() { + return companyAutoTopupAmount; + } + + @JsonProperty("company_auto_topup_enabled") + public Optional getCompanyAutoTopupEnabled() { + return companyAutoTopupEnabled; + } + + @JsonProperty("company_auto_topup_threshold_credits") + public Optional getCompanyAutoTopupThresholdCredits() { + return companyAutoTopupThresholdCredits; + } + + @JsonProperty("created_at") + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + @JsonProperty("credit") + public Optional getCredit() { + return credit; + } + + @JsonProperty("credit_amount") + public long getCreditAmount() { + return creditAmount; + } + + /** + * @return Deprecated field, will be removed in the future. Use Credit.Description instead. + */ + @JsonProperty("credit_description") + public String getCreditDescription() { + return creditDescription; + } + + /** + * @return Deprecated field, will be removed in the future. Use Credit.Icon instead. + */ + @JsonProperty("credit_icon") + public Optional getCreditIcon() { + return creditIcon; + } + + @JsonProperty("credit_id") + public String getCreditId() { + return creditId; + } + + /** + * @return Deprecated field, will be removed in the future. Use Credit.Name instead. + */ + @JsonProperty("credit_name") + public String getCreditName() { + return creditName; + } + + @JsonProperty("expiry_type") + public Optional getExpiryType() { + return expiryType; + } + + @JsonProperty("expiry_unit") + public Optional getExpiryUnit() { + return expiryUnit; + } + + @JsonProperty("expiry_unit_count") + public Optional getExpiryUnitCount() { + return expiryUnitCount; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("plan") + public Optional getPlan() { + return plan; + } + + @JsonProperty("plan_id") + public String getPlanId() { + return planId; + } + + @JsonProperty("plan_version_id") + public Optional getPlanVersionId() { + return planVersionId; + } + + /** + * @return Deprecated field, will be removed in the future. Use Credit.PluralName instead. + */ + @JsonProperty("plural_name") + public Optional getPluralName() { + return pluralName; + } + + @JsonProperty("reset_cadence") + public Optional getResetCadence() { + return resetCadence; + } + + @JsonProperty("reset_start") + public Optional getResetStart() { + return resetStart; + } + + @JsonProperty("reset_type") + public BillingPlanCreditGrantResetType getResetType() { + return resetType; + } + + /** + * @return Deprecated field, will be removed in the future. Use Credit.SingularName instead. + */ + @JsonProperty("singular_name") + public Optional getSingularName() { + return singularName; + } + + @JsonProperty("updated_at") + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CompanyPlanCreditGrantView && equalTo((CompanyPlanCreditGrantView) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CompanyPlanCreditGrantView other) { + return billingCreditAutoTopupAmount.equals(other.billingCreditAutoTopupAmount) + && billingCreditAutoTopupAmountType.equals(other.billingCreditAutoTopupAmountType) + && billingCreditAutoTopupEnabled == other.billingCreditAutoTopupEnabled + && billingCreditAutoTopupExpiryType.equals(other.billingCreditAutoTopupExpiryType) + && billingCreditAutoTopupExpiryUnit.equals(other.billingCreditAutoTopupExpiryUnit) + && billingCreditAutoTopupExpiryUnitCount.equals(other.billingCreditAutoTopupExpiryUnitCount) + && billingCreditAutoTopupSelfService == other.billingCreditAutoTopupSelfService + && billingCreditAutoTopupThresholdCredits.equals(other.billingCreditAutoTopupThresholdCredits) + && billingCreditAutoTopupThresholdPercent.equals(other.billingCreditAutoTopupThresholdPercent) + && companyAutoTopupAmount.equals(other.companyAutoTopupAmount) + && companyAutoTopupEnabled.equals(other.companyAutoTopupEnabled) + && companyAutoTopupThresholdCredits.equals(other.companyAutoTopupThresholdCredits) + && createdAt.equals(other.createdAt) + && credit.equals(other.credit) + && creditAmount == other.creditAmount + && creditDescription.equals(other.creditDescription) + && creditIcon.equals(other.creditIcon) + && creditId.equals(other.creditId) + && creditName.equals(other.creditName) + && expiryType.equals(other.expiryType) + && expiryUnit.equals(other.expiryUnit) + && expiryUnitCount.equals(other.expiryUnitCount) + && id.equals(other.id) + && plan.equals(other.plan) + && planId.equals(other.planId) + && planVersionId.equals(other.planVersionId) + && pluralName.equals(other.pluralName) + && resetCadence.equals(other.resetCadence) + && resetStart.equals(other.resetStart) + && resetType.equals(other.resetType) + && singularName.equals(other.singularName) + && updatedAt.equals(other.updatedAt); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.billingCreditAutoTopupAmount, + this.billingCreditAutoTopupAmountType, + this.billingCreditAutoTopupEnabled, + this.billingCreditAutoTopupExpiryType, + this.billingCreditAutoTopupExpiryUnit, + this.billingCreditAutoTopupExpiryUnitCount, + this.billingCreditAutoTopupSelfService, + this.billingCreditAutoTopupThresholdCredits, + this.billingCreditAutoTopupThresholdPercent, + this.companyAutoTopupAmount, + this.companyAutoTopupEnabled, + this.companyAutoTopupThresholdCredits, + this.createdAt, + this.credit, + this.creditAmount, + this.creditDescription, + this.creditIcon, + this.creditId, + this.creditName, + this.expiryType, + this.expiryUnit, + this.expiryUnitCount, + this.id, + this.plan, + this.planId, + this.planVersionId, + this.pluralName, + this.resetCadence, + this.resetStart, + this.resetType, + this.singularName, + this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static BillingCreditAutoTopupEnabledStage builder() { + return new Builder(); + } + + public interface BillingCreditAutoTopupEnabledStage { + BillingCreditAutoTopupSelfServiceStage billingCreditAutoTopupEnabled(boolean billingCreditAutoTopupEnabled); + + Builder from(CompanyPlanCreditGrantView other); + } + + public interface BillingCreditAutoTopupSelfServiceStage { + CreatedAtStage billingCreditAutoTopupSelfService(boolean billingCreditAutoTopupSelfService); + } + + public interface CreatedAtStage { + CreditAmountStage createdAt(@NotNull OffsetDateTime createdAt); + } + + public interface CreditAmountStage { + CreditDescriptionStage creditAmount(long creditAmount); + } + + public interface CreditDescriptionStage { + /** + *

Deprecated field, will be removed in the future. Use Credit.Description instead.

+ */ + CreditIdStage creditDescription(@NotNull String creditDescription); + } + + public interface CreditIdStage { + CreditNameStage creditId(@NotNull String creditId); + } + + public interface CreditNameStage { + /** + *

Deprecated field, will be removed in the future. Use Credit.Name instead.

+ */ + IdStage creditName(@NotNull String creditName); + } + + public interface IdStage { + PlanIdStage id(@NotNull String id); + } + + public interface PlanIdStage { + ResetTypeStage planId(@NotNull String planId); + } + + public interface ResetTypeStage { + UpdatedAtStage resetType(@NotNull BillingPlanCreditGrantResetType resetType); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(@NotNull OffsetDateTime updatedAt); + } + + public interface _FinalStage { + CompanyPlanCreditGrantView build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage billingCreditAutoTopupAmount(Optional billingCreditAutoTopupAmount); + + _FinalStage billingCreditAutoTopupAmount(Long billingCreditAutoTopupAmount); + + _FinalStage billingCreditAutoTopupAmountType(Optional billingCreditAutoTopupAmountType); + + _FinalStage billingCreditAutoTopupAmountType(String billingCreditAutoTopupAmountType); + + _FinalStage billingCreditAutoTopupExpiryType( + Optional billingCreditAutoTopupExpiryType); + + _FinalStage billingCreditAutoTopupExpiryType(BillingCreditExpiryType billingCreditAutoTopupExpiryType); + + _FinalStage billingCreditAutoTopupExpiryUnit( + Optional billingCreditAutoTopupExpiryUnit); + + _FinalStage billingCreditAutoTopupExpiryUnit(BillingCreditExpiryUnit billingCreditAutoTopupExpiryUnit); + + _FinalStage billingCreditAutoTopupExpiryUnitCount(Optional billingCreditAutoTopupExpiryUnitCount); + + _FinalStage billingCreditAutoTopupExpiryUnitCount(Long billingCreditAutoTopupExpiryUnitCount); + + _FinalStage billingCreditAutoTopupThresholdCredits(Optional billingCreditAutoTopupThresholdCredits); + + _FinalStage billingCreditAutoTopupThresholdCredits(Long billingCreditAutoTopupThresholdCredits); + + _FinalStage billingCreditAutoTopupThresholdPercent(Optional billingCreditAutoTopupThresholdPercent); + + _FinalStage billingCreditAutoTopupThresholdPercent(Long billingCreditAutoTopupThresholdPercent); + + _FinalStage companyAutoTopupAmount(Optional companyAutoTopupAmount); + + _FinalStage companyAutoTopupAmount(Long companyAutoTopupAmount); + + _FinalStage companyAutoTopupEnabled(Optional companyAutoTopupEnabled); + + _FinalStage companyAutoTopupEnabled(Boolean companyAutoTopupEnabled); + + _FinalStage companyAutoTopupThresholdCredits(Optional companyAutoTopupThresholdCredits); + + _FinalStage companyAutoTopupThresholdCredits(Long companyAutoTopupThresholdCredits); + + _FinalStage credit(Optional credit); + + _FinalStage credit(BillingCreditView credit); + + /** + *

Deprecated field, will be removed in the future. Use Credit.Icon instead.

+ */ + _FinalStage creditIcon(Optional creditIcon); + + _FinalStage creditIcon(String creditIcon); + + _FinalStage expiryType(Optional expiryType); + + _FinalStage expiryType(BillingCreditExpiryType expiryType); + + _FinalStage expiryUnit(Optional expiryUnit); + + _FinalStage expiryUnit(BillingCreditExpiryUnit expiryUnit); + + _FinalStage expiryUnitCount(Optional expiryUnitCount); + + _FinalStage expiryUnitCount(Long expiryUnitCount); + + _FinalStage plan(Optional plan); + + _FinalStage plan(GenericPreviewObject plan); + + _FinalStage planVersionId(Optional planVersionId); + + _FinalStage planVersionId(String planVersionId); + + /** + *

Deprecated field, will be removed in the future. Use Credit.PluralName instead.

+ */ + _FinalStage pluralName(Optional pluralName); + + _FinalStage pluralName(String pluralName); + + _FinalStage resetCadence(Optional resetCadence); + + _FinalStage resetCadence(BillingPlanCreditGrantResetCadence resetCadence); + + _FinalStage resetStart(Optional resetStart); + + _FinalStage resetStart(BillingPlanCreditGrantResetStart resetStart); + + /** + *

Deprecated field, will be removed in the future. Use Credit.SingularName instead.

+ */ + _FinalStage singularName(Optional singularName); + + _FinalStage singularName(String singularName); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements BillingCreditAutoTopupEnabledStage, + BillingCreditAutoTopupSelfServiceStage, + CreatedAtStage, + CreditAmountStage, + CreditDescriptionStage, + CreditIdStage, + CreditNameStage, + IdStage, + PlanIdStage, + ResetTypeStage, + UpdatedAtStage, + _FinalStage { + private boolean billingCreditAutoTopupEnabled; + + private boolean billingCreditAutoTopupSelfService; + + private OffsetDateTime createdAt; + + private long creditAmount; + + private String creditDescription; + + private String creditId; + + private String creditName; + + private String id; + + private String planId; + + private BillingPlanCreditGrantResetType resetType; + + private OffsetDateTime updatedAt; + + private Optional singularName = Optional.empty(); + + private Optional resetStart = Optional.empty(); + + private Optional resetCadence = Optional.empty(); + + private Optional pluralName = Optional.empty(); + + private Optional planVersionId = Optional.empty(); + + private Optional plan = Optional.empty(); + + private Optional expiryUnitCount = Optional.empty(); + + private Optional expiryUnit = Optional.empty(); + + private Optional expiryType = Optional.empty(); + + private Optional creditIcon = Optional.empty(); + + private Optional credit = Optional.empty(); + + private Optional companyAutoTopupThresholdCredits = Optional.empty(); + + private Optional companyAutoTopupEnabled = Optional.empty(); + + private Optional companyAutoTopupAmount = Optional.empty(); + + private Optional billingCreditAutoTopupThresholdPercent = Optional.empty(); + + private Optional billingCreditAutoTopupThresholdCredits = Optional.empty(); + + private Optional billingCreditAutoTopupExpiryUnitCount = Optional.empty(); + + private Optional billingCreditAutoTopupExpiryUnit = Optional.empty(); + + private Optional billingCreditAutoTopupExpiryType = Optional.empty(); + + private Optional billingCreditAutoTopupAmountType = Optional.empty(); + + private Optional billingCreditAutoTopupAmount = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CompanyPlanCreditGrantView other) { + billingCreditAutoTopupAmount(other.getBillingCreditAutoTopupAmount()); + billingCreditAutoTopupAmountType(other.getBillingCreditAutoTopupAmountType()); + billingCreditAutoTopupEnabled(other.getBillingCreditAutoTopupEnabled()); + billingCreditAutoTopupExpiryType(other.getBillingCreditAutoTopupExpiryType()); + billingCreditAutoTopupExpiryUnit(other.getBillingCreditAutoTopupExpiryUnit()); + billingCreditAutoTopupExpiryUnitCount(other.getBillingCreditAutoTopupExpiryUnitCount()); + billingCreditAutoTopupSelfService(other.getBillingCreditAutoTopupSelfService()); + billingCreditAutoTopupThresholdCredits(other.getBillingCreditAutoTopupThresholdCredits()); + billingCreditAutoTopupThresholdPercent(other.getBillingCreditAutoTopupThresholdPercent()); + companyAutoTopupAmount(other.getCompanyAutoTopupAmount()); + companyAutoTopupEnabled(other.getCompanyAutoTopupEnabled()); + companyAutoTopupThresholdCredits(other.getCompanyAutoTopupThresholdCredits()); + createdAt(other.getCreatedAt()); + credit(other.getCredit()); + creditAmount(other.getCreditAmount()); + creditDescription(other.getCreditDescription()); + creditIcon(other.getCreditIcon()); + creditId(other.getCreditId()); + creditName(other.getCreditName()); + expiryType(other.getExpiryType()); + expiryUnit(other.getExpiryUnit()); + expiryUnitCount(other.getExpiryUnitCount()); + id(other.getId()); + plan(other.getPlan()); + planId(other.getPlanId()); + planVersionId(other.getPlanVersionId()); + pluralName(other.getPluralName()); + resetCadence(other.getResetCadence()); + resetStart(other.getResetStart()); + resetType(other.getResetType()); + singularName(other.getSingularName()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("billing_credit_auto_topup_enabled") + public BillingCreditAutoTopupSelfServiceStage billingCreditAutoTopupEnabled( + boolean billingCreditAutoTopupEnabled) { + this.billingCreditAutoTopupEnabled = billingCreditAutoTopupEnabled; + return this; + } + + @java.lang.Override + @JsonSetter("billing_credit_auto_topup_self_service") + public CreatedAtStage billingCreditAutoTopupSelfService(boolean billingCreditAutoTopupSelfService) { + this.billingCreditAutoTopupSelfService = billingCreditAutoTopupSelfService; + return this; + } + + @java.lang.Override + @JsonSetter("created_at") + public CreditAmountStage createdAt(@NotNull OffsetDateTime createdAt) { + this.createdAt = Objects.requireNonNull(createdAt, "createdAt must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("credit_amount") + public CreditDescriptionStage creditAmount(long creditAmount) { + this.creditAmount = creditAmount; + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.Description instead.

+ *

Deprecated field, will be removed in the future. Use Credit.Description instead.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("credit_description") + public CreditIdStage creditDescription(@NotNull String creditDescription) { + this.creditDescription = Objects.requireNonNull(creditDescription, "creditDescription must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("credit_id") + public CreditNameStage creditId(@NotNull String creditId) { + this.creditId = Objects.requireNonNull(creditId, "creditId must not be null"); + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.Name instead.

+ *

Deprecated field, will be removed in the future. Use Credit.Name instead.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("credit_name") + public IdStage creditName(@NotNull String creditName) { + this.creditName = Objects.requireNonNull(creditName, "creditName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public PlanIdStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("plan_id") + public ResetTypeStage planId(@NotNull String planId) { + this.planId = Objects.requireNonNull(planId, "planId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("reset_type") + public UpdatedAtStage resetType(@NotNull BillingPlanCreditGrantResetType resetType) { + this.resetType = Objects.requireNonNull(resetType, "resetType must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("updated_at") + public _FinalStage updatedAt(@NotNull OffsetDateTime updatedAt) { + this.updatedAt = Objects.requireNonNull(updatedAt, "updatedAt must not be null"); + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.SingularName instead.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage singularName(String singularName) { + this.singularName = Optional.ofNullable(singularName); + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.SingularName instead.

+ */ + @java.lang.Override + @JsonSetter(value = "singular_name", nulls = Nulls.SKIP) + public _FinalStage singularName(Optional singularName) { + this.singularName = singularName; + return this; + } + + @java.lang.Override + public _FinalStage resetStart(BillingPlanCreditGrantResetStart resetStart) { + this.resetStart = Optional.ofNullable(resetStart); + return this; + } + + @java.lang.Override + @JsonSetter(value = "reset_start", nulls = Nulls.SKIP) + public _FinalStage resetStart(Optional resetStart) { + this.resetStart = resetStart; + return this; + } + + @java.lang.Override + public _FinalStage resetCadence(BillingPlanCreditGrantResetCadence resetCadence) { + this.resetCadence = Optional.ofNullable(resetCadence); + return this; + } + + @java.lang.Override + @JsonSetter(value = "reset_cadence", nulls = Nulls.SKIP) + public _FinalStage resetCadence(Optional resetCadence) { + this.resetCadence = resetCadence; + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.PluralName instead.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage pluralName(String pluralName) { + this.pluralName = Optional.ofNullable(pluralName); + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.PluralName instead.

+ */ + @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 planVersionId(String planVersionId) { + this.planVersionId = Optional.ofNullable(planVersionId); + return this; + } + + @java.lang.Override + @JsonSetter(value = "plan_version_id", nulls = Nulls.SKIP) + public _FinalStage planVersionId(Optional planVersionId) { + this.planVersionId = planVersionId; + return this; + } + + @java.lang.Override + public _FinalStage plan(GenericPreviewObject plan) { + this.plan = Optional.ofNullable(plan); + return this; + } + + @java.lang.Override + @JsonSetter(value = "plan", nulls = Nulls.SKIP) + public _FinalStage plan(Optional plan) { + this.plan = plan; + return this; + } + + @java.lang.Override + public _FinalStage expiryUnitCount(Long expiryUnitCount) { + this.expiryUnitCount = Optional.ofNullable(expiryUnitCount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiry_unit_count", nulls = Nulls.SKIP) + public _FinalStage expiryUnitCount(Optional expiryUnitCount) { + this.expiryUnitCount = expiryUnitCount; + return this; + } + + @java.lang.Override + public _FinalStage expiryUnit(BillingCreditExpiryUnit expiryUnit) { + this.expiryUnit = Optional.ofNullable(expiryUnit); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiry_unit", nulls = Nulls.SKIP) + public _FinalStage expiryUnit(Optional expiryUnit) { + this.expiryUnit = expiryUnit; + return this; + } + + @java.lang.Override + public _FinalStage expiryType(BillingCreditExpiryType expiryType) { + this.expiryType = Optional.ofNullable(expiryType); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiry_type", nulls = Nulls.SKIP) + public _FinalStage expiryType(Optional expiryType) { + this.expiryType = expiryType; + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.Icon instead.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage creditIcon(String creditIcon) { + this.creditIcon = Optional.ofNullable(creditIcon); + return this; + } + + /** + *

Deprecated field, will be removed in the future. Use Credit.Icon instead.

+ */ + @java.lang.Override + @JsonSetter(value = "credit_icon", nulls = Nulls.SKIP) + public _FinalStage creditIcon(Optional creditIcon) { + this.creditIcon = creditIcon; + return this; + } + + @java.lang.Override + public _FinalStage credit(BillingCreditView credit) { + this.credit = Optional.ofNullable(credit); + return this; + } + + @java.lang.Override + @JsonSetter(value = "credit", nulls = Nulls.SKIP) + public _FinalStage credit(Optional credit) { + this.credit = credit; + return this; + } + + @java.lang.Override + public _FinalStage companyAutoTopupThresholdCredits(Long companyAutoTopupThresholdCredits) { + this.companyAutoTopupThresholdCredits = Optional.ofNullable(companyAutoTopupThresholdCredits); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company_auto_topup_threshold_credits", nulls = Nulls.SKIP) + public _FinalStage companyAutoTopupThresholdCredits(Optional companyAutoTopupThresholdCredits) { + this.companyAutoTopupThresholdCredits = companyAutoTopupThresholdCredits; + return this; + } + + @java.lang.Override + public _FinalStage companyAutoTopupEnabled(Boolean companyAutoTopupEnabled) { + this.companyAutoTopupEnabled = Optional.ofNullable(companyAutoTopupEnabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company_auto_topup_enabled", nulls = Nulls.SKIP) + public _FinalStage companyAutoTopupEnabled(Optional companyAutoTopupEnabled) { + this.companyAutoTopupEnabled = companyAutoTopupEnabled; + return this; + } + + @java.lang.Override + public _FinalStage companyAutoTopupAmount(Long companyAutoTopupAmount) { + this.companyAutoTopupAmount = Optional.ofNullable(companyAutoTopupAmount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "company_auto_topup_amount", nulls = Nulls.SKIP) + public _FinalStage companyAutoTopupAmount(Optional companyAutoTopupAmount) { + this.companyAutoTopupAmount = companyAutoTopupAmount; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupThresholdPercent(Long billingCreditAutoTopupThresholdPercent) { + this.billingCreditAutoTopupThresholdPercent = Optional.ofNullable(billingCreditAutoTopupThresholdPercent); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_threshold_percent", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupThresholdPercent( + Optional billingCreditAutoTopupThresholdPercent) { + this.billingCreditAutoTopupThresholdPercent = billingCreditAutoTopupThresholdPercent; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupThresholdCredits(Long billingCreditAutoTopupThresholdCredits) { + this.billingCreditAutoTopupThresholdCredits = Optional.ofNullable(billingCreditAutoTopupThresholdCredits); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_threshold_credits", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupThresholdCredits( + Optional billingCreditAutoTopupThresholdCredits) { + this.billingCreditAutoTopupThresholdCredits = billingCreditAutoTopupThresholdCredits; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupExpiryUnitCount(Long billingCreditAutoTopupExpiryUnitCount) { + this.billingCreditAutoTopupExpiryUnitCount = Optional.ofNullable(billingCreditAutoTopupExpiryUnitCount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_expiry_unit_count", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupExpiryUnitCount(Optional billingCreditAutoTopupExpiryUnitCount) { + this.billingCreditAutoTopupExpiryUnitCount = billingCreditAutoTopupExpiryUnitCount; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupExpiryUnit(BillingCreditExpiryUnit billingCreditAutoTopupExpiryUnit) { + this.billingCreditAutoTopupExpiryUnit = Optional.ofNullable(billingCreditAutoTopupExpiryUnit); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_expiry_unit", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupExpiryUnit( + Optional billingCreditAutoTopupExpiryUnit) { + this.billingCreditAutoTopupExpiryUnit = billingCreditAutoTopupExpiryUnit; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupExpiryType(BillingCreditExpiryType billingCreditAutoTopupExpiryType) { + this.billingCreditAutoTopupExpiryType = Optional.ofNullable(billingCreditAutoTopupExpiryType); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_expiry_type", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupExpiryType( + Optional billingCreditAutoTopupExpiryType) { + this.billingCreditAutoTopupExpiryType = billingCreditAutoTopupExpiryType; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupAmountType(String billingCreditAutoTopupAmountType) { + this.billingCreditAutoTopupAmountType = Optional.ofNullable(billingCreditAutoTopupAmountType); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_amount_type", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupAmountType(Optional billingCreditAutoTopupAmountType) { + this.billingCreditAutoTopupAmountType = billingCreditAutoTopupAmountType; + return this; + } + + @java.lang.Override + public _FinalStage billingCreditAutoTopupAmount(Long billingCreditAutoTopupAmount) { + this.billingCreditAutoTopupAmount = Optional.ofNullable(billingCreditAutoTopupAmount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "billing_credit_auto_topup_amount", nulls = Nulls.SKIP) + public _FinalStage billingCreditAutoTopupAmount(Optional billingCreditAutoTopupAmount) { + this.billingCreditAutoTopupAmount = billingCreditAutoTopupAmount; + return this; + } + + @java.lang.Override + public CompanyPlanCreditGrantView build() { + return new CompanyPlanCreditGrantView( + billingCreditAutoTopupAmount, + billingCreditAutoTopupAmountType, + billingCreditAutoTopupEnabled, + billingCreditAutoTopupExpiryType, + billingCreditAutoTopupExpiryUnit, + billingCreditAutoTopupExpiryUnitCount, + billingCreditAutoTopupSelfService, + billingCreditAutoTopupThresholdCredits, + billingCreditAutoTopupThresholdPercent, + companyAutoTopupAmount, + companyAutoTopupEnabled, + companyAutoTopupThresholdCredits, + createdAt, + credit, + creditAmount, + creditDescription, + creditIcon, + creditId, + creditName, + expiryType, + expiryUnit, + expiryUnitCount, + id, + plan, + planId, + planVersionId, + pluralName, + resetCadence, + resetStart, + resetType, + singularName, + updatedAt, + 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/CompanyPlanWithBillingSubView.java b/src/main/java/com/schematic/api/types/CompanyPlanWithBillingSubView.java index f9c46ef..1b9da52 100644 --- a/src/main/java/com/schematic/api/types/CompanyPlanWithBillingSubView.java +++ b/src/main/java/com/schematic/api/types/CompanyPlanWithBillingSubView.java @@ -36,7 +36,7 @@ public final class CompanyPlanWithBillingSubView { private final Optional imageUrl; - private final List includedCreditGrants; + private final List includedCreditGrants; private final String name; @@ -55,7 +55,7 @@ private CompanyPlanWithBillingSubView( Optional description, String id, Optional imageUrl, - List includedCreditGrants, + List includedCreditGrants, String name, Optional planPeriod, Optional planPrice, @@ -106,7 +106,7 @@ public Optional getImageUrl() { } @JsonProperty("included_credit_grants") - public List getIncludedCreditGrants() { + public List getIncludedCreditGrants() { return includedCreditGrants; } @@ -217,11 +217,11 @@ public interface _FinalStage { _FinalStage imageUrl(String imageUrl); - _FinalStage includedCreditGrants(List includedCreditGrants); + _FinalStage includedCreditGrants(List includedCreditGrants); - _FinalStage addIncludedCreditGrants(PlanCreditGrantView includedCreditGrants); + _FinalStage addIncludedCreditGrants(CompanyPlanCreditGrantView includedCreditGrants); - _FinalStage addAllIncludedCreditGrants(List includedCreditGrants); + _FinalStage addAllIncludedCreditGrants(List includedCreditGrants); _FinalStage planPeriod(Optional planPeriod); @@ -248,7 +248,7 @@ public static final class Builder implements IdStage, NameStage, _FinalStage { private Optional planPeriod = Optional.empty(); - private List includedCreditGrants = new ArrayList<>(); + private List includedCreditGrants = new ArrayList<>(); private Optional imageUrl = Optional.empty(); @@ -335,7 +335,7 @@ public _FinalStage planPeriod(Optional planPeriod) { } @java.lang.Override - public _FinalStage addAllIncludedCreditGrants(List includedCreditGrants) { + public _FinalStage addAllIncludedCreditGrants(List includedCreditGrants) { if (includedCreditGrants != null) { this.includedCreditGrants.addAll(includedCreditGrants); } @@ -343,14 +343,14 @@ public _FinalStage addAllIncludedCreditGrants(List included } @java.lang.Override - public _FinalStage addIncludedCreditGrants(PlanCreditGrantView includedCreditGrants) { + public _FinalStage addIncludedCreditGrants(CompanyPlanCreditGrantView includedCreditGrants) { this.includedCreditGrants.add(includedCreditGrants); return this; } @java.lang.Override @JsonSetter(value = "included_credit_grants", nulls = Nulls.SKIP) - public _FinalStage includedCreditGrants(List includedCreditGrants) { + public _FinalStage includedCreditGrants(List includedCreditGrants) { this.includedCreditGrants.clear(); if (includedCreditGrants != null) { this.includedCreditGrants.addAll(includedCreditGrants); diff --git a/src/main/java/com/schematic/api/types/CreateBillingPlanCreditGrantRequestBody.java b/src/main/java/com/schematic/api/types/CreateBillingPlanCreditGrantRequestBody.java index 3ff21ec..b14277a 100644 --- a/src/main/java/com/schematic/api/types/CreateBillingPlanCreditGrantRequestBody.java +++ b/src/main/java/com/schematic/api/types/CreateBillingPlanCreditGrantRequestBody.java @@ -35,6 +35,8 @@ public final class CreateBillingPlanCreditGrantRequestBody { private final Optional autoTopupExpiryUnitCount; + private final Optional autoTopupSelfService; + private final Optional autoTopupThresholdCredits; private final Optional autoTopupThresholdPercent; @@ -69,6 +71,7 @@ private CreateBillingPlanCreditGrantRequestBody( Optional autoTopupExpiryType, Optional autoTopupExpiryUnit, Optional autoTopupExpiryUnitCount, + Optional autoTopupSelfService, Optional autoTopupThresholdCredits, Optional autoTopupThresholdPercent, long creditAmount, @@ -89,6 +92,7 @@ private CreateBillingPlanCreditGrantRequestBody( this.autoTopupExpiryType = autoTopupExpiryType; this.autoTopupExpiryUnit = autoTopupExpiryUnit; this.autoTopupExpiryUnitCount = autoTopupExpiryUnitCount; + this.autoTopupSelfService = autoTopupSelfService; this.autoTopupThresholdCredits = autoTopupThresholdCredits; this.autoTopupThresholdPercent = autoTopupThresholdPercent; this.creditAmount = creditAmount; @@ -139,6 +143,11 @@ public Optional getAutoTopupExpiryUnitCount() { return autoTopupExpiryUnitCount; } + @JsonProperty("auto_topup_self_service") + public Optional getAutoTopupSelfService() { + return autoTopupSelfService; + } + @JsonProperty("auto_topup_threshold_credits") public Optional getAutoTopupThresholdCredits() { return autoTopupThresholdCredits; @@ -219,6 +228,7 @@ private boolean equalTo(CreateBillingPlanCreditGrantRequestBody other) { && autoTopupExpiryType.equals(other.autoTopupExpiryType) && autoTopupExpiryUnit.equals(other.autoTopupExpiryUnit) && autoTopupExpiryUnitCount.equals(other.autoTopupExpiryUnitCount) + && autoTopupSelfService.equals(other.autoTopupSelfService) && autoTopupThresholdCredits.equals(other.autoTopupThresholdCredits) && autoTopupThresholdPercent.equals(other.autoTopupThresholdPercent) && creditAmount == other.creditAmount @@ -243,6 +253,7 @@ public int hashCode() { this.autoTopupExpiryType, this.autoTopupExpiryUnit, this.autoTopupExpiryUnitCount, + this.autoTopupSelfService, this.autoTopupThresholdCredits, this.autoTopupThresholdPercent, this.creditAmount, @@ -323,6 +334,10 @@ public interface _FinalStage { _FinalStage autoTopupExpiryUnitCount(Long autoTopupExpiryUnitCount); + _FinalStage autoTopupSelfService(Optional autoTopupSelfService); + + _FinalStage autoTopupSelfService(Boolean autoTopupSelfService); + _FinalStage autoTopupThresholdCredits(Optional autoTopupThresholdCredits); _FinalStage autoTopupThresholdCredits(Long autoTopupThresholdCredits); @@ -379,6 +394,8 @@ public static final class Builder private Optional autoTopupThresholdCredits = Optional.empty(); + private Optional autoTopupSelfService = Optional.empty(); + private Optional autoTopupExpiryUnitCount = Optional.empty(); private Optional autoTopupExpiryUnit = Optional.empty(); @@ -407,6 +424,7 @@ public Builder from(CreateBillingPlanCreditGrantRequestBody other) { autoTopupExpiryType(other.getAutoTopupExpiryType()); autoTopupExpiryUnit(other.getAutoTopupExpiryUnit()); autoTopupExpiryUnitCount(other.getAutoTopupExpiryUnitCount()); + autoTopupSelfService(other.getAutoTopupSelfService()); autoTopupThresholdCredits(other.getAutoTopupThresholdCredits()); autoTopupThresholdPercent(other.getAutoTopupThresholdPercent()); creditAmount(other.getCreditAmount()); @@ -548,6 +566,19 @@ public _FinalStage autoTopupThresholdCredits(Optional autoTopupThresholdCr return this; } + @java.lang.Override + public _FinalStage autoTopupSelfService(Boolean autoTopupSelfService) { + this.autoTopupSelfService = Optional.ofNullable(autoTopupSelfService); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_self_service", nulls = Nulls.SKIP) + public _FinalStage autoTopupSelfService(Optional autoTopupSelfService) { + this.autoTopupSelfService = autoTopupSelfService; + return this; + } + @java.lang.Override public _FinalStage autoTopupExpiryUnitCount(Long autoTopupExpiryUnitCount) { this.autoTopupExpiryUnitCount = Optional.ofNullable(autoTopupExpiryUnitCount); @@ -649,6 +680,7 @@ public CreateBillingPlanCreditGrantRequestBody build() { autoTopupExpiryType, autoTopupExpiryUnit, autoTopupExpiryUnitCount, + autoTopupSelfService, autoTopupThresholdCredits, autoTopupThresholdPercent, creditAmount, diff --git a/src/main/java/com/schematic/api/types/CreateEventRequestBody.java b/src/main/java/com/schematic/api/types/CreateEventRequestBody.java index 73fcaf1..023a677 100644 --- a/src/main/java/com/schematic/api/types/CreateEventRequestBody.java +++ b/src/main/java/com/schematic/api/types/CreateEventRequestBody.java @@ -26,6 +26,8 @@ public final class CreateEventRequestBody { private final EventType eventType; + private final Optional idempotencyKey; + private final Optional sentAt; private final Map additionalProperties; @@ -33,10 +35,12 @@ public final class CreateEventRequestBody { private CreateEventRequestBody( Optional body, EventType eventType, + Optional idempotencyKey, Optional sentAt, Map additionalProperties) { this.body = body; this.eventType = eventType; + this.idempotencyKey = idempotencyKey; this.sentAt = sentAt; this.additionalProperties = additionalProperties; } @@ -54,6 +58,14 @@ public EventType getEventType() { return eventType; } + /** + * @return Optional client-supplied key. Duplicate events with the same key (scoped to the environment) are dropped for 24h. + */ + @JsonProperty("idempotency_key") + public Optional getIdempotencyKey() { + return idempotencyKey; + } + /** * @return Optionally provide a timestamp at which the event was sent to Schematic */ @@ -74,12 +86,15 @@ public Map getAdditionalProperties() { } private boolean equalTo(CreateEventRequestBody other) { - return body.equals(other.body) && eventType.equals(other.eventType) && sentAt.equals(other.sentAt); + return body.equals(other.body) + && eventType.equals(other.eventType) + && idempotencyKey.equals(other.idempotencyKey) + && sentAt.equals(other.sentAt); } @java.lang.Override public int hashCode() { - return Objects.hash(this.body, this.eventType, this.sentAt); + return Objects.hash(this.body, this.eventType, this.idempotencyKey, this.sentAt); } @java.lang.Override @@ -111,6 +126,13 @@ public interface _FinalStage { _FinalStage body(EventBody body); + /** + *

Optional client-supplied key. Duplicate events with the same key (scoped to the environment) are dropped for 24h.

+ */ + _FinalStage idempotencyKey(Optional idempotencyKey); + + _FinalStage idempotencyKey(String idempotencyKey); + /** *

Optionally provide a timestamp at which the event was sent to Schematic

*/ @@ -125,6 +147,8 @@ public static final class Builder implements EventTypeStage, _FinalStage { private Optional sentAt = Optional.empty(); + private Optional idempotencyKey = Optional.empty(); + private Optional body = Optional.empty(); @JsonAnySetter @@ -136,6 +160,7 @@ private Builder() {} public Builder from(CreateEventRequestBody other) { body(other.getBody()); eventType(other.getEventType()); + idempotencyKey(other.getIdempotencyKey()); sentAt(other.getSentAt()); return this; } @@ -172,6 +197,26 @@ public _FinalStage sentAt(Optional sentAt) { return this; } + /** + *

Optional client-supplied key. Duplicate events with the same key (scoped to the environment) are dropped for 24h.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage idempotencyKey(String idempotencyKey) { + this.idempotencyKey = Optional.ofNullable(idempotencyKey); + return this; + } + + /** + *

Optional client-supplied key. Duplicate events with the same key (scoped to the environment) are dropped for 24h.

+ */ + @java.lang.Override + @JsonSetter(value = "idempotency_key", nulls = Nulls.SKIP) + public _FinalStage idempotencyKey(Optional idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + @java.lang.Override public _FinalStage body(EventBody body) { this.body = Optional.ofNullable(body); @@ -187,7 +232,7 @@ public _FinalStage body(Optional body) { @java.lang.Override public CreateEventRequestBody build() { - return new CreateEventRequestBody(body, eventType, sentAt, additionalProperties); + return new CreateEventRequestBody(body, eventType, idempotencyKey, sentAt, additionalProperties); } @java.lang.Override diff --git a/src/main/java/com/schematic/api/types/CreditCurrencyPrice.java b/src/main/java/com/schematic/api/types/CreditCurrencyPrice.java new file mode 100644 index 0000000..13c6123 --- /dev/null +++ b/src/main/java/com/schematic/api/types/CreditCurrencyPrice.java @@ -0,0 +1,149 @@ +/** + * 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 = CreditCurrencyPrice.Builder.class) +public final class CreditCurrencyPrice { + private final String currency; + + private final Optional price; + + private final Map additionalProperties; + + private CreditCurrencyPrice( + String currency, Optional price, Map additionalProperties) { + this.currency = currency; + this.price = price; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("currency") + public String getCurrency() { + return currency; + } + + @JsonProperty("price") + public Optional getPrice() { + return price; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof CreditCurrencyPrice && equalTo((CreditCurrencyPrice) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(CreditCurrencyPrice other) { + return currency.equals(other.currency) && price.equals(other.price); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.currency, this.price); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CurrencyStage builder() { + return new Builder(); + } + + public interface CurrencyStage { + _FinalStage currency(@NotNull String currency); + + Builder from(CreditCurrencyPrice other); + } + + public interface _FinalStage { + CreditCurrencyPrice build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage price(Optional price); + + _FinalStage price(BillingPriceView price); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CurrencyStage, _FinalStage { + private String currency; + + private Optional price = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(CreditCurrencyPrice other) { + currency(other.getCurrency()); + price(other.getPrice()); + 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 _FinalStage price(BillingPriceView price) { + this.price = Optional.ofNullable(price); + return this; + } + + @java.lang.Override + @JsonSetter(value = "price", nulls = Nulls.SKIP) + public _FinalStage price(Optional price) { + this.price = price; + return this; + } + + @java.lang.Override + public CreditCurrencyPrice build() { + return new CreditCurrencyPrice(currency, price, 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/DataEventPayload.java b/src/main/java/com/schematic/api/types/DataEventPayload.java index 9692641..de6b7ac 100644 --- a/src/main/java/com/schematic/api/types/DataEventPayload.java +++ b/src/main/java/com/schematic/api/types/DataEventPayload.java @@ -27,6 +27,8 @@ public final class DataEventPayload { private final Optional> body; + private final Optional idempotencyKey; + private final Optional sentAt; private final EventType type; @@ -36,11 +38,13 @@ public final class DataEventPayload { private DataEventPayload( String apiKey, Optional> body, + Optional idempotencyKey, Optional sentAt, EventType type, Map additionalProperties) { this.apiKey = apiKey; this.body = body; + this.idempotencyKey = idempotencyKey; this.sentAt = sentAt; this.type = type; this.additionalProperties = additionalProperties; @@ -56,6 +60,11 @@ public Optional> getBody() { return body; } + @JsonProperty("idempotency_key") + public Optional getIdempotencyKey() { + return idempotencyKey; + } + @JsonProperty("sent_at") public Optional getSentAt() { return sentAt; @@ -80,13 +89,14 @@ public Map getAdditionalProperties() { private boolean equalTo(DataEventPayload other) { return apiKey.equals(other.apiKey) && body.equals(other.body) + && idempotencyKey.equals(other.idempotencyKey) && sentAt.equals(other.sentAt) && type.equals(other.type); } @java.lang.Override public int hashCode() { - return Objects.hash(this.apiKey, this.body, this.sentAt, this.type); + return Objects.hash(this.apiKey, this.body, this.idempotencyKey, this.sentAt, this.type); } @java.lang.Override @@ -119,6 +129,10 @@ public interface _FinalStage { _FinalStage body(Map body); + _FinalStage idempotencyKey(Optional idempotencyKey); + + _FinalStage idempotencyKey(String idempotencyKey); + _FinalStage sentAt(Optional sentAt); _FinalStage sentAt(OffsetDateTime sentAt); @@ -132,6 +146,8 @@ public static final class Builder implements ApiKeyStage, TypeStage, _FinalStage private Optional sentAt = Optional.empty(); + private Optional idempotencyKey = Optional.empty(); + private Optional> body = Optional.empty(); @JsonAnySetter @@ -143,6 +159,7 @@ private Builder() {} public Builder from(DataEventPayload other) { apiKey(other.getApiKey()); body(other.getBody()); + idempotencyKey(other.getIdempotencyKey()); sentAt(other.getSentAt()); type(other.getType()); return this; @@ -175,6 +192,19 @@ public _FinalStage sentAt(Optional sentAt) { return this; } + @java.lang.Override + public _FinalStage idempotencyKey(String idempotencyKey) { + this.idempotencyKey = Optional.ofNullable(idempotencyKey); + return this; + } + + @java.lang.Override + @JsonSetter(value = "idempotency_key", nulls = Nulls.SKIP) + public _FinalStage idempotencyKey(Optional idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + @java.lang.Override public _FinalStage body(Map body) { this.body = Optional.ofNullable(body); @@ -190,7 +220,7 @@ public _FinalStage body(Optional> body) { @java.lang.Override public DataEventPayload build() { - return new DataEventPayload(apiKey, body, sentAt, type, additionalProperties); + return new DataEventPayload(apiKey, body, idempotencyKey, sentAt, type, additionalProperties); } @java.lang.Override diff --git a/src/main/java/com/schematic/api/types/DuplicatePlanEntitlementsResponseResponseData.java b/src/main/java/com/schematic/api/types/DuplicatePlanEntitlementsResponseResponseData.java index 7dac7ab..73fa3da 100644 --- a/src/main/java/com/schematic/api/types/DuplicatePlanEntitlementsResponseResponseData.java +++ b/src/main/java/com/schematic/api/types/DuplicatePlanEntitlementsResponseResponseData.java @@ -23,15 +23,19 @@ public final class DuplicatePlanEntitlementsResponseResponseData { private final List data; + private final List issues; + private final List skipped; private final Map additionalProperties; private DuplicatePlanEntitlementsResponseResponseData( List data, + List issues, List skipped, Map additionalProperties) { this.data = data; + this.issues = issues; this.skipped = skipped; this.additionalProperties = additionalProperties; } @@ -41,6 +45,11 @@ public List getData() { return data; } + @JsonProperty("issues") + public List getIssues() { + return issues; + } + @JsonProperty("skipped") public List getSkipped() { return skipped; @@ -59,12 +68,12 @@ public Map getAdditionalProperties() { } private boolean equalTo(DuplicatePlanEntitlementsResponseResponseData other) { - return data.equals(other.data) && skipped.equals(other.skipped); + return data.equals(other.data) && issues.equals(other.issues) && skipped.equals(other.skipped); } @java.lang.Override public int hashCode() { - return Objects.hash(this.data, this.skipped); + return Objects.hash(this.data, this.issues, this.skipped); } @java.lang.Override @@ -80,6 +89,8 @@ public static Builder builder() { public static final class Builder { private List data = new ArrayList<>(); + private List issues = new ArrayList<>(); + private List skipped = new ArrayList<>(); @JsonAnySetter @@ -89,6 +100,7 @@ private Builder() {} public Builder from(DuplicatePlanEntitlementsResponseResponseData other) { data(other.getData()); + issues(other.getIssues()); skipped(other.getSkipped()); return this; } @@ -114,6 +126,27 @@ public Builder addAllData(List data) { return this; } + @JsonSetter(value = "issues", nulls = Nulls.SKIP) + public Builder issues(List issues) { + this.issues.clear(); + if (issues != null) { + this.issues.addAll(issues); + } + return this; + } + + public Builder addIssues(PlanIssueResponseData issues) { + this.issues.add(issues); + return this; + } + + public Builder addAllIssues(List issues) { + if (issues != null) { + this.issues.addAll(issues); + } + return this; + } + @JsonSetter(value = "skipped", nulls = Nulls.SKIP) public Builder skipped(List skipped) { this.skipped.clear(); @@ -136,7 +169,7 @@ public Builder addAllSkipped(List skipped) { } public DuplicatePlanEntitlementsResponseResponseData build() { - return new DuplicatePlanEntitlementsResponseResponseData(data, skipped, additionalProperties); + return new DuplicatePlanEntitlementsResponseResponseData(data, issues, skipped, additionalProperties); } public Builder additionalProperty(String key, Object value) { diff --git a/src/main/java/com/schematic/api/types/EventDetailResponseData.java b/src/main/java/com/schematic/api/types/EventDetailResponseData.java index ca89d11..4e87284 100644 --- a/src/main/java/com/schematic/api/types/EventDetailResponseData.java +++ b/src/main/java/com/schematic/api/types/EventDetailResponseData.java @@ -28,6 +28,8 @@ public final class EventDetailResponseData { private final Optional apiKey; + private final Optional apiKeyView; + private final Map body; private final String bodyPreview; @@ -50,6 +52,8 @@ public final class EventDetailResponseData { private final String id; + private final Optional idempotencyKey; + private final Optional loadedAt; private final Optional processedAt; @@ -74,6 +78,7 @@ public final class EventDetailResponseData { private EventDetailResponseData( Optional apiKey, + Optional apiKeyView, Map body, String bodyPreview, OffsetDateTime capturedAt, @@ -85,6 +90,7 @@ private EventDetailResponseData( List featureIds, List features, String id, + Optional idempotencyKey, Optional loadedAt, Optional processedAt, long quantity, @@ -97,6 +103,7 @@ private EventDetailResponseData( Optional userId, Map additionalProperties) { this.apiKey = apiKey; + this.apiKeyView = apiKeyView; this.body = body; this.bodyPreview = bodyPreview; this.capturedAt = capturedAt; @@ -108,6 +115,7 @@ private EventDetailResponseData( this.featureIds = featureIds; this.features = features; this.id = id; + this.idempotencyKey = idempotencyKey; this.loadedAt = loadedAt; this.processedAt = processedAt; this.quantity = quantity; @@ -126,6 +134,11 @@ public Optional getApiKey() { return apiKey; } + @JsonProperty("api_key_view") + public Optional getApiKeyView() { + return apiKeyView; + } + @JsonProperty("body") public Map getBody() { return body; @@ -181,6 +194,11 @@ public String getId() { return id; } + @JsonProperty("idempotency_key") + public Optional getIdempotencyKey() { + return idempotencyKey; + } + @JsonProperty("loaded_at") public Optional getLoadedAt() { return loadedAt; @@ -244,6 +262,7 @@ public Map getAdditionalProperties() { private boolean equalTo(EventDetailResponseData other) { return apiKey.equals(other.apiKey) + && apiKeyView.equals(other.apiKeyView) && body.equals(other.body) && bodyPreview.equals(other.bodyPreview) && capturedAt.equals(other.capturedAt) @@ -255,6 +274,7 @@ private boolean equalTo(EventDetailResponseData other) { && featureIds.equals(other.featureIds) && features.equals(other.features) && id.equals(other.id) + && idempotencyKey.equals(other.idempotencyKey) && loadedAt.equals(other.loadedAt) && processedAt.equals(other.processedAt) && quantity == other.quantity @@ -271,6 +291,7 @@ private boolean equalTo(EventDetailResponseData other) { public int hashCode() { return Objects.hash( this.apiKey, + this.apiKeyView, this.body, this.bodyPreview, this.capturedAt, @@ -282,6 +303,7 @@ public int hashCode() { this.featureIds, this.features, this.id, + this.idempotencyKey, this.loadedAt, this.processedAt, this.quantity, @@ -340,6 +362,10 @@ public interface _FinalStage { _FinalStage apiKey(String apiKey); + _FinalStage apiKeyView(Optional apiKeyView); + + _FinalStage apiKeyView(ApiKeyResponseData apiKeyView); + _FinalStage body(Map body); _FinalStage putAllBody(Map body); @@ -378,6 +404,10 @@ public interface _FinalStage { _FinalStage addAllFeatures(List features); + _FinalStage idempotencyKey(Optional idempotencyKey); + + _FinalStage idempotencyKey(String idempotencyKey); + _FinalStage loadedAt(Optional loadedAt); _FinalStage loadedAt(OffsetDateTime loadedAt); @@ -436,6 +466,8 @@ public static final class Builder private Optional loadedAt = Optional.empty(); + private Optional idempotencyKey = Optional.empty(); + private List features = new ArrayList<>(); private List featureIds = new ArrayList<>(); @@ -452,6 +484,8 @@ public static final class Builder private Map body = new LinkedHashMap<>(); + private Optional apiKeyView = Optional.empty(); + private Optional apiKey = Optional.empty(); @JsonAnySetter @@ -462,6 +496,7 @@ private Builder() {} @java.lang.Override public Builder from(EventDetailResponseData other) { apiKey(other.getApiKey()); + apiKeyView(other.getApiKeyView()); body(other.getBody()); bodyPreview(other.getBodyPreview()); capturedAt(other.getCapturedAt()); @@ -473,6 +508,7 @@ public Builder from(EventDetailResponseData other) { featureIds(other.getFeatureIds()); features(other.getFeatures()); id(other.getId()); + idempotencyKey(other.getIdempotencyKey()); loadedAt(other.getLoadedAt()); processedAt(other.getProcessedAt()); quantity(other.getQuantity()); @@ -619,6 +655,19 @@ public _FinalStage loadedAt(Optional loadedAt) { return this; } + @java.lang.Override + public _FinalStage idempotencyKey(String idempotencyKey) { + this.idempotencyKey = Optional.ofNullable(idempotencyKey); + return this; + } + + @java.lang.Override + @JsonSetter(value = "idempotency_key", nulls = Nulls.SKIP) + public _FinalStage idempotencyKey(Optional idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + @java.lang.Override public _FinalStage addAllFeatures(List features) { if (features != null) { @@ -756,6 +805,19 @@ public _FinalStage body(Map body) { return this; } + @java.lang.Override + public _FinalStage apiKeyView(ApiKeyResponseData apiKeyView) { + this.apiKeyView = Optional.ofNullable(apiKeyView); + return this; + } + + @java.lang.Override + @JsonSetter(value = "api_key_view", nulls = Nulls.SKIP) + public _FinalStage apiKeyView(Optional apiKeyView) { + this.apiKeyView = apiKeyView; + return this; + } + @java.lang.Override public _FinalStage apiKey(String apiKey) { this.apiKey = Optional.ofNullable(apiKey); @@ -773,6 +835,7 @@ public _FinalStage apiKey(Optional apiKey) { public EventDetailResponseData build() { return new EventDetailResponseData( apiKey, + apiKeyView, body, bodyPreview, capturedAt, @@ -784,6 +847,7 @@ public EventDetailResponseData build() { featureIds, features, id, + idempotencyKey, loadedAt, processedAt, quantity, diff --git a/src/main/java/com/schematic/api/types/EventResponseData.java b/src/main/java/com/schematic/api/types/EventResponseData.java index 6e4cfe9..1beb0dd 100644 --- a/src/main/java/com/schematic/api/types/EventResponseData.java +++ b/src/main/java/com/schematic/api/types/EventResponseData.java @@ -46,6 +46,8 @@ public final class EventResponseData { private final String id; + private final Optional idempotencyKey; + private final Optional loadedAt; private final Optional processedAt; @@ -77,6 +79,7 @@ private EventResponseData( Optional errorMessage, List featureIds, String id, + Optional idempotencyKey, Optional loadedAt, Optional processedAt, long quantity, @@ -97,6 +100,7 @@ private EventResponseData( this.errorMessage = errorMessage; this.featureIds = featureIds; this.id = id; + this.idempotencyKey = idempotencyKey; this.loadedAt = loadedAt; this.processedAt = processedAt; this.quantity = quantity; @@ -159,6 +163,11 @@ public String getId() { return id; } + @JsonProperty("idempotency_key") + public Optional getIdempotencyKey() { + return idempotencyKey; + } + @JsonProperty("loaded_at") public Optional getLoadedAt() { return loadedAt; @@ -226,6 +235,7 @@ private boolean equalTo(EventResponseData other) { && errorMessage.equals(other.errorMessage) && featureIds.equals(other.featureIds) && id.equals(other.id) + && idempotencyKey.equals(other.idempotencyKey) && loadedAt.equals(other.loadedAt) && processedAt.equals(other.processedAt) && quantity == other.quantity @@ -250,6 +260,7 @@ public int hashCode() { this.errorMessage, this.featureIds, this.id, + this.idempotencyKey, this.loadedAt, this.processedAt, this.quantity, @@ -335,6 +346,10 @@ public interface _FinalStage { _FinalStage addAllFeatureIds(List featureIds); + _FinalStage idempotencyKey(Optional idempotencyKey); + + _FinalStage idempotencyKey(String idempotencyKey); + _FinalStage loadedAt(Optional loadedAt); _FinalStage loadedAt(OffsetDateTime loadedAt); @@ -387,6 +402,8 @@ public static final class Builder private Optional loadedAt = Optional.empty(); + private Optional idempotencyKey = Optional.empty(); + private List featureIds = new ArrayList<>(); private Optional errorMessage = Optional.empty(); @@ -418,6 +435,7 @@ public Builder from(EventResponseData other) { errorMessage(other.getErrorMessage()); featureIds(other.getFeatureIds()); id(other.getId()); + idempotencyKey(other.getIdempotencyKey()); loadedAt(other.getLoadedAt()); processedAt(other.getProcessedAt()); quantity(other.getQuantity()); @@ -550,6 +568,19 @@ public _FinalStage loadedAt(Optional loadedAt) { return this; } + @java.lang.Override + public _FinalStage idempotencyKey(String idempotencyKey) { + this.idempotencyKey = Optional.ofNullable(idempotencyKey); + return this; + } + + @java.lang.Override + @JsonSetter(value = "idempotency_key", nulls = Nulls.SKIP) + public _FinalStage idempotencyKey(Optional idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + @java.lang.Override public _FinalStage addAllFeatureIds(List featureIds) { if (featureIds != null) { @@ -676,6 +707,7 @@ public EventResponseData build() { errorMessage, featureIds, id, + idempotencyKey, loadedAt, processedAt, quantity, diff --git a/src/main/java/com/schematic/api/types/IntegrationCapabilities.java b/src/main/java/com/schematic/api/types/IntegrationCapabilities.java new file mode 100644 index 0000000..8eee54e --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationCapabilities.java @@ -0,0 +1,162 @@ +/** + * 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; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = IntegrationCapabilities.Builder.class) +public final class IntegrationCapabilities { + private final boolean authorPlans; + + private final boolean checkout; + + private final boolean editBilling; + + private final Map additionalProperties; + + private IntegrationCapabilities( + boolean authorPlans, boolean checkout, boolean editBilling, Map additionalProperties) { + this.authorPlans = authorPlans; + this.checkout = checkout; + this.editBilling = editBilling; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("author_plans") + public boolean getAuthorPlans() { + return authorPlans; + } + + @JsonProperty("checkout") + public boolean getCheckout() { + return checkout; + } + + @JsonProperty("edit_billing") + public boolean getEditBilling() { + return editBilling; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof IntegrationCapabilities && equalTo((IntegrationCapabilities) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(IntegrationCapabilities other) { + return authorPlans == other.authorPlans && checkout == other.checkout && editBilling == other.editBilling; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.authorPlans, this.checkout, this.editBilling); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static AuthorPlansStage builder() { + return new Builder(); + } + + public interface AuthorPlansStage { + CheckoutStage authorPlans(boolean authorPlans); + + Builder from(IntegrationCapabilities other); + } + + public interface CheckoutStage { + EditBillingStage checkout(boolean checkout); + } + + public interface EditBillingStage { + _FinalStage editBilling(boolean editBilling); + } + + public interface _FinalStage { + IntegrationCapabilities build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements AuthorPlansStage, CheckoutStage, EditBillingStage, _FinalStage { + private boolean authorPlans; + + private boolean checkout; + + private boolean editBilling; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(IntegrationCapabilities other) { + authorPlans(other.getAuthorPlans()); + checkout(other.getCheckout()); + editBilling(other.getEditBilling()); + return this; + } + + @java.lang.Override + @JsonSetter("author_plans") + public CheckoutStage authorPlans(boolean authorPlans) { + this.authorPlans = authorPlans; + return this; + } + + @java.lang.Override + @JsonSetter("checkout") + public EditBillingStage checkout(boolean checkout) { + this.checkout = checkout; + return this; + } + + @java.lang.Override + @JsonSetter("edit_billing") + public _FinalStage editBilling(boolean editBilling) { + this.editBilling = editBilling; + return this; + } + + @java.lang.Override + public IntegrationCapabilities build() { + return new IntegrationCapabilities(authorPlans, checkout, editBilling, 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/IntegrationConfig.java b/src/main/java/com/schematic/api/types/IntegrationConfig.java new file mode 100644 index 0000000..f479f5c --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationConfig.java @@ -0,0 +1,282 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonUnwrapped; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Objects; +import java.util.Optional; + +public final class IntegrationConfig { + private final Value value; + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + private IntegrationConfig(Value value) { + this.value = value; + } + + public T visit(Visitor visitor) { + return value.visit(visitor); + } + + public static IntegrationConfig clerk(ClerkIntegrationConfig value) { + return new IntegrationConfig(new ClerkValue(value)); + } + + public static IntegrationConfig orb(OrbIntegrationConfig value) { + return new IntegrationConfig(new OrbValue(value)); + } + + public static IntegrationConfig stripe(StripeIntegrationConfig value) { + return new IntegrationConfig(new StripeValue(value)); + } + + public boolean isClerk() { + return value instanceof ClerkValue; + } + + public boolean isOrb() { + return value instanceof OrbValue; + } + + public boolean isStripe() { + return value instanceof StripeValue; + } + + public boolean _isUnknown() { + return value instanceof _UnknownValue; + } + + public Optional getClerk() { + if (isClerk()) { + return Optional.of(((ClerkValue) value).value); + } + return Optional.empty(); + } + + public Optional getOrb() { + if (isOrb()) { + return Optional.of(((OrbValue) value).value); + } + return Optional.empty(); + } + + public Optional getStripe() { + if (isStripe()) { + return Optional.of(((StripeValue) value).value); + } + return Optional.empty(); + } + + public Optional _getUnknown() { + if (_isUnknown()) { + return Optional.of(((_UnknownValue) value).value); + } + return Optional.empty(); + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof IntegrationConfig && value.equals(((IntegrationConfig) other).value); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public String toString() { + return value.toString(); + } + + @JsonValue + private Value getValue() { + return this.value; + } + + public interface Visitor { + T visitClerk(ClerkIntegrationConfig clerk); + + T visitOrb(OrbIntegrationConfig orb); + + T visitStripe(StripeIntegrationConfig stripe); + + T _visitUnknown(Object unknownType); + } + + @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", visible = true, defaultImpl = _UnknownValue.class) + @JsonSubTypes({ + @JsonSubTypes.Type(ClerkValue.class), + @JsonSubTypes.Type(OrbValue.class), + @JsonSubTypes.Type(StripeValue.class) + }) + @JsonIgnoreProperties(ignoreUnknown = true) + private interface Value { + T visit(Visitor visitor); + } + + @JsonTypeName("clerk") + @JsonIgnoreProperties("type") + private static final class ClerkValue implements Value { + @JsonUnwrapped + @JsonIgnoreProperties(value = "type", allowSetters = true) + private ClerkIntegrationConfig value; + + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) + private ClerkValue() {} + + private ClerkValue(ClerkIntegrationConfig value) { + this.value = value; + } + + @java.lang.Override + public T visit(Visitor visitor) { + return visitor.visitClerk(value); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ClerkValue && equalTo((ClerkValue) other); + } + + private boolean equalTo(ClerkValue other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return "IntegrationConfig{" + "value: " + value + "}"; + } + } + + @JsonTypeName("orb") + @JsonIgnoreProperties("type") + private static final class OrbValue implements Value { + @JsonUnwrapped + @JsonIgnoreProperties(value = "type", allowSetters = true) + private OrbIntegrationConfig value; + + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) + private OrbValue() {} + + private OrbValue(OrbIntegrationConfig value) { + this.value = value; + } + + @java.lang.Override + public T visit(Visitor visitor) { + return visitor.visitOrb(value); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof OrbValue && equalTo((OrbValue) other); + } + + private boolean equalTo(OrbValue other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return "IntegrationConfig{" + "value: " + value + "}"; + } + } + + @JsonTypeName("stripe") + @JsonIgnoreProperties("type") + private static final class StripeValue implements Value { + @JsonUnwrapped + @JsonIgnoreProperties(value = "type", allowSetters = true) + private StripeIntegrationConfig value; + + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) + private StripeValue() {} + + private StripeValue(StripeIntegrationConfig value) { + this.value = value; + } + + @java.lang.Override + public T visit(Visitor visitor) { + return visitor.visitStripe(value); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof StripeValue && equalTo((StripeValue) other); + } + + private boolean equalTo(StripeValue other) { + return value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.value); + } + + @java.lang.Override + public String toString() { + return "IntegrationConfig{" + "value: " + value + "}"; + } + } + + @JsonIgnoreProperties("type") + private static final class _UnknownValue implements Value { + private String type; + + @JsonValue + private Object value; + + @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) + private _UnknownValue(@JsonProperty("value") Object value) {} + + @java.lang.Override + public T visit(Visitor visitor) { + return visitor._visitUnknown(value); + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof _UnknownValue && equalTo((_UnknownValue) other); + } + + private boolean equalTo(_UnknownValue other) { + return type.equals(other.type) && value.equals(other.value); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.type, this.value); + } + + @java.lang.Override + public String toString() { + return "IntegrationConfig{" + "type: " + type + ", value: " + value + "}"; + } + } +} diff --git a/src/main/java/com/schematic/api/types/IntegrationResponseData.java b/src/main/java/com/schematic/api/types/IntegrationResponseData.java new file mode 100644 index 0000000..535a7ae --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationResponseData.java @@ -0,0 +1,218 @@ +/** + * 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 = IntegrationResponseData.Builder.class) +public final class IntegrationResponseData { + private final OffsetDateTime createdAt; + + private final String id; + + private final IntegrationState state; + + private final IntegrationType type; + + private final OffsetDateTime updatedAt; + + private final Map additionalProperties; + + private IntegrationResponseData( + OffsetDateTime createdAt, + String id, + IntegrationState state, + IntegrationType type, + OffsetDateTime updatedAt, + Map additionalProperties) { + this.createdAt = createdAt; + this.id = id; + this.state = state; + this.type = type; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("created_at") + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("state") + public IntegrationState getState() { + return state; + } + + @JsonProperty("type") + public IntegrationType getType() { + return type; + } + + @JsonProperty("updated_at") + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof IntegrationResponseData && equalTo((IntegrationResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(IntegrationResponseData other) { + return createdAt.equals(other.createdAt) + && id.equals(other.id) + && state.equals(other.state) + && type.equals(other.type) + && updatedAt.equals(other.updatedAt); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.createdAt, this.id, this.state, this.type, this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CreatedAtStage builder() { + return new Builder(); + } + + public interface CreatedAtStage { + IdStage createdAt(@NotNull OffsetDateTime createdAt); + + Builder from(IntegrationResponseData other); + } + + public interface IdStage { + StateStage id(@NotNull String id); + } + + public interface StateStage { + TypeStage state(@NotNull IntegrationState state); + } + + public interface TypeStage { + UpdatedAtStage type(@NotNull IntegrationType type); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(@NotNull OffsetDateTime updatedAt); + } + + public interface _FinalStage { + IntegrationResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements CreatedAtStage, IdStage, StateStage, TypeStage, UpdatedAtStage, _FinalStage { + private OffsetDateTime createdAt; + + private String id; + + private IntegrationState state; + + private IntegrationType type; + + private OffsetDateTime updatedAt; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(IntegrationResponseData other) { + createdAt(other.getCreatedAt()); + id(other.getId()); + state(other.getState()); + type(other.getType()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("created_at") + public IdStage createdAt(@NotNull OffsetDateTime createdAt) { + this.createdAt = Objects.requireNonNull(createdAt, "createdAt must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public StateStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("state") + public TypeStage state(@NotNull IntegrationState state) { + this.state = Objects.requireNonNull(state, "state must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("type") + public UpdatedAtStage type(@NotNull IntegrationType type) { + this.type = Objects.requireNonNull(type, "type must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("updated_at") + public _FinalStage updatedAt(@NotNull OffsetDateTime updatedAt) { + this.updatedAt = Objects.requireNonNull(updatedAt, "updatedAt must not be null"); + return this; + } + + @java.lang.Override + public IntegrationResponseData build() { + return new IntegrationResponseData(createdAt, id, state, type, updatedAt, 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/IntegrationState.java b/src/main/java/com/schematic/api/types/IntegrationState.java new file mode 100644 index 0000000..6d57a00 --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationState.java @@ -0,0 +1,93 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.schematic.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class IntegrationState { + public static final IntegrationState PENDING = new IntegrationState(Value.PENDING, "pending"); + + public static final IntegrationState CREATED = new IntegrationState(Value.CREATED, "created"); + + public static final IntegrationState ACTIVE = new IntegrationState(Value.ACTIVE, "active"); + + private final Value value; + + private final String string; + + IntegrationState(Value value, String string) { + this.value = value; + this.string = string; + } + + public Value getEnumValue() { + return value; + } + + @java.lang.Override + @JsonValue + public String toString() { + return this.string; + } + + @java.lang.Override + public boolean equals(Object other) { + return (this == other) + || (other instanceof IntegrationState && this.string.equals(((IntegrationState) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case PENDING: + return visitor.visitPending(); + case CREATED: + return visitor.visitCreated(); + case ACTIVE: + return visitor.visitActive(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static IntegrationState valueOf(String value) { + switch (value) { + case "pending": + return PENDING; + case "created": + return CREATED; + case "active": + return ACTIVE; + default: + return new IntegrationState(Value.UNKNOWN, value); + } + } + + public enum Value { + ACTIVE, + + CREATED, + + PENDING, + + UNKNOWN + } + + public interface Visitor { + T visitActive(); + + T visitCreated(); + + T visitPending(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/com/schematic/api/types/IntegrationsDataSetResponseData.java b/src/main/java/com/schematic/api/types/IntegrationsDataSetResponseData.java new file mode 100644 index 0000000..8005be3 --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationsDataSetResponseData.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 = IntegrationsDataSetResponseData.Builder.class) +public final class IntegrationsDataSetResponseData { + private final List keys; + + private final Map additionalProperties; + + private IntegrationsDataSetResponseData(List keys, Map additionalProperties) { + this.keys = keys; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("keys") + public List getKeys() { + return keys; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof IntegrationsDataSetResponseData && equalTo((IntegrationsDataSetResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(IntegrationsDataSetResponseData other) { + return keys.equals(other.keys); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.keys); + } + + @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 keys = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(IntegrationsDataSetResponseData other) { + keys(other.getKeys()); + return this; + } + + @JsonSetter(value = "keys", nulls = Nulls.SKIP) + public Builder keys(List keys) { + this.keys.clear(); + if (keys != null) { + this.keys.addAll(keys); + } + return this; + } + + public Builder addKeys(String keys) { + this.keys.add(keys); + return this; + } + + public Builder addAllKeys(List keys) { + if (keys != null) { + this.keys.addAll(keys); + } + return this; + } + + public IntegrationsDataSetResponseData build() { + return new IntegrationsDataSetResponseData(keys, 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/IntegrationsListResponseData.java b/src/main/java/com/schematic/api/types/IntegrationsListResponseData.java new file mode 100644 index 0000000..18d5778 --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationsListResponseData.java @@ -0,0 +1,287 @@ +/** + * 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 = IntegrationsListResponseData.Builder.class) +public final class IntegrationsListResponseData { + private final IntegrationCapabilities capabilities; + + private final Optional config; + + private final String id; + + private final boolean isAppInstall; + + private final boolean isConnectInstall; + + private final IntegrationState state; + + private final IntegrationType type; + + private final Map additionalProperties; + + private IntegrationsListResponseData( + IntegrationCapabilities capabilities, + Optional config, + String id, + boolean isAppInstall, + boolean isConnectInstall, + IntegrationState state, + IntegrationType type, + Map additionalProperties) { + this.capabilities = capabilities; + this.config = config; + this.id = id; + this.isAppInstall = isAppInstall; + this.isConnectInstall = isConnectInstall; + this.state = state; + this.type = type; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("capabilities") + public IntegrationCapabilities getCapabilities() { + return capabilities; + } + + @JsonProperty("config") + public Optional getConfig() { + return config; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("is_app_install") + public boolean getIsAppInstall() { + return isAppInstall; + } + + @JsonProperty("is_connect_install") + public boolean getIsConnectInstall() { + return isConnectInstall; + } + + @JsonProperty("state") + public IntegrationState getState() { + return state; + } + + @JsonProperty("type") + public IntegrationType getType() { + return type; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof IntegrationsListResponseData && equalTo((IntegrationsListResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(IntegrationsListResponseData other) { + return capabilities.equals(other.capabilities) + && config.equals(other.config) + && id.equals(other.id) + && isAppInstall == other.isAppInstall + && isConnectInstall == other.isConnectInstall + && state.equals(other.state) + && type.equals(other.type); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.capabilities, + this.config, + this.id, + this.isAppInstall, + this.isConnectInstall, + this.state, + this.type); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CapabilitiesStage builder() { + return new Builder(); + } + + public interface CapabilitiesStage { + IdStage capabilities(@NotNull IntegrationCapabilities capabilities); + + Builder from(IntegrationsListResponseData other); + } + + public interface IdStage { + IsAppInstallStage id(@NotNull String id); + } + + public interface IsAppInstallStage { + IsConnectInstallStage isAppInstall(boolean isAppInstall); + } + + public interface IsConnectInstallStage { + StateStage isConnectInstall(boolean isConnectInstall); + } + + public interface StateStage { + TypeStage state(@NotNull IntegrationState state); + } + + public interface TypeStage { + _FinalStage type(@NotNull IntegrationType type); + } + + public interface _FinalStage { + IntegrationsListResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage config(Optional config); + + _FinalStage config(IntegrationConfig config); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements CapabilitiesStage, + IdStage, + IsAppInstallStage, + IsConnectInstallStage, + StateStage, + TypeStage, + _FinalStage { + private IntegrationCapabilities capabilities; + + private String id; + + private boolean isAppInstall; + + private boolean isConnectInstall; + + private IntegrationState state; + + private IntegrationType type; + + private Optional config = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(IntegrationsListResponseData other) { + capabilities(other.getCapabilities()); + config(other.getConfig()); + id(other.getId()); + isAppInstall(other.getIsAppInstall()); + isConnectInstall(other.getIsConnectInstall()); + state(other.getState()); + type(other.getType()); + return this; + } + + @java.lang.Override + @JsonSetter("capabilities") + public IdStage capabilities(@NotNull IntegrationCapabilities capabilities) { + this.capabilities = Objects.requireNonNull(capabilities, "capabilities must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public IsAppInstallStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("is_app_install") + public IsConnectInstallStage isAppInstall(boolean isAppInstall) { + this.isAppInstall = isAppInstall; + return this; + } + + @java.lang.Override + @JsonSetter("is_connect_install") + public StateStage isConnectInstall(boolean isConnectInstall) { + this.isConnectInstall = isConnectInstall; + return this; + } + + @java.lang.Override + @JsonSetter("state") + public TypeStage state(@NotNull IntegrationState state) { + this.state = Objects.requireNonNull(state, "state must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("type") + public _FinalStage type(@NotNull IntegrationType type) { + this.type = Objects.requireNonNull(type, "type must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage config(IntegrationConfig config) { + this.config = Optional.ofNullable(config); + return this; + } + + @java.lang.Override + @JsonSetter(value = "config", nulls = Nulls.SKIP) + public _FinalStage config(Optional config) { + this.config = config; + return this; + } + + @java.lang.Override + public IntegrationsListResponseData build() { + return new IntegrationsListResponseData( + capabilities, config, id, isAppInstall, isConnectInstall, state, type, 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/IntegrationsResponseData.java b/src/main/java/com/schematic/api/types/IntegrationsResponseData.java new file mode 100644 index 0000000..d8496fe --- /dev/null +++ b/src/main/java/com/schematic/api/types/IntegrationsResponseData.java @@ -0,0 +1,218 @@ +/** + * 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 = IntegrationsResponseData.Builder.class) +public final class IntegrationsResponseData { + private final OffsetDateTime createdAt; + + private final String id; + + private final IntegrationState state; + + private final IntegrationType type; + + private final OffsetDateTime updatedAt; + + private final Map additionalProperties; + + private IntegrationsResponseData( + OffsetDateTime createdAt, + String id, + IntegrationState state, + IntegrationType type, + OffsetDateTime updatedAt, + Map additionalProperties) { + this.createdAt = createdAt; + this.id = id; + this.state = state; + this.type = type; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("created_at") + public OffsetDateTime getCreatedAt() { + return createdAt; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("state") + public IntegrationState getState() { + return state; + } + + @JsonProperty("type") + public IntegrationType getType() { + return type; + } + + @JsonProperty("updated_at") + public OffsetDateTime getUpdatedAt() { + return updatedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof IntegrationsResponseData && equalTo((IntegrationsResponseData) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(IntegrationsResponseData other) { + return createdAt.equals(other.createdAt) + && id.equals(other.id) + && state.equals(other.state) + && type.equals(other.type) + && updatedAt.equals(other.updatedAt); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.createdAt, this.id, this.state, this.type, this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CreatedAtStage builder() { + return new Builder(); + } + + public interface CreatedAtStage { + IdStage createdAt(@NotNull OffsetDateTime createdAt); + + Builder from(IntegrationsResponseData other); + } + + public interface IdStage { + StateStage id(@NotNull String id); + } + + public interface StateStage { + TypeStage state(@NotNull IntegrationState state); + } + + public interface TypeStage { + UpdatedAtStage type(@NotNull IntegrationType type); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(@NotNull OffsetDateTime updatedAt); + } + + public interface _FinalStage { + IntegrationsResponseData build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements CreatedAtStage, IdStage, StateStage, TypeStage, UpdatedAtStage, _FinalStage { + private OffsetDateTime createdAt; + + private String id; + + private IntegrationState state; + + private IntegrationType type; + + private OffsetDateTime updatedAt; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(IntegrationsResponseData other) { + createdAt(other.getCreatedAt()); + id(other.getId()); + state(other.getState()); + type(other.getType()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("created_at") + public IdStage createdAt(@NotNull OffsetDateTime createdAt) { + this.createdAt = Objects.requireNonNull(createdAt, "createdAt must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public StateStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("state") + public TypeStage state(@NotNull IntegrationState state) { + this.state = Objects.requireNonNull(state, "state must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("type") + public UpdatedAtStage type(@NotNull IntegrationType type) { + this.type = Objects.requireNonNull(type, "type must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("updated_at") + public _FinalStage updatedAt(@NotNull OffsetDateTime updatedAt) { + this.updatedAt = Objects.requireNonNull(updatedAt, "updatedAt must not be null"); + return this; + } + + @java.lang.Override + public IntegrationsResponseData build() { + return new IntegrationsResponseData(createdAt, id, state, type, updatedAt, 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/OrbIntegrationConfig.java b/src/main/java/com/schematic/api/types/OrbIntegrationConfig.java new file mode 100644 index 0000000..2994632 --- /dev/null +++ b/src/main/java/com/schematic/api/types/OrbIntegrationConfig.java @@ -0,0 +1,111 @@ +/** + * 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; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = OrbIntegrationConfig.Builder.class) +public final class OrbIntegrationConfig { + private final Optional externalCustomerIdKey; + + private final Map additionalProperties; + + private OrbIntegrationConfig(Optional externalCustomerIdKey, Map additionalProperties) { + this.externalCustomerIdKey = externalCustomerIdKey; + this.additionalProperties = additionalProperties; + } + + /** + * @return Schematic company key used to store Orb's external_customer_id; when unset, defaults to orb_external_customer_id + */ + @JsonProperty("external_customer_id_key") + public Optional getExternalCustomerIdKey() { + return externalCustomerIdKey; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof OrbIntegrationConfig && equalTo((OrbIntegrationConfig) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(OrbIntegrationConfig other) { + return externalCustomerIdKey.equals(other.externalCustomerIdKey); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.externalCustomerIdKey); + } + + @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 externalCustomerIdKey = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(OrbIntegrationConfig other) { + externalCustomerIdKey(other.getExternalCustomerIdKey()); + return this; + } + + /** + *

Schematic company key used to store Orb's external_customer_id; when unset, defaults to orb_external_customer_id

+ */ + @JsonSetter(value = "external_customer_id_key", nulls = Nulls.SKIP) + public Builder externalCustomerIdKey(Optional externalCustomerIdKey) { + this.externalCustomerIdKey = externalCustomerIdKey; + return this; + } + + public Builder externalCustomerIdKey(String externalCustomerIdKey) { + this.externalCustomerIdKey = Optional.ofNullable(externalCustomerIdKey); + return this; + } + + public OrbIntegrationConfig build() { + return new OrbIntegrationConfig(externalCustomerIdKey, 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/PlanCreditGrantView.java b/src/main/java/com/schematic/api/types/PlanCreditGrantView.java index 12ad002..f94f42d 100644 --- a/src/main/java/com/schematic/api/types/PlanCreditGrantView.java +++ b/src/main/java/com/schematic/api/types/PlanCreditGrantView.java @@ -34,6 +34,8 @@ public final class PlanCreditGrantView { private final Optional billingCreditAutoTopupExpiryUnitCount; + private final boolean billingCreditAutoTopupSelfService; + private final Optional billingCreditAutoTopupThresholdCredits; private final Optional billingCreditAutoTopupThresholdPercent; @@ -87,6 +89,7 @@ private PlanCreditGrantView( Optional billingCreditAutoTopupExpiryType, Optional billingCreditAutoTopupExpiryUnit, Optional billingCreditAutoTopupExpiryUnitCount, + boolean billingCreditAutoTopupSelfService, Optional billingCreditAutoTopupThresholdCredits, Optional billingCreditAutoTopupThresholdPercent, OffsetDateTime createdAt, @@ -116,6 +119,7 @@ private PlanCreditGrantView( this.billingCreditAutoTopupExpiryType = billingCreditAutoTopupExpiryType; this.billingCreditAutoTopupExpiryUnit = billingCreditAutoTopupExpiryUnit; this.billingCreditAutoTopupExpiryUnitCount = billingCreditAutoTopupExpiryUnitCount; + this.billingCreditAutoTopupSelfService = billingCreditAutoTopupSelfService; this.billingCreditAutoTopupThresholdCredits = billingCreditAutoTopupThresholdCredits; this.billingCreditAutoTopupThresholdPercent = billingCreditAutoTopupThresholdPercent; this.createdAt = createdAt; @@ -171,6 +175,11 @@ public Optional getBillingCreditAutoTopupExpiryUnitCount() { return billingCreditAutoTopupExpiryUnitCount; } + @JsonProperty("billing_credit_auto_topup_self_service") + public boolean getBillingCreditAutoTopupSelfService() { + return billingCreditAutoTopupSelfService; + } + @JsonProperty("billing_credit_auto_topup_threshold_credits") public Optional getBillingCreditAutoTopupThresholdCredits() { return billingCreditAutoTopupThresholdCredits; @@ -314,6 +323,7 @@ private boolean equalTo(PlanCreditGrantView other) { && billingCreditAutoTopupExpiryType.equals(other.billingCreditAutoTopupExpiryType) && billingCreditAutoTopupExpiryUnit.equals(other.billingCreditAutoTopupExpiryUnit) && billingCreditAutoTopupExpiryUnitCount.equals(other.billingCreditAutoTopupExpiryUnitCount) + && billingCreditAutoTopupSelfService == other.billingCreditAutoTopupSelfService && billingCreditAutoTopupThresholdCredits.equals(other.billingCreditAutoTopupThresholdCredits) && billingCreditAutoTopupThresholdPercent.equals(other.billingCreditAutoTopupThresholdPercent) && createdAt.equals(other.createdAt) @@ -347,6 +357,7 @@ public int hashCode() { this.billingCreditAutoTopupExpiryType, this.billingCreditAutoTopupExpiryUnit, this.billingCreditAutoTopupExpiryUnitCount, + this.billingCreditAutoTopupSelfService, this.billingCreditAutoTopupThresholdCredits, this.billingCreditAutoTopupThresholdPercent, this.createdAt, @@ -381,11 +392,15 @@ public static BillingCreditAutoTopupEnabledStage builder() { } public interface BillingCreditAutoTopupEnabledStage { - CreatedAtStage billingCreditAutoTopupEnabled(boolean billingCreditAutoTopupEnabled); + BillingCreditAutoTopupSelfServiceStage billingCreditAutoTopupEnabled(boolean billingCreditAutoTopupEnabled); Builder from(PlanCreditGrantView other); } + public interface BillingCreditAutoTopupSelfServiceStage { + CreatedAtStage billingCreditAutoTopupSelfService(boolean billingCreditAutoTopupSelfService); + } + public interface CreatedAtStage { CreditAmountStage createdAt(@NotNull OffsetDateTime createdAt); } @@ -522,6 +537,7 @@ _FinalStage billingCreditAutoTopupExpiryUnit( @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder implements BillingCreditAutoTopupEnabledStage, + BillingCreditAutoTopupSelfServiceStage, CreatedAtStage, CreditAmountStage, CreditDescriptionStage, @@ -534,6 +550,8 @@ public static final class Builder _FinalStage { private boolean billingCreditAutoTopupEnabled; + private boolean billingCreditAutoTopupSelfService; + private OffsetDateTime createdAt; private long creditAmount; @@ -601,6 +619,7 @@ public Builder from(PlanCreditGrantView other) { billingCreditAutoTopupExpiryType(other.getBillingCreditAutoTopupExpiryType()); billingCreditAutoTopupExpiryUnit(other.getBillingCreditAutoTopupExpiryUnit()); billingCreditAutoTopupExpiryUnitCount(other.getBillingCreditAutoTopupExpiryUnitCount()); + billingCreditAutoTopupSelfService(other.getBillingCreditAutoTopupSelfService()); billingCreditAutoTopupThresholdCredits(other.getBillingCreditAutoTopupThresholdCredits()); billingCreditAutoTopupThresholdPercent(other.getBillingCreditAutoTopupThresholdPercent()); createdAt(other.getCreatedAt()); @@ -628,11 +647,19 @@ public Builder from(PlanCreditGrantView other) { @java.lang.Override @JsonSetter("billing_credit_auto_topup_enabled") - public CreatedAtStage billingCreditAutoTopupEnabled(boolean billingCreditAutoTopupEnabled) { + public BillingCreditAutoTopupSelfServiceStage billingCreditAutoTopupEnabled( + boolean billingCreditAutoTopupEnabled) { this.billingCreditAutoTopupEnabled = billingCreditAutoTopupEnabled; return this; } + @java.lang.Override + @JsonSetter("billing_credit_auto_topup_self_service") + public CreatedAtStage billingCreditAutoTopupSelfService(boolean billingCreditAutoTopupSelfService) { + this.billingCreditAutoTopupSelfService = billingCreditAutoTopupSelfService; + return this; + } + @java.lang.Override @JsonSetter("created_at") public CreditAmountStage createdAt(@NotNull OffsetDateTime createdAt) { @@ -974,6 +1001,7 @@ public PlanCreditGrantView build() { billingCreditAutoTopupExpiryType, billingCreditAutoTopupExpiryUnit, billingCreditAutoTopupExpiryUnitCount, + billingCreditAutoTopupSelfService, billingCreditAutoTopupThresholdCredits, billingCreditAutoTopupThresholdPercent, createdAt, diff --git a/src/main/java/com/schematic/api/types/RulesEngineSchemaVersion.java b/src/main/java/com/schematic/api/types/RulesEngineSchemaVersion.java index 856176f..60558c9 100644 --- a/src/main/java/com/schematic/api/types/RulesEngineSchemaVersion.java +++ b/src/main/java/com/schematic/api/types/RulesEngineSchemaVersion.java @@ -10,8 +10,8 @@ public final class RulesEngineSchemaVersion { public static final RulesEngineSchemaVersion PLACEHOLDER_FOR_FERN_COMPATIBILITY = new RulesEngineSchemaVersion( Value.PLACEHOLDER_FOR_FERN_COMPATIBILITY, "placeholder-for-fern-compatibility"); - public static final RulesEngineSchemaVersion VF_05_BF_5_DA = - new RulesEngineSchemaVersion(Value.VF_05_BF_5_DA, "vf05bf5da"); + public static final RulesEngineSchemaVersion V_97288_F_60 = + new RulesEngineSchemaVersion(Value.V_97288_F_60, "v97288f60"); private final Value value; @@ -48,8 +48,8 @@ public T visit(Visitor visitor) { switch (value) { case PLACEHOLDER_FOR_FERN_COMPATIBILITY: return visitor.visitPlaceholderForFernCompatibility(); - case VF_05_BF_5_DA: - return visitor.visitVf05Bf5Da(); + case V_97288_F_60: + return visitor.visitV97288F60(); case UNKNOWN: default: return visitor.visitUnknown(string); @@ -61,15 +61,15 @@ public static RulesEngineSchemaVersion valueOf(String value) { switch (value) { case "placeholder-for-fern-compatibility": return PLACEHOLDER_FOR_FERN_COMPATIBILITY; - case "vf05bf5da": - return VF_05_BF_5_DA; + case "v97288f60": + return V_97288_F_60; default: return new RulesEngineSchemaVersion(Value.UNKNOWN, value); } } public enum Value { - VF_05_BF_5_DA, + V_97288_F_60, PLACEHOLDER_FOR_FERN_COMPATIBILITY, @@ -77,7 +77,7 @@ public enum Value { } public interface Visitor { - T visitVf05Bf5Da(); + T visitV97288F60(); T visitPlaceholderForFernCompatibility(); diff --git a/src/main/java/com/schematic/api/types/StripeIntegrationConfig.java b/src/main/java/com/schematic/api/types/StripeIntegrationConfig.java new file mode 100644 index 0000000..6b9d469 --- /dev/null +++ b/src/main/java/com/schematic/api/types/StripeIntegrationConfig.java @@ -0,0 +1,389 @@ +/** + * 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; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = StripeIntegrationConfig.Builder.class) +public final class StripeIntegrationConfig { + private final Optional accountId; + + private final Optional accountName; + + private final Optional companyUpdateOnly; + + private final boolean isSandbox; + + private final boolean liveMode; + + private final Optional onboardUrl; + + private final int version; + + private final Map additionalProperties; + + private StripeIntegrationConfig( + Optional accountId, + Optional accountName, + Optional companyUpdateOnly, + boolean isSandbox, + boolean liveMode, + Optional onboardUrl, + int version, + Map additionalProperties) { + this.accountId = accountId; + this.accountName = accountName; + this.companyUpdateOnly = companyUpdateOnly; + this.isSandbox = isSandbox; + this.liveMode = liveMode; + this.onboardUrl = onboardUrl; + this.version = version; + this.additionalProperties = additionalProperties; + } + + /** + * @return Connected Stripe account ID (acct_*) + */ + @JsonProperty("account_id") + public Optional getAccountId() { + return accountId; + } + + /** + * @return Display name of the connected Stripe account + */ + @JsonProperty("account_name") + public Optional getAccountName() { + return accountName; + } + + /** + * @return When importing Stripe customers, only update existing companies, do not create new companies + */ + @JsonProperty("company_update_only") + public Optional getCompanyUpdateOnly() { + return companyUpdateOnly; + } + + /** + * @return Whether the integration is connected to a Stripe sandbox account + */ + @JsonProperty("is_sandbox") + public boolean getIsSandbox() { + return isSandbox; + } + + /** + * @return Whether the integration is connected to a live Stripe account + */ + @JsonProperty("live_mode") + public boolean getLiveMode() { + return liveMode; + } + + /** + * @return Onboarding URL returned during the v2 (Connect) install flow before activation + */ + @JsonProperty("onboard_url") + public Optional getOnboardUrl() { + return onboardUrl; + } + + /** + * @return Stripe integration config version (1 = legacy API key install, 2 = Connect/App install) + */ + @JsonProperty("version") + public int getVersion() { + return version; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof StripeIntegrationConfig && equalTo((StripeIntegrationConfig) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(StripeIntegrationConfig other) { + return accountId.equals(other.accountId) + && accountName.equals(other.accountName) + && companyUpdateOnly.equals(other.companyUpdateOnly) + && isSandbox == other.isSandbox + && liveMode == other.liveMode + && onboardUrl.equals(other.onboardUrl) + && version == other.version; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.accountId, + this.accountName, + this.companyUpdateOnly, + this.isSandbox, + this.liveMode, + this.onboardUrl, + this.version); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IsSandboxStage builder() { + return new Builder(); + } + + public interface IsSandboxStage { + /** + *

Whether the integration is connected to a Stripe sandbox account

+ */ + LiveModeStage isSandbox(boolean isSandbox); + + Builder from(StripeIntegrationConfig other); + } + + public interface LiveModeStage { + /** + *

Whether the integration is connected to a live Stripe account

+ */ + VersionStage liveMode(boolean liveMode); + } + + public interface VersionStage { + /** + *

Stripe integration config version (1 = legacy API key install, 2 = Connect/App install)

+ */ + _FinalStage version(int version); + } + + public interface _FinalStage { + StripeIntegrationConfig build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + /** + *

Connected Stripe account ID (acct_*)

+ */ + _FinalStage accountId(Optional accountId); + + _FinalStage accountId(String accountId); + + /** + *

Display name of the connected Stripe account

+ */ + _FinalStage accountName(Optional accountName); + + _FinalStage accountName(String accountName); + + /** + *

When importing Stripe customers, only update existing companies, do not create new companies

+ */ + _FinalStage companyUpdateOnly(Optional companyUpdateOnly); + + _FinalStage companyUpdateOnly(Boolean companyUpdateOnly); + + /** + *

Onboarding URL returned during the v2 (Connect) install flow before activation

+ */ + _FinalStage onboardUrl(Optional onboardUrl); + + _FinalStage onboardUrl(String onboardUrl); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements IsSandboxStage, LiveModeStage, VersionStage, _FinalStage { + private boolean isSandbox; + + private boolean liveMode; + + private int version; + + private Optional onboardUrl = Optional.empty(); + + private Optional companyUpdateOnly = Optional.empty(); + + private Optional accountName = Optional.empty(); + + private Optional accountId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(StripeIntegrationConfig other) { + accountId(other.getAccountId()); + accountName(other.getAccountName()); + companyUpdateOnly(other.getCompanyUpdateOnly()); + isSandbox(other.getIsSandbox()); + liveMode(other.getLiveMode()); + onboardUrl(other.getOnboardUrl()); + version(other.getVersion()); + return this; + } + + /** + *

Whether the integration is connected to a Stripe sandbox account

+ *

Whether the integration is connected to a Stripe sandbox account

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("is_sandbox") + public LiveModeStage isSandbox(boolean isSandbox) { + this.isSandbox = isSandbox; + return this; + } + + /** + *

Whether the integration is connected to a live Stripe account

+ *

Whether the integration is connected to a live Stripe account

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("live_mode") + public VersionStage liveMode(boolean liveMode) { + this.liveMode = liveMode; + return this; + } + + /** + *

Stripe integration config version (1 = legacy API key install, 2 = Connect/App install)

+ *

Stripe integration config version (1 = legacy API key install, 2 = Connect/App install)

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + @JsonSetter("version") + public _FinalStage version(int version) { + this.version = version; + return this; + } + + /** + *

Onboarding URL returned during the v2 (Connect) install flow before activation

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage onboardUrl(String onboardUrl) { + this.onboardUrl = Optional.ofNullable(onboardUrl); + return this; + } + + /** + *

Onboarding URL returned during the v2 (Connect) install flow before activation

+ */ + @java.lang.Override + @JsonSetter(value = "onboard_url", nulls = Nulls.SKIP) + public _FinalStage onboardUrl(Optional onboardUrl) { + this.onboardUrl = onboardUrl; + return this; + } + + /** + *

When importing Stripe customers, only update existing companies, do not create new companies

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage companyUpdateOnly(Boolean companyUpdateOnly) { + this.companyUpdateOnly = Optional.ofNullable(companyUpdateOnly); + return this; + } + + /** + *

When importing Stripe customers, only update existing companies, do not create new companies

+ */ + @java.lang.Override + @JsonSetter(value = "company_update_only", nulls = Nulls.SKIP) + public _FinalStage companyUpdateOnly(Optional companyUpdateOnly) { + this.companyUpdateOnly = companyUpdateOnly; + return this; + } + + /** + *

Display name of the connected Stripe account

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage accountName(String accountName) { + this.accountName = Optional.ofNullable(accountName); + return this; + } + + /** + *

Display name of the connected Stripe account

+ */ + @java.lang.Override + @JsonSetter(value = "account_name", nulls = Nulls.SKIP) + public _FinalStage accountName(Optional accountName) { + this.accountName = accountName; + return this; + } + + /** + *

Connected Stripe account ID (acct_*)

+ * @return Reference to {@code this} so that method calls can be chained together. + */ + @java.lang.Override + public _FinalStage accountId(String accountId) { + this.accountId = Optional.ofNullable(accountId); + return this; + } + + /** + *

Connected Stripe account ID (acct_*)

+ */ + @java.lang.Override + @JsonSetter(value = "account_id", nulls = Nulls.SKIP) + public _FinalStage accountId(Optional accountId) { + this.accountId = accountId; + return this; + } + + @java.lang.Override + public StripeIntegrationConfig build() { + return new StripeIntegrationConfig( + accountId, + accountName, + companyUpdateOnly, + isSandbox, + liveMode, + onboardUrl, + version, + 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/UpdateAutoTopupOverrideRequestBody.java b/src/main/java/com/schematic/api/types/UpdateAutoTopupOverrideRequestBody.java new file mode 100644 index 0000000..0b5217f --- /dev/null +++ b/src/main/java/com/schematic/api/types/UpdateAutoTopupOverrideRequestBody.java @@ -0,0 +1,219 @@ +/** + * 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 = UpdateAutoTopupOverrideRequestBody.Builder.class) +public final class UpdateAutoTopupOverrideRequestBody { + private final Optional autoTopupAmount; + + private final Optional autoTopupEnabled; + + private final Optional autoTopupThresholdCredits; + + private final String planCreditGrantId; + + private final Map additionalProperties; + + private UpdateAutoTopupOverrideRequestBody( + Optional autoTopupAmount, + Optional autoTopupEnabled, + Optional autoTopupThresholdCredits, + String planCreditGrantId, + Map additionalProperties) { + this.autoTopupAmount = autoTopupAmount; + this.autoTopupEnabled = autoTopupEnabled; + this.autoTopupThresholdCredits = autoTopupThresholdCredits; + this.planCreditGrantId = planCreditGrantId; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("auto_topup_amount") + public Optional getAutoTopupAmount() { + return autoTopupAmount; + } + + @JsonProperty("auto_topup_enabled") + public Optional getAutoTopupEnabled() { + return autoTopupEnabled; + } + + @JsonProperty("auto_topup_threshold_credits") + public Optional getAutoTopupThresholdCredits() { + return autoTopupThresholdCredits; + } + + @JsonProperty("plan_credit_grant_id") + public String getPlanCreditGrantId() { + return planCreditGrantId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof UpdateAutoTopupOverrideRequestBody + && equalTo((UpdateAutoTopupOverrideRequestBody) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(UpdateAutoTopupOverrideRequestBody other) { + return autoTopupAmount.equals(other.autoTopupAmount) + && autoTopupEnabled.equals(other.autoTopupEnabled) + && autoTopupThresholdCredits.equals(other.autoTopupThresholdCredits) + && planCreditGrantId.equals(other.planCreditGrantId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.autoTopupAmount, this.autoTopupEnabled, this.autoTopupThresholdCredits, this.planCreditGrantId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static PlanCreditGrantIdStage builder() { + return new Builder(); + } + + public interface PlanCreditGrantIdStage { + _FinalStage planCreditGrantId(@NotNull String planCreditGrantId); + + Builder from(UpdateAutoTopupOverrideRequestBody other); + } + + public interface _FinalStage { + UpdateAutoTopupOverrideRequestBody build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage autoTopupAmount(Optional autoTopupAmount); + + _FinalStage autoTopupAmount(Long autoTopupAmount); + + _FinalStage autoTopupEnabled(Optional autoTopupEnabled); + + _FinalStage autoTopupEnabled(Boolean autoTopupEnabled); + + _FinalStage autoTopupThresholdCredits(Optional autoTopupThresholdCredits); + + _FinalStage autoTopupThresholdCredits(Long autoTopupThresholdCredits); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements PlanCreditGrantIdStage, _FinalStage { + private String planCreditGrantId; + + private Optional autoTopupThresholdCredits = Optional.empty(); + + private Optional autoTopupEnabled = Optional.empty(); + + private Optional autoTopupAmount = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(UpdateAutoTopupOverrideRequestBody other) { + autoTopupAmount(other.getAutoTopupAmount()); + autoTopupEnabled(other.getAutoTopupEnabled()); + autoTopupThresholdCredits(other.getAutoTopupThresholdCredits()); + planCreditGrantId(other.getPlanCreditGrantId()); + return this; + } + + @java.lang.Override + @JsonSetter("plan_credit_grant_id") + public _FinalStage planCreditGrantId(@NotNull String planCreditGrantId) { + this.planCreditGrantId = Objects.requireNonNull(planCreditGrantId, "planCreditGrantId must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage autoTopupThresholdCredits(Long autoTopupThresholdCredits) { + this.autoTopupThresholdCredits = Optional.ofNullable(autoTopupThresholdCredits); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_threshold_credits", nulls = Nulls.SKIP) + public _FinalStage autoTopupThresholdCredits(Optional autoTopupThresholdCredits) { + this.autoTopupThresholdCredits = autoTopupThresholdCredits; + return this; + } + + @java.lang.Override + public _FinalStage autoTopupEnabled(Boolean autoTopupEnabled) { + this.autoTopupEnabled = Optional.ofNullable(autoTopupEnabled); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_enabled", nulls = Nulls.SKIP) + public _FinalStage autoTopupEnabled(Optional autoTopupEnabled) { + this.autoTopupEnabled = autoTopupEnabled; + return this; + } + + @java.lang.Override + public _FinalStage autoTopupAmount(Long autoTopupAmount) { + this.autoTopupAmount = Optional.ofNullable(autoTopupAmount); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_amount", nulls = Nulls.SKIP) + public _FinalStage autoTopupAmount(Optional autoTopupAmount) { + this.autoTopupAmount = autoTopupAmount; + return this; + } + + @java.lang.Override + public UpdateAutoTopupOverrideRequestBody build() { + return new UpdateAutoTopupOverrideRequestBody( + autoTopupAmount, + autoTopupEnabled, + autoTopupThresholdCredits, + planCreditGrantId, + 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/UpdateBillingPlanCreditGrantRequestBody.java b/src/main/java/com/schematic/api/types/UpdateBillingPlanCreditGrantRequestBody.java index a705a2c..ff64498 100644 --- a/src/main/java/com/schematic/api/types/UpdateBillingPlanCreditGrantRequestBody.java +++ b/src/main/java/com/schematic/api/types/UpdateBillingPlanCreditGrantRequestBody.java @@ -35,6 +35,8 @@ public final class UpdateBillingPlanCreditGrantRequestBody { private final Optional autoTopupExpiryUnitCount; + private final Optional autoTopupSelfService; + private final Optional autoTopupThresholdCredits; private final Optional autoTopupThresholdPercent; @@ -63,6 +65,7 @@ private UpdateBillingPlanCreditGrantRequestBody( Optional autoTopupExpiryType, Optional autoTopupExpiryUnit, Optional autoTopupExpiryUnitCount, + Optional autoTopupSelfService, Optional autoTopupThresholdCredits, Optional autoTopupThresholdPercent, Optional creditAmount, @@ -80,6 +83,7 @@ private UpdateBillingPlanCreditGrantRequestBody( this.autoTopupExpiryType = autoTopupExpiryType; this.autoTopupExpiryUnit = autoTopupExpiryUnit; this.autoTopupExpiryUnitCount = autoTopupExpiryUnitCount; + this.autoTopupSelfService = autoTopupSelfService; this.autoTopupThresholdCredits = autoTopupThresholdCredits; this.autoTopupThresholdPercent = autoTopupThresholdPercent; this.creditAmount = creditAmount; @@ -127,6 +131,11 @@ public Optional getAutoTopupExpiryUnitCount() { return autoTopupExpiryUnitCount; } + @JsonProperty("auto_topup_self_service") + public Optional getAutoTopupSelfService() { + return autoTopupSelfService; + } + @JsonProperty("auto_topup_threshold_credits") public Optional getAutoTopupThresholdCredits() { return autoTopupThresholdCredits; @@ -192,6 +201,7 @@ private boolean equalTo(UpdateBillingPlanCreditGrantRequestBody other) { && autoTopupExpiryType.equals(other.autoTopupExpiryType) && autoTopupExpiryUnit.equals(other.autoTopupExpiryUnit) && autoTopupExpiryUnitCount.equals(other.autoTopupExpiryUnitCount) + && autoTopupSelfService.equals(other.autoTopupSelfService) && autoTopupThresholdCredits.equals(other.autoTopupThresholdCredits) && autoTopupThresholdPercent.equals(other.autoTopupThresholdPercent) && creditAmount.equals(other.creditAmount) @@ -213,6 +223,7 @@ public int hashCode() { this.autoTopupExpiryType, this.autoTopupExpiryUnit, this.autoTopupExpiryUnitCount, + this.autoTopupSelfService, this.autoTopupThresholdCredits, this.autoTopupThresholdPercent, this.creditAmount, @@ -278,6 +289,10 @@ public interface _FinalStage { _FinalStage autoTopupExpiryUnitCount(Long autoTopupExpiryUnitCount); + _FinalStage autoTopupSelfService(Optional autoTopupSelfService); + + _FinalStage autoTopupSelfService(Boolean autoTopupSelfService); + _FinalStage autoTopupThresholdCredits(Optional autoTopupThresholdCredits); _FinalStage autoTopupThresholdCredits(Long autoTopupThresholdCredits); @@ -327,6 +342,8 @@ public static final class Builder implements ResetCadenceStage, ResetStartStage, private Optional autoTopupThresholdCredits = Optional.empty(); + private Optional autoTopupSelfService = Optional.empty(); + private Optional autoTopupExpiryUnitCount = Optional.empty(); private Optional autoTopupExpiryUnit = Optional.empty(); @@ -355,6 +372,7 @@ public Builder from(UpdateBillingPlanCreditGrantRequestBody other) { autoTopupExpiryType(other.getAutoTopupExpiryType()); autoTopupExpiryUnit(other.getAutoTopupExpiryUnit()); autoTopupExpiryUnitCount(other.getAutoTopupExpiryUnitCount()); + autoTopupSelfService(other.getAutoTopupSelfService()); autoTopupThresholdCredits(other.getAutoTopupThresholdCredits()); autoTopupThresholdPercent(other.getAutoTopupThresholdPercent()); creditAmount(other.getCreditAmount()); @@ -472,6 +490,19 @@ public _FinalStage autoTopupThresholdCredits(Optional autoTopupThresholdCr return this; } + @java.lang.Override + public _FinalStage autoTopupSelfService(Boolean autoTopupSelfService) { + this.autoTopupSelfService = Optional.ofNullable(autoTopupSelfService); + return this; + } + + @java.lang.Override + @JsonSetter(value = "auto_topup_self_service", nulls = Nulls.SKIP) + public _FinalStage autoTopupSelfService(Optional autoTopupSelfService) { + this.autoTopupSelfService = autoTopupSelfService; + return this; + } + @java.lang.Override public _FinalStage autoTopupExpiryUnitCount(Long autoTopupExpiryUnitCount) { this.autoTopupExpiryUnitCount = Optional.ofNullable(autoTopupExpiryUnitCount); @@ -573,6 +604,7 @@ public UpdateBillingPlanCreditGrantRequestBody build() { autoTopupExpiryType, autoTopupExpiryUnit, autoTopupExpiryUnitCount, + autoTopupSelfService, autoTopupThresholdCredits, autoTopupThresholdPercent, creditAmount,