From 3136409cf487bc26eed1e16ffd23c9e3ce0a51f3 Mon Sep 17 00:00:00 2001 From: polytomic-sdk-bot Date: Tue, 2 Jul 2024 23:35:15 +0000 Subject: [PATCH] Release 1.7.0 --- build.gradle | 2 +- .../com/polytomic/api/core/ClientOptions.java | 2 +- .../bulksync/executions/ExecutionsClient.java | 50 +++ .../requests/ExecutionsListStatusRequest.java | 152 ++++++++++ .../requests/CreateModelSyncRequest.java | 19 +- .../requests/UpdateModelSyncRequest.java | 19 +- .../api/types/BulkSyncExecutionStatus.java | 171 +++++++++++ .../types/BulkSyncSchemaExecutionStatus.java | 286 ++++++++++++++++++ .../ListBulkSyncExecutionStatusEnvelope.java | 98 ++++++ .../polytomic/api/types/ModelSyncField.java | 74 +++-- 10 files changed, 843 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/polytomic/api/resources/bulksync/executions/requests/ExecutionsListStatusRequest.java create mode 100644 src/main/java/com/polytomic/api/types/BulkSyncExecutionStatus.java create mode 100644 src/main/java/com/polytomic/api/types/BulkSyncSchemaExecutionStatus.java create mode 100644 src/main/java/com/polytomic/api/types/ListBulkSyncExecutionStatusEnvelope.java diff --git a/build.gradle b/build.gradle index 5c85201..778fb08 100644 --- a/build.gradle +++ b/build.gradle @@ -46,7 +46,7 @@ publishing { maven(MavenPublication) { groupId = 'com.polytomic' artifactId = 'polytomic-java' - version = '1.6.3' + version = '1.7.0' from components.java pom { licenses { diff --git a/src/main/java/com/polytomic/api/core/ClientOptions.java b/src/main/java/com/polytomic/api/core/ClientOptions.java index e3fee1f..2aa77d8 100644 --- a/src/main/java/com/polytomic/api/core/ClientOptions.java +++ b/src/main/java/com/polytomic/api/core/ClientOptions.java @@ -30,7 +30,7 @@ private ClientOptions( { put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.polytomic.fern:api-sdk"); - put("X-Fern-SDK-Version", "1.6.3"); + put("X-Fern-SDK-Version", "1.7.0"); } }); this.headerSuppliers = headerSuppliers; diff --git a/src/main/java/com/polytomic/api/resources/bulksync/executions/ExecutionsClient.java b/src/main/java/com/polytomic/api/resources/bulksync/executions/ExecutionsClient.java index a547b8e..70ab317 100644 --- a/src/main/java/com/polytomic/api/resources/bulksync/executions/ExecutionsClient.java +++ b/src/main/java/com/polytomic/api/resources/bulksync/executions/ExecutionsClient.java @@ -7,7 +7,9 @@ import com.polytomic.api.core.ClientOptions; import com.polytomic.api.core.ObjectMappers; import com.polytomic.api.core.RequestOptions; +import com.polytomic.api.resources.bulksync.executions.requests.ExecutionsListStatusRequest; import com.polytomic.api.types.BulkSyncExecutionEnvelope; +import com.polytomic.api.types.ListBulkSyncExecutionStatusEnvelope; import com.polytomic.api.types.ListBulkSyncExecutionsEnvelope; import java.io.IOException; import okhttp3.Headers; @@ -24,6 +26,54 @@ public ExecutionsClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; } + public ListBulkSyncExecutionStatusEnvelope listStatus() { + return listStatus(ExecutionsListStatusRequest.builder().build()); + } + + public ListBulkSyncExecutionStatusEnvelope listStatus(ExecutionsListStatusRequest request) { + return listStatus(request, null); + } + + public ListBulkSyncExecutionStatusEnvelope listStatus( + ExecutionsListStatusRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("api/bulk/syncs/status"); + if (request.getAll().isPresent()) { + httpUrl.addQueryParameter("all", request.getAll().get().toString()); + } + if (request.getActive().isPresent()) { + httpUrl.addQueryParameter("active", request.getActive().get().toString()); + } + if (request.getSyncId().isPresent()) { + httpUrl.addQueryParameter("sync_id", request.getSyncId().get()); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Content-Type", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + try { + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + Response response = client.newCall(okhttpRequest).execute(); + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return ObjectMappers.JSON_MAPPER.readValue( + responseBody.string(), ListBulkSyncExecutionStatusEnvelope.class); + } + throw new ApiError( + response.code(), + ObjectMappers.JSON_MAPPER.readValue( + responseBody != null ? responseBody.string() : "{}", Object.class)); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + public ListBulkSyncExecutionsEnvelope list(String id) { return list(id, null); } diff --git a/src/main/java/com/polytomic/api/resources/bulksync/executions/requests/ExecutionsListStatusRequest.java b/src/main/java/com/polytomic/api/resources/bulksync/executions/requests/ExecutionsListStatusRequest.java new file mode 100644 index 0000000..14add2b --- /dev/null +++ b/src/main/java/com/polytomic/api/resources/bulksync/executions/requests/ExecutionsListStatusRequest.java @@ -0,0 +1,152 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.polytomic.api.resources.bulksync.executions.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.polytomic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = ExecutionsListStatusRequest.Builder.class) +public final class ExecutionsListStatusRequest { + private final Optional all; + + private final Optional active; + + private final Optional syncId; + + private final Map additionalProperties; + + private ExecutionsListStatusRequest( + Optional all, + Optional active, + Optional syncId, + Map additionalProperties) { + this.all = all; + this.active = active; + this.syncId = syncId; + this.additionalProperties = additionalProperties; + } + + /** + * @return Return the execution status of all syncs in the organization + */ + @JsonProperty("all") + public Optional getAll() { + return all; + } + + /** + * @return Return the execution status of all active syncs in the organization + */ + @JsonProperty("active") + public Optional getActive() { + return active; + } + + /** + * @return Return the execution status of the specified sync; this may be supplied multiple times. + */ + @JsonProperty("sync_id") + public Optional getSyncId() { + return syncId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ExecutionsListStatusRequest && equalTo((ExecutionsListStatusRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ExecutionsListStatusRequest other) { + return all.equals(other.all) && active.equals(other.active) && syncId.equals(other.syncId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.all, this.active, this.syncId); + } + + @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 all = Optional.empty(); + + private Optional active = Optional.empty(); + + private Optional syncId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ExecutionsListStatusRequest other) { + all(other.getAll()); + active(other.getActive()); + syncId(other.getSyncId()); + return this; + } + + @JsonSetter(value = "all", nulls = Nulls.SKIP) + public Builder all(Optional all) { + this.all = all; + return this; + } + + public Builder all(Boolean all) { + this.all = Optional.of(all); + return this; + } + + @JsonSetter(value = "active", nulls = Nulls.SKIP) + public Builder active(Optional active) { + this.active = active; + return this; + } + + public Builder active(Boolean active) { + this.active = Optional.of(active); + return this; + } + + @JsonSetter(value = "sync_id", nulls = Nulls.SKIP) + public Builder syncId(Optional syncId) { + this.syncId = syncId; + return this; + } + + public Builder syncId(String syncId) { + this.syncId = Optional.of(syncId); + return this; + } + + public ExecutionsListStatusRequest build() { + return new ExecutionsListStatusRequest(all, active, syncId, additionalProperties); + } + } +} diff --git a/src/main/java/com/polytomic/api/resources/modelsync/requests/CreateModelSyncRequest.java b/src/main/java/com/polytomic/api/resources/modelsync/requests/CreateModelSyncRequest.java index 8412168..cc26b91 100644 --- a/src/main/java/com/polytomic/api/resources/modelsync/requests/CreateModelSyncRequest.java +++ b/src/main/java/com/polytomic/api/resources/modelsync/requests/CreateModelSyncRequest.java @@ -106,6 +106,9 @@ public Optional getEnricher() { return enricher; } + /** + * @return Fields to sync from source to target. + */ @JsonProperty("fields") public List getFields() { return fields; @@ -142,7 +145,7 @@ public Optional getOrganizationId() { } /** - * @return Values to set as sync target fields. + * @return Values to set in the target unconditionally. */ @JsonProperty("override_fields") public Optional> getOverrideFields() { @@ -150,7 +153,7 @@ public Optional> getOverrideFields() { } /** - * @return Conditional value replacement for field mappings. + * @return Conditional value replacement for fields. */ @JsonProperty("overrides") public Optional> getOverrides() { @@ -415,7 +418,7 @@ public _FinalStage policies(Optional> policies) { } /** - *

Conditional value replacement for field mappings.

+ *

Conditional value replacement for fields.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -432,7 +435,7 @@ public _FinalStage overrides(Optional> overrides) { } /** - *

Values to set as sync target fields.

+ *

Values to set in the target unconditionally.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -500,12 +503,20 @@ public _FinalStage filterLogic(Optional filterLogic) { return this; } + /** + *

Fields to sync from source to target.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override public _FinalStage addAllFields(List fields) { this.fields.addAll(fields); return this; } + /** + *

Fields to sync from source to target.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override public _FinalStage addFields(ModelSyncField fields) { this.fields.add(fields); diff --git a/src/main/java/com/polytomic/api/resources/modelsync/requests/UpdateModelSyncRequest.java b/src/main/java/com/polytomic/api/resources/modelsync/requests/UpdateModelSyncRequest.java index 10fd6f4..5362154 100644 --- a/src/main/java/com/polytomic/api/resources/modelsync/requests/UpdateModelSyncRequest.java +++ b/src/main/java/com/polytomic/api/resources/modelsync/requests/UpdateModelSyncRequest.java @@ -106,6 +106,9 @@ public Optional getEnricher() { return enricher; } + /** + * @return Fields to sync from source to target. + */ @JsonProperty("fields") public List getFields() { return fields; @@ -142,7 +145,7 @@ public Optional getOrganizationId() { } /** - * @return Values to set as sync target fields. + * @return Values to set in the target unconditionally. */ @JsonProperty("override_fields") public Optional> getOverrideFields() { @@ -150,7 +153,7 @@ public Optional> getOverrideFields() { } /** - * @return Conditional value replacement for field mappings. + * @return Conditional value replacement for fields. */ @JsonProperty("overrides") public Optional> getOverrides() { @@ -415,7 +418,7 @@ public _FinalStage policies(Optional> policies) { } /** - *

Conditional value replacement for field mappings.

+ *

Conditional value replacement for fields.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -432,7 +435,7 @@ public _FinalStage overrides(Optional> overrides) { } /** - *

Values to set as sync target fields.

+ *

Values to set in the target unconditionally.

* @return Reference to {@code this} so that method calls can be chained together. */ @java.lang.Override @@ -500,12 +503,20 @@ public _FinalStage filterLogic(Optional filterLogic) { return this; } + /** + *

Fields to sync from source to target.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override public _FinalStage addAllFields(List fields) { this.fields.addAll(fields); return this; } + /** + *

Fields to sync from source to target.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override public _FinalStage addFields(ModelSyncField fields) { this.fields.add(fields); diff --git a/src/main/java/com/polytomic/api/types/BulkSyncExecutionStatus.java b/src/main/java/com/polytomic/api/types/BulkSyncExecutionStatus.java new file mode 100644 index 0000000..87fe2a9 --- /dev/null +++ b/src/main/java/com/polytomic/api/types/BulkSyncExecutionStatus.java @@ -0,0 +1,171 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.polytomic.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.polytomic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BulkSyncExecutionStatus.Builder.class) +public final class BulkSyncExecutionStatus { + private final Optional nextExecutionTime; + + private final Optional> schemas; + + private final Optional status; + + private final Optional syncId; + + private final Map additionalProperties; + + private BulkSyncExecutionStatus( + Optional nextExecutionTime, + Optional> schemas, + Optional status, + Optional syncId, + Map additionalProperties) { + this.nextExecutionTime = nextExecutionTime; + this.schemas = schemas; + this.status = status; + this.syncId = syncId; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("nextExecutionTime") + public Optional getNextExecutionTime() { + return nextExecutionTime; + } + + @JsonProperty("schemas") + public Optional> getSchemas() { + return schemas; + } + + @JsonProperty("status") + public Optional getStatus() { + return status; + } + + @JsonProperty("sync_id") + public Optional getSyncId() { + return syncId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BulkSyncExecutionStatus && equalTo((BulkSyncExecutionStatus) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BulkSyncExecutionStatus other) { + return nextExecutionTime.equals(other.nextExecutionTime) + && schemas.equals(other.schemas) + && status.equals(other.status) + && syncId.equals(other.syncId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.nextExecutionTime, this.schemas, this.status, this.syncId); + } + + @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 nextExecutionTime = Optional.empty(); + + private Optional> schemas = Optional.empty(); + + private Optional status = Optional.empty(); + + private Optional syncId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BulkSyncExecutionStatus other) { + nextExecutionTime(other.getNextExecutionTime()); + schemas(other.getSchemas()); + status(other.getStatus()); + syncId(other.getSyncId()); + return this; + } + + @JsonSetter(value = "nextExecutionTime", nulls = Nulls.SKIP) + public Builder nextExecutionTime(Optional nextExecutionTime) { + this.nextExecutionTime = nextExecutionTime; + return this; + } + + public Builder nextExecutionTime(OffsetDateTime nextExecutionTime) { + this.nextExecutionTime = Optional.of(nextExecutionTime); + return this; + } + + @JsonSetter(value = "schemas", nulls = Nulls.SKIP) + public Builder schemas(Optional> schemas) { + this.schemas = schemas; + return this; + } + + public Builder schemas(List schemas) { + this.schemas = Optional.of(schemas); + return this; + } + + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public Builder status(Optional status) { + this.status = status; + return this; + } + + public Builder status(BulkExecutionStatus status) { + this.status = Optional.of(status); + return this; + } + + @JsonSetter(value = "sync_id", nulls = Nulls.SKIP) + public Builder syncId(Optional syncId) { + this.syncId = syncId; + return this; + } + + public Builder syncId(String syncId) { + this.syncId = Optional.of(syncId); + return this; + } + + public BulkSyncExecutionStatus build() { + return new BulkSyncExecutionStatus(nextExecutionTime, schemas, status, syncId, additionalProperties); + } + } +} diff --git a/src/main/java/com/polytomic/api/types/BulkSyncSchemaExecutionStatus.java b/src/main/java/com/polytomic/api/types/BulkSyncSchemaExecutionStatus.java new file mode 100644 index 0000000..43a9b1d --- /dev/null +++ b/src/main/java/com/polytomic/api/types/BulkSyncSchemaExecutionStatus.java @@ -0,0 +1,286 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.polytomic.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.polytomic.api.core.ObjectMappers; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = BulkSyncSchemaExecutionStatus.Builder.class) +public final class BulkSyncSchemaExecutionStatus { + private final Optional completedAt; + + private final Optional errorCount; + + private final Optional executionId; + + private final Optional recordCount; + + private final Optional schema; + + private final Optional startedAt; + + private final Optional status; + + private final Optional statusMessage; + + private final Map additionalProperties; + + private BulkSyncSchemaExecutionStatus( + Optional completedAt, + Optional errorCount, + Optional executionId, + Optional recordCount, + Optional schema, + Optional startedAt, + Optional status, + Optional statusMessage, + Map additionalProperties) { + this.completedAt = completedAt; + this.errorCount = errorCount; + this.executionId = executionId; + this.recordCount = recordCount; + this.schema = schema; + this.startedAt = startedAt; + this.status = status; + this.statusMessage = statusMessage; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("completed_at") + public Optional getCompletedAt() { + return completedAt; + } + + @JsonProperty("error_count") + public Optional getErrorCount() { + return errorCount; + } + + /** + * @return ID of the most recent execution for the schema. + */ + @JsonProperty("execution_id") + public Optional getExecutionId() { + return executionId; + } + + @JsonProperty("record_count") + public Optional getRecordCount() { + return recordCount; + } + + @JsonProperty("schema") + public Optional getSchema() { + return schema; + } + + @JsonProperty("started_at") + public Optional getStartedAt() { + return startedAt; + } + + @JsonProperty("status") + public Optional getStatus() { + return status; + } + + @JsonProperty("status_message") + public Optional getStatusMessage() { + return statusMessage; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof BulkSyncSchemaExecutionStatus && equalTo((BulkSyncSchemaExecutionStatus) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(BulkSyncSchemaExecutionStatus other) { + return completedAt.equals(other.completedAt) + && errorCount.equals(other.errorCount) + && executionId.equals(other.executionId) + && recordCount.equals(other.recordCount) + && schema.equals(other.schema) + && startedAt.equals(other.startedAt) + && status.equals(other.status) + && statusMessage.equals(other.statusMessage); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.completedAt, + this.errorCount, + this.executionId, + this.recordCount, + this.schema, + this.startedAt, + this.status, + this.statusMessage); + } + + @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 completedAt = Optional.empty(); + + private Optional errorCount = Optional.empty(); + + private Optional executionId = Optional.empty(); + + private Optional recordCount = Optional.empty(); + + private Optional schema = Optional.empty(); + + private Optional startedAt = Optional.empty(); + + private Optional status = Optional.empty(); + + private Optional statusMessage = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(BulkSyncSchemaExecutionStatus other) { + completedAt(other.getCompletedAt()); + errorCount(other.getErrorCount()); + executionId(other.getExecutionId()); + recordCount(other.getRecordCount()); + schema(other.getSchema()); + startedAt(other.getStartedAt()); + status(other.getStatus()); + statusMessage(other.getStatusMessage()); + return this; + } + + @JsonSetter(value = "completed_at", nulls = Nulls.SKIP) + public Builder completedAt(Optional completedAt) { + this.completedAt = completedAt; + return this; + } + + public Builder completedAt(OffsetDateTime completedAt) { + this.completedAt = Optional.of(completedAt); + return this; + } + + @JsonSetter(value = "error_count", nulls = Nulls.SKIP) + public Builder errorCount(Optional errorCount) { + this.errorCount = errorCount; + return this; + } + + public Builder errorCount(Integer errorCount) { + this.errorCount = Optional.of(errorCount); + return this; + } + + @JsonSetter(value = "execution_id", nulls = Nulls.SKIP) + public Builder executionId(Optional executionId) { + this.executionId = executionId; + return this; + } + + public Builder executionId(String executionId) { + this.executionId = Optional.of(executionId); + return this; + } + + @JsonSetter(value = "record_count", nulls = Nulls.SKIP) + public Builder recordCount(Optional recordCount) { + this.recordCount = recordCount; + return this; + } + + public Builder recordCount(Integer recordCount) { + this.recordCount = Optional.of(recordCount); + return this; + } + + @JsonSetter(value = "schema", nulls = Nulls.SKIP) + public Builder schema(Optional schema) { + this.schema = schema; + return this; + } + + public Builder schema(String schema) { + this.schema = Optional.of(schema); + return this; + } + + @JsonSetter(value = "started_at", nulls = Nulls.SKIP) + public Builder startedAt(Optional startedAt) { + this.startedAt = startedAt; + return this; + } + + public Builder startedAt(OffsetDateTime startedAt) { + this.startedAt = Optional.of(startedAt); + return this; + } + + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public Builder status(Optional status) { + this.status = status; + return this; + } + + public Builder status(BulkSchemaExecutionStatus status) { + this.status = Optional.of(status); + return this; + } + + @JsonSetter(value = "status_message", nulls = Nulls.SKIP) + public Builder statusMessage(Optional statusMessage) { + this.statusMessage = statusMessage; + return this; + } + + public Builder statusMessage(String statusMessage) { + this.statusMessage = Optional.of(statusMessage); + return this; + } + + public BulkSyncSchemaExecutionStatus build() { + return new BulkSyncSchemaExecutionStatus( + completedAt, + errorCount, + executionId, + recordCount, + schema, + startedAt, + status, + statusMessage, + additionalProperties); + } + } +} diff --git a/src/main/java/com/polytomic/api/types/ListBulkSyncExecutionStatusEnvelope.java b/src/main/java/com/polytomic/api/types/ListBulkSyncExecutionStatusEnvelope.java new file mode 100644 index 0000000..c8a34d9 --- /dev/null +++ b/src/main/java/com/polytomic/api/types/ListBulkSyncExecutionStatusEnvelope.java @@ -0,0 +1,98 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.polytomic.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.polytomic.api.core.ObjectMappers; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +@JsonDeserialize(builder = ListBulkSyncExecutionStatusEnvelope.Builder.class) +public final class ListBulkSyncExecutionStatusEnvelope { + private final Optional> data; + + private final Map additionalProperties; + + private ListBulkSyncExecutionStatusEnvelope( + Optional> data, Map additionalProperties) { + this.data = data; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("data") + public Optional> getData() { + return data; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListBulkSyncExecutionStatusEnvelope + && equalTo((ListBulkSyncExecutionStatusEnvelope) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListBulkSyncExecutionStatusEnvelope other) { + return data.equals(other.data); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.data); + } + + @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> data = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ListBulkSyncExecutionStatusEnvelope other) { + data(other.getData()); + return this; + } + + @JsonSetter(value = "data", nulls = Nulls.SKIP) + public Builder data(Optional> data) { + this.data = data; + return this; + } + + public Builder data(List data) { + this.data = Optional.of(data); + return this; + } + + public ListBulkSyncExecutionStatusEnvelope build() { + return new ListBulkSyncExecutionStatusEnvelope(data, additionalProperties); + } + } +} diff --git a/src/main/java/com/polytomic/api/types/ModelSyncField.java b/src/main/java/com/polytomic/api/types/ModelSyncField.java index c38530b..e7fba8c 100644 --- a/src/main/java/com/polytomic/api/types/ModelSyncField.java +++ b/src/main/java/com/polytomic/api/types/ModelSyncField.java @@ -24,7 +24,7 @@ public final class ModelSyncField { private final Optional overrideValue; - private final Source source; + private final Optional source; private final Optional syncMode; @@ -35,7 +35,7 @@ public final class ModelSyncField { private ModelSyncField( Optional new_, Optional overrideValue, - Source source, + Optional source, Optional syncMode, String target, Map additionalProperties) { @@ -47,26 +47,38 @@ private ModelSyncField( this.additionalProperties = additionalProperties; } + /** + * @return New is set to true if the target field should be created by Polytomic. This is not supported by all backends. + */ @JsonProperty("new") public Optional getNew() { return new_; } + /** + * @return Value to set in the target field; if provided, 'source' is ignored. + */ @JsonProperty("override_value") public Optional getOverrideValue() { return overrideValue; } @JsonProperty("source") - public Source getSource() { + public Optional getSource() { return source; } + /** + * @return Sync mode for the field; defaults to 'updateOrCreate'. If set to 'create', the field will not be synced if it already has a value. This is not supported by all backends. + */ @JsonProperty("sync_mode") public Optional getSyncMode() { return syncMode; } + /** + * @return Target field ID the source field value will be written to. + */ @JsonProperty("target") public String getTarget() { return target; @@ -101,18 +113,14 @@ public String toString() { return ObjectMappers.stringify(this); } - public static SourceStage builder() { + public static TargetStage builder() { return new Builder(); } - public interface SourceStage { - TargetStage source(Source source); - - Builder from(ModelSyncField other); - } - public interface TargetStage { _FinalStage target(String target); + + Builder from(ModelSyncField other); } public interface _FinalStage { @@ -126,19 +134,23 @@ public interface _FinalStage { _FinalStage overrideValue(String overrideValue); + _FinalStage source(Optional source); + + _FinalStage source(Source source); + _FinalStage syncMode(Optional syncMode); _FinalStage syncMode(String syncMode); } @JsonIgnoreProperties(ignoreUnknown = true) - public static final class Builder implements SourceStage, TargetStage, _FinalStage { - private Source source; - + public static final class Builder implements TargetStage, _FinalStage { private String target; private Optional syncMode = Optional.empty(); + private Optional source = Optional.empty(); + private Optional overrideValue = Optional.empty(); private Optional new_ = Optional.empty(); @@ -158,13 +170,10 @@ public Builder from(ModelSyncField other) { return this; } - @java.lang.Override - @JsonSetter("source") - public TargetStage source(Source source) { - this.source = source; - return this; - } - + /** + *

Target field ID the source field value will be written to.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override @JsonSetter("target") public _FinalStage target(String target) { @@ -172,6 +181,10 @@ public _FinalStage target(String target) { return this; } + /** + *

Sync mode for the field; defaults to 'updateOrCreate'. If set to 'create', the field will not be synced if it already has a value. This is not supported by all backends.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override public _FinalStage syncMode(String syncMode) { this.syncMode = Optional.of(syncMode); @@ -185,6 +198,23 @@ public _FinalStage syncMode(Optional syncMode) { return this; } + @java.lang.Override + public _FinalStage source(Source source) { + this.source = Optional.of(source); + return this; + } + + @java.lang.Override + @JsonSetter(value = "source", nulls = Nulls.SKIP) + public _FinalStage source(Optional source) { + this.source = source; + return this; + } + + /** + *

Value to set in the target field; if provided, 'source' is ignored.

+ * @return Reference to {@code this} so that method calls can be chained together. + */ @java.lang.Override public _FinalStage overrideValue(String overrideValue) { this.overrideValue = Optional.of(overrideValue); @@ -198,6 +228,10 @@ public _FinalStage overrideValue(Optional overrideValue) { return this; } + /** + *

New is set to true if the target field should be created by Polytomic. This is not supported by all backends.

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