diff --git a/.fern/metadata.json b/.fern/metadata.json index e6b0f85..0757976 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -10,9 +10,9 @@ "base-exception-class-name": "CloudPDFException", "base-api-exception-class-name": "CloudPDFApiException" }, - "originGitCommit": "cfc415f2b7501e153280b32bcd6aa4af1353e860", + "originGitCommit": "33003769980b6b0155f602109c8e34cc0a2b432d", "originGitCommitIsDirty": false, "invokedBy": "ci", - "requestedVersion": "3.0.0-alpha.1", + "requestedVersion": "3.0.0-alpha.4", "ciProvider": "github" } \ No newline at end of file diff --git a/README.md b/README.md index 46f16e2..cd81580 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Instantiate and use the client with the following: package com.example.usage; import com.cloudpdf.CloudPDFClient; -import com.cloudpdf.resources.tenants.requests.TenantsCreateRequest; +import com.cloudpdf.resources.shares.requests.SharesExchangeRequest; public class Example { public static void main(String[] args) { @@ -39,10 +39,10 @@ public class Example { .token("") .build(); - client.tenants().create( - TenantsCreateRequest + client.shares().exchange( + SharesExchangeRequest .builder() - .id("id") + .shareToken("shareToken") .build() ); } @@ -70,7 +70,7 @@ When the API returns a non-success status code (4xx or 5xx response), an API exc import com.cloudpdf.core.CloudPDFApiException; try{ - client.tenants().create(...); + client.shares().exchange(...); } catch (CloudPDFApiException e){ // Do something with the API exception... } @@ -142,7 +142,7 @@ CloudPDFClient client = CloudPDFClient .build(); // Request level -client.tenants().create( +client.shares().exchange( ..., RequestOptions .builder() @@ -168,7 +168,7 @@ CloudPDFClient client = CloudPDFClient ; // Request level -client.tenants().create( +client.shares().exchange( ..., RequestOptions .builder() @@ -184,7 +184,7 @@ The `withRawResponse()` method returns a raw client that wraps all responses wit (A normal client's `response` is identical to a raw client's `response.body()`.) ```java -CloudPDFClientHttpResponse response = client.tenants().withRawResponse().create(...); +CloudPDFClientHttpResponse response = client.shares().withRawResponse().exchange(...); System.out.println(response.body()); System.out.println(response.headers().get("X-My-Header")); diff --git a/build.gradle b/build.gradle index 93b43e8..2ba006f 100644 --- a/build.gradle +++ b/build.gradle @@ -46,7 +46,7 @@ java { group = 'com.cloudpdf' -version = '3.0.0-alpha.1' +version = '3.0.0-alpha.4' jar { dependsOn(":generatePomFileForMavenPublication") @@ -73,7 +73,7 @@ publishing { maven(MavenPublication) { groupId = 'com.cloudpdf' artifactId = 'sdk' - version = '3.0.0-alpha.1' + version = '3.0.0-alpha.4' from components.java pom { name = 'CloudPDF' diff --git a/cloudpdf-generation.json b/cloudpdf-generation.json index 6ceea81..06c10f6 100644 --- a/cloudpdf-generation.json +++ b/cloudpdf-generation.json @@ -1,12 +1,12 @@ { "language": "java", - "canonicalVersion": "3.0.0-next.1", - "sdkVersion": "3.0.0-alpha.1", + "canonicalVersion": "3.0.0-next.4", + "sdkVersion": "3.0.0-alpha.4", "source": { "repository": "embedpdf/embed-pdf-viewer", "openapi": "cloudpdf/contract/openapi.json", - "openapiSha256": "6858ce7912e9063d8fb171ade95fc473db01c5971a3af241a612dda79cc05100", - "gitCommit": "cfc415f2b7501e153280b32bcd6aa4af1353e860", + "openapiSha256": "901c23684e7c9e33b5248942779b13537764a1d9065db815dd8aedb592c5ec59", + "gitCommit": "33003769980b6b0155f602109c8e34cc0a2b432d", "gitCommitIsDirty": false }, "fern": { diff --git a/reference.md b/reference.md index bcf8055..4728092 100644 --- a/reference.md +++ b/reference.md @@ -355,6 +355,472 @@ client.doc().text( + + + + +## Shares +
client.shares.exchange(request) -> SharesExchange200Response +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until `password` is supplied. Mounted only when the deployment can sign (HS256 mode). +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.shares().exchange( + SharesExchangeRequest + .builder() + .shareToken("shareToken") + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**shareToken:** `String` + +
+
+ +
+
+ +**password:** `Optional` + +
+
+
+
+ + +
+
+
+ +
client.shares.list(tenantId) -> SharesList200Response +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.shares().list( + "tenantId", + ListSharesRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**limit:** `Optional` + +
+
+ +
+
+ +**cursor:** `Optional` + +
+
+ +
+
+ +**docId:** `Optional` + +
+
+
+
+ + +
+
+
+ +
client.shares.create(tenantId, request) -> SharesCreate200Response +
+
+ +#### 📝 Description + +
+
+ +
+
+ +The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.shares().create( + "tenantId", + SharesCreateRequest + .builder() + .docId("docId") + .scope( + Arrays.asList("scope") + ) + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**docId:** `String` + +
+
+ +
+
+ +**layerName:** `Optional` + +
+
+ +
+
+ +**scope:** `List` + +
+
+ +
+
+ +**origins:** `Optional>` + +
+
+ +
+
+ +**password:** `Optional` + +
+
+ +
+
+ +**sessionTtlSeconds:** `Optional` + +
+
+ +
+
+ +**expiresAt:** `Optional` + +
+
+
+
+ + +
+
+
+ +
client.shares.get(tenantId, shareId) -> SharesGet200Response +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.shares().get( + "tenantId", + "shareId", + GetSharesRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**shareId:** `String` + +
+
+
+
+ + +
+
+
+ +
client.shares.delete(tenantId, shareId) +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.shares().delete( + "tenantId", + "shareId", + DeleteSharesRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**shareId:** `String` + +
+
+
+
+ + +
+
+
+ +
client.shares.update(tenantId, shareId, request) -> SharesUpdate200Response +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.shares().update( + "tenantId", + "shareId", + SharesUpdateRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**shareId:** `String` + +
+
+ +
+
+ +**scope:** `Optional>` + +
+
+ +
+
+ +**origins:** `Optional>` + +
+
+ +
+
+ +**password:** `Optional` + +
+
+ +
+
+ +**sessionTtlSeconds:** `Optional` + +
+
+ +
+
+ +**disabled:** `Optional` + +
+
+ +
+
+ +**expiresAt:** `Optional` + +
+
+
+
+ +
@@ -565,6 +1031,185 @@ client.tenants().delete( + + + + +
client.tenants.resume(tenantId) +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.tenants().resume( + "tenantId", + ResumeTenantsRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+
+
+ + +
+
+
+ +
client.tenants.suspend(tenantId, request) +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.tenants().suspend( + "tenantId", + TenantsSuspendRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**reason:** `Optional` + +
+
+
+
+ + +
+
+
+ +
client.tenants.usage(tenantId) -> TenantsUsage200Response +
+
+ +#### 📝 Description + +
+
+ +
+
+ +Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.tenants().usage( + "tenantId", + UsageTenantsRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**period:** `Optional` + +
+
+
+
+ +
@@ -914,6 +1559,75 @@ client.documents().thumbnail( + + + + +
client.documents.uploadProxy(tenantId, id, request) -> DocumentsUploadProxy200Response +
+
+ +#### 📝 Description + +
+
+ +
+
+ +This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. +
+
+
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```java +client.documents().uploadProxy( + "tenantId", + "id", + null, + UploadProxyDocumentsRequest + .builder() + .build() +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**tenantId:** `String` + +
+
+ +
+
+ +**id:** `String` + +
+
+
+
+ +
@@ -1011,6 +1725,14 @@ client.documents().init( **uploadTtlSec:** `Optional` + + + +
+
+ +**uploadPreference:** `Optional` +
diff --git a/src/main/java/api/AsyncCloudPDFClient.java b/src/main/java/api/AsyncCloudPDFClient.java index 9301345..0a9cd6c 100644 --- a/src/main/java/api/AsyncCloudPDFClient.java +++ b/src/main/java/api/AsyncCloudPDFClient.java @@ -8,6 +8,7 @@ import com.cloudpdf.api.resources.deployment.AsyncDeploymentClient; import com.cloudpdf.api.resources.doc.AsyncDocClient; import com.cloudpdf.api.resources.documents.AsyncDocumentsClient; +import com.cloudpdf.api.resources.shares.AsyncSharesClient; import com.cloudpdf.api.resources.tenants.AsyncTenantsClient; import com.cloudpdf.api.resources.tokens.AsyncTokensClient; import java.util.function.Supplier; @@ -19,6 +20,8 @@ public class AsyncCloudPDFClient { protected final Supplier docClient; + protected final Supplier sharesClient; + protected final Supplier tenantsClient; protected final Supplier documentsClient; @@ -29,6 +32,7 @@ public AsyncCloudPDFClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; this.deploymentClient = Suppliers.memoize(() -> new AsyncDeploymentClient(clientOptions)); this.docClient = Suppliers.memoize(() -> new AsyncDocClient(clientOptions)); + this.sharesClient = Suppliers.memoize(() -> new AsyncSharesClient(clientOptions)); this.tenantsClient = Suppliers.memoize(() -> new AsyncTenantsClient(clientOptions)); this.documentsClient = Suppliers.memoize(() -> new AsyncDocumentsClient(clientOptions)); this.tokensClient = Suppliers.memoize(() -> new AsyncTokensClient(clientOptions)); @@ -42,6 +46,10 @@ public AsyncDocClient doc() { return this.docClient.get(); } + public AsyncSharesClient shares() { + return this.sharesClient.get(); + } + public AsyncTenantsClient tenants() { return this.tenantsClient.get(); } diff --git a/src/main/java/api/AsyncCloudPDFClientBuilder.java b/src/main/java/api/AsyncCloudPDFClientBuilder.java index 9dfce5d..b6a32ad 100644 --- a/src/main/java/api/AsyncCloudPDFClientBuilder.java +++ b/src/main/java/api/AsyncCloudPDFClientBuilder.java @@ -254,9 +254,6 @@ protected void setAdditional(ClientOptions.Builder builder) {} protected void validateConfiguration() {} public AsyncCloudPDFClient build() { - if (token == null) { - throw new RuntimeException("Please provide token"); - } validateConfiguration(); return new AsyncCloudPDFClient(buildClientOptions()); } diff --git a/src/main/java/api/CloudPDFClient.java b/src/main/java/api/CloudPDFClient.java index 50000c8..9dee4bf 100644 --- a/src/main/java/api/CloudPDFClient.java +++ b/src/main/java/api/CloudPDFClient.java @@ -8,6 +8,7 @@ import com.cloudpdf.api.resources.deployment.DeploymentClient; import com.cloudpdf.api.resources.doc.DocClient; import com.cloudpdf.api.resources.documents.DocumentsClient; +import com.cloudpdf.api.resources.shares.SharesClient; import com.cloudpdf.api.resources.tenants.TenantsClient; import com.cloudpdf.api.resources.tokens.TokensClient; import java.util.function.Supplier; @@ -19,6 +20,8 @@ public class CloudPDFClient { protected final Supplier docClient; + protected final Supplier sharesClient; + protected final Supplier tenantsClient; protected final Supplier documentsClient; @@ -29,6 +32,7 @@ public CloudPDFClient(ClientOptions clientOptions) { this.clientOptions = clientOptions; this.deploymentClient = Suppliers.memoize(() -> new DeploymentClient(clientOptions)); this.docClient = Suppliers.memoize(() -> new DocClient(clientOptions)); + this.sharesClient = Suppliers.memoize(() -> new SharesClient(clientOptions)); this.tenantsClient = Suppliers.memoize(() -> new TenantsClient(clientOptions)); this.documentsClient = Suppliers.memoize(() -> new DocumentsClient(clientOptions)); this.tokensClient = Suppliers.memoize(() -> new TokensClient(clientOptions)); @@ -42,6 +46,10 @@ public DocClient doc() { return this.docClient.get(); } + public SharesClient shares() { + return this.sharesClient.get(); + } + public TenantsClient tenants() { return this.tenantsClient.get(); } diff --git a/src/main/java/api/CloudPDFClientBuilder.java b/src/main/java/api/CloudPDFClientBuilder.java index 6b8132d..809399a 100644 --- a/src/main/java/api/CloudPDFClientBuilder.java +++ b/src/main/java/api/CloudPDFClientBuilder.java @@ -254,9 +254,6 @@ protected void setAdditional(ClientOptions.Builder builder) {} protected void validateConfiguration() {} public CloudPDFClient build() { - if (token == null) { - throw new RuntimeException("Please provide token"); - } validateConfiguration(); return new CloudPDFClient(buildClientOptions()); } diff --git a/src/main/java/api/core/ClientOptions.java b/src/main/java/api/core/ClientOptions.java index 4d555bb..74f5ed0 100644 --- a/src/main/java/api/core/ClientOptions.java +++ b/src/main/java/api/core/ClientOptions.java @@ -49,7 +49,7 @@ private ClientOptions( { put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.cloudpdf:sdk"); - put("X-Fern-SDK-Version", "3.0.0-alpha.1"); + put("X-Fern-SDK-Version", "3.0.0-alpha.4"); } }); this.headerSuppliers = headerSuppliers; diff --git a/src/main/java/api/errors/ConflictError.java b/src/main/java/api/errors/ConflictError.java new file mode 100644 index 0000000..f369aa0 --- /dev/null +++ b/src/main/java/api/errors/ConflictError.java @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.errors; + +import com.cloudpdf.api.core.CloudPDFApiException; +import com.cloudpdf.api.types.DocumentsUploadProxy409Response; +import okhttp3.Response; + +public final class ConflictError extends CloudPDFApiException { + /** + * The body of the response that triggered the exception. + */ + private final DocumentsUploadProxy409Response body; + + public ConflictError(DocumentsUploadProxy409Response body) { + super("ConflictError", 409, body); + this.body = body; + } + + public ConflictError(DocumentsUploadProxy409Response body, Response rawResponse) { + super("ConflictError", 409, body, rawResponse); + this.body = body; + } + + /** + * @return the body + */ + @java.lang.Override + public DocumentsUploadProxy409Response body() { + return this.body; + } +} diff --git a/src/main/java/api/errors/GoneError.java b/src/main/java/api/errors/GoneError.java new file mode 100644 index 0000000..61eb3e3 --- /dev/null +++ b/src/main/java/api/errors/GoneError.java @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.errors; + +import com.cloudpdf.api.core.CloudPDFApiException; +import com.cloudpdf.api.types.SharesExchange410Response; +import okhttp3.Response; + +public final class GoneError extends CloudPDFApiException { + /** + * The body of the response that triggered the exception. + */ + private final SharesExchange410Response body; + + public GoneError(SharesExchange410Response body) { + super("GoneError", 410, body); + this.body = body; + } + + public GoneError(SharesExchange410Response body, Response rawResponse) { + super("GoneError", 410, body, rawResponse); + this.body = body; + } + + /** + * @return the body + */ + @java.lang.Override + public SharesExchange410Response body() { + return this.body; + } +} diff --git a/src/main/java/api/errors/UnprocessableEntityError.java b/src/main/java/api/errors/UnprocessableEntityError.java new file mode 100644 index 0000000..334e04b --- /dev/null +++ b/src/main/java/api/errors/UnprocessableEntityError.java @@ -0,0 +1,33 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.errors; + +import com.cloudpdf.api.core.CloudPDFApiException; +import com.cloudpdf.api.types.SharesExchange422Response; +import okhttp3.Response; + +public final class UnprocessableEntityError extends CloudPDFApiException { + /** + * The body of the response that triggered the exception. + */ + private final SharesExchange422Response body; + + public UnprocessableEntityError(SharesExchange422Response body) { + super("UnprocessableEntityError", 422, body); + this.body = body; + } + + public UnprocessableEntityError(SharesExchange422Response body, Response rawResponse) { + super("UnprocessableEntityError", 422, body, rawResponse); + this.body = body; + } + + /** + * @return the body + */ + @java.lang.Override + public SharesExchange422Response body() { + return this.body; + } +} diff --git a/src/main/java/api/resources/documents/AsyncDocumentsClient.java b/src/main/java/api/resources/documents/AsyncDocumentsClient.java index 69a9b76..3d38c6d 100644 --- a/src/main/java/api/resources/documents/AsyncDocumentsClient.java +++ b/src/main/java/api/resources/documents/AsyncDocumentsClient.java @@ -12,13 +12,16 @@ import com.cloudpdf.api.resources.documents.requests.GetDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ListDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ThumbnailDocumentsRequest; +import com.cloudpdf.api.resources.documents.requests.UploadProxyDocumentsRequest; import com.cloudpdf.api.types.DocumentsCommit200Response; import com.cloudpdf.api.types.DocumentsGet200Response; import com.cloudpdf.api.types.DocumentsInit200Response; import com.cloudpdf.api.types.DocumentsList200Response; -import com.cloudpdf.api.types.DocumentsUploadDirect200Response; +import com.cloudpdf.api.types.DocumentsUploadProxy200Response; +import java.io.File; import java.io.InputStream; import java.util.concurrent.CompletableFuture; +import okhttp3.MediaType; public class AsyncDocumentsClient { protected final ClientOptions clientOptions; @@ -132,27 +135,52 @@ public CompletableFuture thumbnail( return this.rawClient.thumbnail(tenantId, id, request, requestOptions).thenApply(response -> response.body()); } - public CompletableFuture uploadDirect( - String tenantId, String id, InputStream request) { - return this.rawClient.uploadDirect(tenantId, id, request).thenApply(response -> response.body()); + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public CompletableFuture uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request) { + return this.rawClient.uploadProxy(tenantId, id, file, request).thenApply(response -> response.body()); + } + + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public CompletableFuture uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request, RequestOptions requestOptions) { + return this.rawClient + .uploadProxy(tenantId, id, file, request, requestOptions) + .thenApply(response -> response.body()); + } + + public CompletableFuture uploadProxy( + String tenantId, String id, InputStream stream, String filename) { + return this.rawClient.uploadProxy(tenantId, id, stream, filename).thenApply(response -> response.body()); } - public CompletableFuture uploadDirect( - String tenantId, String id, InputStream request, RequestOptions requestOptions) { + public CompletableFuture uploadProxy( + String tenantId, String id, InputStream stream, String filename, MediaType mediaType) { return this.rawClient - .uploadDirect(tenantId, id, request, requestOptions) + .uploadProxy(tenantId, id, stream, filename, mediaType) .thenApply(response -> response.body()); } - public CompletableFuture uploadDirect( - String tenantId, String id, byte[] request) { - return this.rawClient.uploadDirect(tenantId, id, request).thenApply(response -> response.body()); + public CompletableFuture uploadProxy( + String tenantId, String id, InputStream stream, String filename, RequestOptions requestOptions) { + return this.rawClient + .uploadProxy(tenantId, id, stream, filename, requestOptions) + .thenApply(response -> response.body()); } - public CompletableFuture uploadDirect( - String tenantId, String id, byte[] request, RequestOptions requestOptions) { + public CompletableFuture uploadProxy( + String tenantId, + String id, + InputStream stream, + String filename, + MediaType mediaType, + RequestOptions requestOptions) { return this.rawClient - .uploadDirect(tenantId, id, request, requestOptions) + .uploadProxy(tenantId, id, stream, filename, mediaType, requestOptions) .thenApply(response -> response.body()); } diff --git a/src/main/java/api/resources/documents/AsyncRawDocumentsClient.java b/src/main/java/api/resources/documents/AsyncRawDocumentsClient.java index 49ee2c5..ef9bdde 100644 --- a/src/main/java/api/resources/documents/AsyncRawDocumentsClient.java +++ b/src/main/java/api/resources/documents/AsyncRawDocumentsClient.java @@ -7,7 +7,7 @@ import com.cloudpdf.api.core.CloudPDFApiException; import com.cloudpdf.api.core.CloudPDFClientHttpResponse; import com.cloudpdf.api.core.CloudPDFException; -import com.cloudpdf.api.core.InputStreamRequestBody; +import com.cloudpdf.api.core.FileStream; import com.cloudpdf.api.core.MediaTypes; import com.cloudpdf.api.core.ObjectMappers; import com.cloudpdf.api.core.QueryStringMapper; @@ -15,6 +15,7 @@ import com.cloudpdf.api.core.ResponseBodyInputStream; import com.cloudpdf.api.core.RetryInterceptor; import com.cloudpdf.api.errors.BadRequestError; +import com.cloudpdf.api.errors.ConflictError; import com.cloudpdf.api.errors.ForbiddenError; import com.cloudpdf.api.errors.NotFoundError; import com.cloudpdf.api.resources.documents.requests.DeleteDocumentsRequest; @@ -24,21 +25,25 @@ import com.cloudpdf.api.resources.documents.requests.GetDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ListDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ThumbnailDocumentsRequest; +import com.cloudpdf.api.resources.documents.requests.UploadProxyDocumentsRequest; import com.cloudpdf.api.types.DocumentsCommit200Response; import com.cloudpdf.api.types.DocumentsGet200Response; import com.cloudpdf.api.types.DocumentsInit200Response; import com.cloudpdf.api.types.DocumentsList200Response; -import com.cloudpdf.api.types.DocumentsUploadDirect200Response; +import com.cloudpdf.api.types.DocumentsUploadProxy200Response; +import com.cloudpdf.api.types.DocumentsUploadProxy409Response; import com.fasterxml.jackson.core.JsonProcessingException; -import java.io.ByteArrayInputStream; +import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; import java.util.concurrent.CompletableFuture; import okhttp3.Call; import okhttp3.Callback; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.MediaType; +import okhttp3.MultipartBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; @@ -615,31 +620,46 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { return future; } - public CompletableFuture> uploadDirect( - String tenantId, String id, InputStream request) { - return uploadDirect(tenantId, id, request, null); + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public CompletableFuture> uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request) { + return uploadProxy(tenantId, id, file, request, null); } - public CompletableFuture> uploadDirect( - String tenantId, String id, InputStream request, RequestOptions requestOptions) { + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public CompletableFuture> uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request, RequestOptions requestOptions) { HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() .addPathSegments("v1/tenants") .addPathSegment(tenantId) .addPathSegments("documents") .addPathSegment(id) - .addPathSegments("upload-direct"); + .addPathSegments("upload-proxy"); if (requestOptions != null) { requestOptions.getQueryParameters().forEach((_key, _value) -> { httpUrl.addQueryParameter(_key, _value); }); } - RequestBody body = new InputStreamRequestBody(MediaType.parse("application/octet-stream"), request); - Request okhttpRequest = new Request.Builder() + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + try { + String fileMimeType = Files.probeContentType(file.toPath()); + MediaType fileMimeTypeMediaType = fileMimeType != null ? MediaType.parse(fileMimeType) : null; + multipartBodyBuilder.addFormDataPart( + "file", file.getName(), RequestBody.create(file, fileMimeTypeMediaType)); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() .url(httpUrl.build()) - .method("POST", body) + .method("POST", multipartBodyBuilder.build()) .headers(Headers.of(clientOptions.headers(requestOptions))) - .build(); + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -653,7 +673,7 @@ public CompletableFuture> future = + CompletableFuture> future = new CompletableFuture<>(); client.newCall(okhttpRequest).enqueue(new Callback() { @Override @@ -663,15 +683,23 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO if (response.isSuccessful()) { future.complete(new CloudPDFClientHttpResponse<>( ObjectMappers.JSON_MAPPER.readValue( - responseBodyString, DocumentsUploadDirect200Response.class), + responseBodyString, DocumentsUploadProxy200Response.class), response)); return; } try { - if (response.code() == 400) { - future.completeExceptionally(new BadRequestError( - ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); - return; + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 409: + future.completeExceptionally(new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response)); + return; } } catch (JsonProcessingException ignored) { // unable to map error response, throwing generic error @@ -696,14 +724,323 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { return future; } - public CompletableFuture> uploadDirect( - String tenantId, String id, byte[] request) { - return uploadDirect(tenantId, id, new ByteArrayInputStream(request)); + public CompletableFuture> uploadProxy( + String tenantId, String id, InputStream stream, String filename) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers((RequestOptions) null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 409: + future.completeExceptionally(new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> uploadProxy( + String tenantId, String id, InputStream stream, String filename, MediaType mediaType) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers((RequestOptions) null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 409: + future.completeExceptionally(new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> uploadProxy( + String tenantId, String id, InputStream stream, String filename, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 409: + future.completeExceptionally(new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; } - public CompletableFuture> uploadDirect( - String tenantId, String id, byte[] request, RequestOptions requestOptions) { - return uploadDirect(tenantId, id, new ByteArrayInputStream(request), requestOptions); + public CompletableFuture> uploadProxy( + String tenantId, + String id, + InputStream stream, + String filename, + MediaType mediaType, + RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 409: + future.completeExceptionally(new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; } public CompletableFuture> init( diff --git a/src/main/java/api/resources/documents/DocumentsClient.java b/src/main/java/api/resources/documents/DocumentsClient.java index a971dc6..5f5788f 100644 --- a/src/main/java/api/resources/documents/DocumentsClient.java +++ b/src/main/java/api/resources/documents/DocumentsClient.java @@ -12,12 +12,15 @@ import com.cloudpdf.api.resources.documents.requests.GetDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ListDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ThumbnailDocumentsRequest; +import com.cloudpdf.api.resources.documents.requests.UploadProxyDocumentsRequest; import com.cloudpdf.api.types.DocumentsCommit200Response; import com.cloudpdf.api.types.DocumentsGet200Response; import com.cloudpdf.api.types.DocumentsInit200Response; import com.cloudpdf.api.types.DocumentsList200Response; -import com.cloudpdf.api.types.DocumentsUploadDirect200Response; +import com.cloudpdf.api.types.DocumentsUploadProxy200Response; +import java.io.File; import java.io.InputStream; +import okhttp3.MediaType; public class DocumentsClient { protected final ClientOptions clientOptions; @@ -128,25 +131,52 @@ public InputStream thumbnail( return this.rawClient.thumbnail(tenantId, id, request, requestOptions).body(); } - public DocumentsUploadDirect200Response uploadDirect(String tenantId, String id, InputStream request) { - return this.rawClient.uploadDirect(tenantId, id, request).body(); + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public DocumentsUploadProxy200Response uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request) { + return this.rawClient.uploadProxy(tenantId, id, file, request).body(); + } + + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public DocumentsUploadProxy200Response uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request, RequestOptions requestOptions) { + return this.rawClient + .uploadProxy(tenantId, id, file, request, requestOptions) + .body(); + } + + public DocumentsUploadProxy200Response uploadProxy( + String tenantId, String id, InputStream stream, String filename) { + return this.rawClient.uploadProxy(tenantId, id, stream, filename).body(); } - public DocumentsUploadDirect200Response uploadDirect( - String tenantId, String id, InputStream request, RequestOptions requestOptions) { + public DocumentsUploadProxy200Response uploadProxy( + String tenantId, String id, InputStream stream, String filename, MediaType mediaType) { return this.rawClient - .uploadDirect(tenantId, id, request, requestOptions) + .uploadProxy(tenantId, id, stream, filename, mediaType) .body(); } - public DocumentsUploadDirect200Response uploadDirect(String tenantId, String id, byte[] request) { - return this.rawClient.uploadDirect(tenantId, id, request).body(); + public DocumentsUploadProxy200Response uploadProxy( + String tenantId, String id, InputStream stream, String filename, RequestOptions requestOptions) { + return this.rawClient + .uploadProxy(tenantId, id, stream, filename, requestOptions) + .body(); } - public DocumentsUploadDirect200Response uploadDirect( - String tenantId, String id, byte[] request, RequestOptions requestOptions) { + public DocumentsUploadProxy200Response uploadProxy( + String tenantId, + String id, + InputStream stream, + String filename, + MediaType mediaType, + RequestOptions requestOptions) { return this.rawClient - .uploadDirect(tenantId, id, request, requestOptions) + .uploadProxy(tenantId, id, stream, filename, mediaType, requestOptions) .body(); } diff --git a/src/main/java/api/resources/documents/RawDocumentsClient.java b/src/main/java/api/resources/documents/RawDocumentsClient.java index ed449b3..d59065f 100644 --- a/src/main/java/api/resources/documents/RawDocumentsClient.java +++ b/src/main/java/api/resources/documents/RawDocumentsClient.java @@ -7,7 +7,7 @@ import com.cloudpdf.api.core.CloudPDFApiException; import com.cloudpdf.api.core.CloudPDFClientHttpResponse; import com.cloudpdf.api.core.CloudPDFException; -import com.cloudpdf.api.core.InputStreamRequestBody; +import com.cloudpdf.api.core.FileStream; import com.cloudpdf.api.core.MediaTypes; import com.cloudpdf.api.core.ObjectMappers; import com.cloudpdf.api.core.QueryStringMapper; @@ -15,6 +15,7 @@ import com.cloudpdf.api.core.ResponseBodyInputStream; import com.cloudpdf.api.core.RetryInterceptor; import com.cloudpdf.api.errors.BadRequestError; +import com.cloudpdf.api.errors.ConflictError; import com.cloudpdf.api.errors.ForbiddenError; import com.cloudpdf.api.errors.NotFoundError; import com.cloudpdf.api.resources.documents.requests.DeleteDocumentsRequest; @@ -24,18 +25,22 @@ import com.cloudpdf.api.resources.documents.requests.GetDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ListDocumentsRequest; import com.cloudpdf.api.resources.documents.requests.ThumbnailDocumentsRequest; +import com.cloudpdf.api.resources.documents.requests.UploadProxyDocumentsRequest; import com.cloudpdf.api.types.DocumentsCommit200Response; import com.cloudpdf.api.types.DocumentsGet200Response; import com.cloudpdf.api.types.DocumentsInit200Response; import com.cloudpdf.api.types.DocumentsList200Response; -import com.cloudpdf.api.types.DocumentsUploadDirect200Response; +import com.cloudpdf.api.types.DocumentsUploadProxy200Response; +import com.cloudpdf.api.types.DocumentsUploadProxy409Response; import com.fasterxml.jackson.core.JsonProcessingException; -import java.io.ByteArrayInputStream; +import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; import okhttp3.Headers; import okhttp3.HttpUrl; import okhttp3.MediaType; +import okhttp3.MultipartBody; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; @@ -501,31 +506,46 @@ public CloudPDFClientHttpResponse thumbnail( } } - public CloudPDFClientHttpResponse uploadDirect( - String tenantId, String id, InputStream request) { - return uploadDirect(tenantId, id, request, null); + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public CloudPDFClientHttpResponse uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request) { + return uploadProxy(tenantId, id, file, request, null); } - public CloudPDFClientHttpResponse uploadDirect( - String tenantId, String id, InputStream request, RequestOptions requestOptions) { + /** + * This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available. + */ + public CloudPDFClientHttpResponse uploadProxy( + String tenantId, String id, File file, UploadProxyDocumentsRequest request, RequestOptions requestOptions) { HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) .newBuilder() .addPathSegments("v1/tenants") .addPathSegment(tenantId) .addPathSegments("documents") .addPathSegment(id) - .addPathSegments("upload-direct"); + .addPathSegments("upload-proxy"); if (requestOptions != null) { requestOptions.getQueryParameters().forEach((_key, _value) -> { httpUrl.addQueryParameter(_key, _value); }); } - RequestBody body = new InputStreamRequestBody(MediaType.parse("application/octet-stream"), request); - Request okhttpRequest = new Request.Builder() + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + try { + String fileMimeType = Files.probeContentType(file.toPath()); + MediaType fileMimeTypeMediaType = fileMimeType != null ? MediaType.parse(fileMimeType) : null; + multipartBodyBuilder.addFormDataPart( + "file", file.getName(), RequestBody.create(file, fileMimeTypeMediaType)); + } catch (Exception e) { + throw new RuntimeException(e); + } + Request.Builder _requestBuilder = new Request.Builder() .url(httpUrl.build()) - .method("POST", body) + .method("POST", multipartBodyBuilder.build()) .headers(Headers.of(clientOptions.headers(requestOptions))) - .build(); + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); OkHttpClient client = clientOptions.httpClient(); if (requestOptions != null && requestOptions.getTimeout().isPresent()) { client = clientOptions.httpClientWithTimeout(requestOptions); @@ -544,13 +564,19 @@ public CloudPDFClientHttpResponse uploadDirect String responseBodyString = responseBody != null ? responseBody.string() : "{}"; if (response.isSuccessful()) { return new CloudPDFClientHttpResponse<>( - ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DocumentsUploadDirect200Response.class), + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DocumentsUploadProxy200Response.class), response); } try { - if (response.code() == 400) { - throw new BadRequestError( - ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 409: + throw new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response); } } catch (JsonProcessingException ignored) { // unable to map error response, throwing generic error @@ -565,14 +591,247 @@ public CloudPDFClientHttpResponse uploadDirect } } - public CloudPDFClientHttpResponse uploadDirect( - String tenantId, String id, byte[] request) { - return uploadDirect(tenantId, id, new ByteArrayInputStream(request)); + public CloudPDFClientHttpResponse uploadProxy( + String tenantId, String id, InputStream stream, String filename) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers((RequestOptions) null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DocumentsUploadProxy200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 409: + throw new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } } - public CloudPDFClientHttpResponse uploadDirect( - String tenantId, String id, byte[] request, RequestOptions requestOptions) { - return uploadDirect(tenantId, id, new ByteArrayInputStream(request), requestOptions); + public CloudPDFClientHttpResponse uploadProxy( + String tenantId, String id, InputStream stream, String filename, MediaType mediaType) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers((RequestOptions) null))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DocumentsUploadProxy200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 409: + throw new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + public CloudPDFClientHttpResponse uploadProxy( + String tenantId, String id, InputStream stream, String filename, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, null); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DocumentsUploadProxy200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 409: + throw new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + public CloudPDFClientHttpResponse uploadProxy( + String tenantId, + String id, + InputStream stream, + String filename, + MediaType mediaType, + RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("documents") + .addPathSegment(id) + .addPathSegments("upload-proxy"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + FileStream fs = new FileStream(stream, filename, mediaType); + MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM); + multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody()); + RequestBody body = multipartBodyBuilder.build(); + Request.Builder _requestBuilder = new Request.Builder(); + _requestBuilder.url(httpUrl.build()); + _requestBuilder.method("POST", body); + _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions))); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DocumentsUploadProxy200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 409: + throw new ConflictError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, DocumentsUploadProxy409Response.class), + response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } } public CloudPDFClientHttpResponse init(String tenantId, DocumentsInitRequest request) { diff --git a/src/main/java/api/resources/documents/requests/DocumentsInitRequest.java b/src/main/java/api/resources/documents/requests/DocumentsInitRequest.java index 29ad136..260b3ce 100644 --- a/src/main/java/api/resources/documents/requests/DocumentsInitRequest.java +++ b/src/main/java/api/resources/documents/requests/DocumentsInitRequest.java @@ -5,6 +5,7 @@ import com.cloudpdf.api.core.ObjectMappers; import com.cloudpdf.api.resources.documents.types.DocumentsInitRequestDedupMode; +import com.cloudpdf.api.resources.documents.types.DocumentsInitRequestUploadPreference; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -36,6 +37,8 @@ public final class DocumentsInitRequest { private final Optional uploadTtlSec; + private final Optional uploadPreference; + private final Map additionalProperties; private DocumentsInitRequest( @@ -46,6 +49,7 @@ private DocumentsInitRequest( Optional dedupMode, Optional docId, Optional uploadTtlSec, + Optional uploadPreference, Map additionalProperties) { this.contentLength = contentLength; this.contentSha256 = contentSha256; @@ -54,6 +58,7 @@ private DocumentsInitRequest( this.dedupMode = dedupMode; this.docId = docId; this.uploadTtlSec = uploadTtlSec; + this.uploadPreference = uploadPreference; this.additionalProperties = additionalProperties; } @@ -92,6 +97,11 @@ public Optional getUploadTtlSec() { return uploadTtlSec; } + @JsonProperty("uploadPreference") + public Optional getUploadPreference() { + return uploadPreference; + } + @java.lang.Override public boolean equals(Object other) { if (this == other) return true; @@ -110,7 +120,8 @@ private boolean equalTo(DocumentsInitRequest other) { && idempotencyKey.equals(other.idempotencyKey) && dedupMode.equals(other.dedupMode) && docId.equals(other.docId) - && uploadTtlSec.equals(other.uploadTtlSec); + && uploadTtlSec.equals(other.uploadTtlSec) + && uploadPreference.equals(other.uploadPreference); } @java.lang.Override @@ -122,7 +133,8 @@ public int hashCode() { this.idempotencyKey, this.dedupMode, this.docId, - this.uploadTtlSec); + this.uploadTtlSec, + this.uploadPreference); } @java.lang.Override @@ -170,6 +182,10 @@ public interface _FinalStage { _FinalStage uploadTtlSec(Optional uploadTtlSec); _FinalStage uploadTtlSec(Double uploadTtlSec); + + _FinalStage uploadPreference(Optional uploadPreference); + + _FinalStage uploadPreference(DocumentsInitRequestUploadPreference uploadPreference); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -178,6 +194,8 @@ public static final class Builder implements ContentLengthStage, ContentSha256St private String contentSha256; + private Optional uploadPreference = Optional.empty(); + private Optional uploadTtlSec = Optional.empty(); private Optional docId = Optional.empty(); @@ -202,6 +220,7 @@ public Builder from(DocumentsInitRequest other) { dedupMode(other.getDedupMode()); docId(other.getDocId()); uploadTtlSec(other.getUploadTtlSec()); + uploadPreference(other.getUploadPreference()); return this; } @@ -219,6 +238,19 @@ public _FinalStage contentSha256(@NotNull String contentSha256) { return this; } + @java.lang.Override + public _FinalStage uploadPreference(DocumentsInitRequestUploadPreference uploadPreference) { + this.uploadPreference = Optional.ofNullable(uploadPreference); + return this; + } + + @java.lang.Override + @JsonSetter(value = "uploadPreference", nulls = Nulls.SKIP) + public _FinalStage uploadPreference(Optional uploadPreference) { + this.uploadPreference = uploadPreference; + return this; + } + @java.lang.Override public _FinalStage uploadTtlSec(Double uploadTtlSec) { this.uploadTtlSec = Optional.ofNullable(uploadTtlSec); @@ -294,6 +326,7 @@ public DocumentsInitRequest build() { dedupMode, docId, uploadTtlSec, + uploadPreference, additionalProperties); } diff --git a/src/main/java/api/resources/documents/requests/UploadProxyDocumentsRequest.java b/src/main/java/api/resources/documents/requests/UploadProxyDocumentsRequest.java new file mode 100644 index 0000000..f51a191 --- /dev/null +++ b/src/main/java/api/resources/documents/requests/UploadProxyDocumentsRequest.java @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.documents.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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.databind.annotation.JsonDeserialize; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = UploadProxyDocumentsRequest.Builder.class) +public final class UploadProxyDocumentsRequest { + private final Map additionalProperties; + + private UploadProxyDocumentsRequest(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof UploadProxyDocumentsRequest; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @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 { + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(UploadProxyDocumentsRequest other) { + return this; + } + + public UploadProxyDocumentsRequest build() { + return new UploadProxyDocumentsRequest(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/api/resources/documents/types/DocumentsInitRequestUploadPreference.java b/src/main/java/api/resources/documents/types/DocumentsInitRequestUploadPreference.java new file mode 100644 index 0000000..61b16a1 --- /dev/null +++ b/src/main/java/api/resources/documents/types/DocumentsInitRequestUploadPreference.java @@ -0,0 +1,97 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.documents.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class DocumentsInitRequestUploadPreference { + public static final DocumentsInitRequestUploadPreference AUTO = + new DocumentsInitRequestUploadPreference(Value.AUTO, "auto"); + + public static final DocumentsInitRequestUploadPreference PROXY = + new DocumentsInitRequestUploadPreference(Value.PROXY, "proxy"); + + public static final DocumentsInitRequestUploadPreference PRESIGNED = + new DocumentsInitRequestUploadPreference(Value.PRESIGNED, "presigned"); + + private final Value value; + + private final String string; + + DocumentsInitRequestUploadPreference(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 DocumentsInitRequestUploadPreference + && this.string.equals(((DocumentsInitRequestUploadPreference) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case AUTO: + return visitor.visitAuto(); + case PROXY: + return visitor.visitProxy(); + case PRESIGNED: + return visitor.visitPresigned(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static DocumentsInitRequestUploadPreference valueOf(String value) { + switch (value) { + case "auto": + return AUTO; + case "proxy": + return PROXY; + case "presigned": + return PRESIGNED; + default: + return new DocumentsInitRequestUploadPreference(Value.UNKNOWN, value); + } + } + + public enum Value { + AUTO, + + PRESIGNED, + + PROXY, + + UNKNOWN + } + + public interface Visitor { + T visitAuto(); + + T visitPresigned(); + + T visitProxy(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/api/resources/shares/AsyncRawSharesClient.java b/src/main/java/api/resources/shares/AsyncRawSharesClient.java new file mode 100644 index 0000000..3b015c9 --- /dev/null +++ b/src/main/java/api/resources/shares/AsyncRawSharesClient.java @@ -0,0 +1,643 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares; + +import com.cloudpdf.api.core.ClientOptions; +import com.cloudpdf.api.core.CloudPDFApiException; +import com.cloudpdf.api.core.CloudPDFClientHttpResponse; +import com.cloudpdf.api.core.CloudPDFException; +import com.cloudpdf.api.core.MediaTypes; +import com.cloudpdf.api.core.ObjectMappers; +import com.cloudpdf.api.core.QueryStringMapper; +import com.cloudpdf.api.core.RequestOptions; +import com.cloudpdf.api.core.RetryInterceptor; +import com.cloudpdf.api.errors.BadRequestError; +import com.cloudpdf.api.errors.ForbiddenError; +import com.cloudpdf.api.errors.GoneError; +import com.cloudpdf.api.errors.NotFoundError; +import com.cloudpdf.api.errors.UnprocessableEntityError; +import com.cloudpdf.api.resources.shares.requests.DeleteSharesRequest; +import com.cloudpdf.api.resources.shares.requests.GetSharesRequest; +import com.cloudpdf.api.resources.shares.requests.ListSharesRequest; +import com.cloudpdf.api.resources.shares.requests.SharesCreateRequest; +import com.cloudpdf.api.resources.shares.requests.SharesExchangeRequest; +import com.cloudpdf.api.resources.shares.requests.SharesUpdateRequest; +import com.cloudpdf.api.types.SharesCreate200Response; +import com.cloudpdf.api.types.SharesExchange200Response; +import com.cloudpdf.api.types.SharesExchange410Response; +import com.cloudpdf.api.types.SharesExchange422Response; +import com.cloudpdf.api.types.SharesGet200Response; +import com.cloudpdf.api.types.SharesList200Response; +import com.cloudpdf.api.types.SharesUpdate200Response; +import com.fasterxml.jackson.core.JsonProcessingException; +import java.io.IOException; +import java.util.concurrent.CompletableFuture; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import okhttp3.ResponseBody; +import org.jetbrains.annotations.NotNull; + +public class AsyncRawSharesClient { + protected final ClientOptions clientOptions; + + public AsyncRawSharesClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public CompletableFuture> exchange( + SharesExchangeRequest request) { + return exchange(request, null); + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public CompletableFuture> exchange( + SharesExchangeRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/share-sessions"); + 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 CloudPDFException("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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, SharesExchange200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 410: + future.completeExceptionally(new GoneError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, SharesExchange410Response.class), + response)); + return; + case 422: + future.completeExceptionally(new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, SharesExchange422Response.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> list(String tenantId) { + return list(tenantId, ListSharesRequest.builder().build()); + } + + public CompletableFuture> list( + String tenantId, RequestOptions requestOptions) { + return list(tenantId, ListSharesRequest.builder().build(), requestOptions); + } + + public CompletableFuture> list( + String tenantId, ListSharesRequest request) { + return list(tenantId, request, null); + } + + public CompletableFuture> list( + String tenantId, ListSharesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares"); + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + if (request.getCursor().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "cursor", request.getCursor().get(), false); + } + if (request.getDocId().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "docId", request.getDocId().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesList200Response.class), + response)); + return; + } + try { + if (response.code() == 400) { + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public CompletableFuture> create( + String tenantId, SharesCreateRequest request) { + return create(tenantId, request, null); + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public CompletableFuture> create( + String tenantId, SharesCreateRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares"); + 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 CloudPDFException("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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesCreate200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 403: + future.completeExceptionally(new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> get(String tenantId, String shareId) { + return get(tenantId, shareId, GetSharesRequest.builder().build()); + } + + public CompletableFuture> get( + String tenantId, String shareId, RequestOptions requestOptions) { + return get(tenantId, shareId, GetSharesRequest.builder().build(), requestOptions); + } + + public CompletableFuture> get( + String tenantId, String shareId, GetSharesRequest request) { + return get(tenantId, shareId, request, null); + } + + public CompletableFuture> get( + String tenantId, String shareId, GetSharesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares") + .addPathSegment(shareId); + 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesGet200Response.class), + response)); + return; + } + try { + if (response.code() == 404) { + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> delete(String tenantId, String shareId) { + return delete(tenantId, shareId, DeleteSharesRequest.builder().build()); + } + + public CompletableFuture> delete( + String tenantId, String shareId, RequestOptions requestOptions) { + return delete(tenantId, shareId, DeleteSharesRequest.builder().build(), requestOptions); + } + + public CompletableFuture> delete( + String tenantId, String shareId, DeleteSharesRequest request) { + return delete(tenantId, shareId, request, null); + } + + public CompletableFuture> delete( + String tenantId, String shareId, DeleteSharesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares") + .addPathSegment(shareId); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("DELETE", 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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()) { + if (response.isSuccessful()) { + future.complete(new CloudPDFClientHttpResponse<>(null, response)); + return; + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + try { + if (response.code() == 404) { + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + public CompletableFuture> update( + String tenantId, String shareId) { + return update(tenantId, shareId, SharesUpdateRequest.builder().build()); + } + + public CompletableFuture> update( + String tenantId, String shareId, RequestOptions requestOptions) { + return update(tenantId, shareId, SharesUpdateRequest.builder().build(), requestOptions); + } + + public CompletableFuture> update( + String tenantId, String shareId, SharesUpdateRequest request) { + return update(tenantId, shareId, request, null); + } + + public CompletableFuture> update( + String tenantId, String shareId, SharesUpdateRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares") + .addPathSegment(shareId); + 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 CloudPDFException("Failed to serialize request", e); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("PATCH", 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesUpdate200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } +} diff --git a/src/main/java/api/resources/shares/AsyncSharesClient.java b/src/main/java/api/resources/shares/AsyncSharesClient.java new file mode 100644 index 0000000..43c91c0 --- /dev/null +++ b/src/main/java/api/resources/shares/AsyncSharesClient.java @@ -0,0 +1,137 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares; + +import com.cloudpdf.api.core.ClientOptions; +import com.cloudpdf.api.core.RequestOptions; +import com.cloudpdf.api.resources.shares.requests.DeleteSharesRequest; +import com.cloudpdf.api.resources.shares.requests.GetSharesRequest; +import com.cloudpdf.api.resources.shares.requests.ListSharesRequest; +import com.cloudpdf.api.resources.shares.requests.SharesCreateRequest; +import com.cloudpdf.api.resources.shares.requests.SharesExchangeRequest; +import com.cloudpdf.api.resources.shares.requests.SharesUpdateRequest; +import com.cloudpdf.api.types.SharesCreate200Response; +import com.cloudpdf.api.types.SharesExchange200Response; +import com.cloudpdf.api.types.SharesGet200Response; +import com.cloudpdf.api.types.SharesList200Response; +import com.cloudpdf.api.types.SharesUpdate200Response; +import java.util.concurrent.CompletableFuture; + +public class AsyncSharesClient { + protected final ClientOptions clientOptions; + + private final AsyncRawSharesClient rawClient; + + public AsyncSharesClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.rawClient = new AsyncRawSharesClient(clientOptions); + } + + /** + * Get responses with HTTP metadata like headers + */ + public AsyncRawSharesClient withRawResponse() { + return this.rawClient; + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public CompletableFuture exchange(SharesExchangeRequest request) { + return this.rawClient.exchange(request).thenApply(response -> response.body()); + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public CompletableFuture exchange( + SharesExchangeRequest request, RequestOptions requestOptions) { + return this.rawClient.exchange(request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture list(String tenantId) { + return this.rawClient.list(tenantId).thenApply(response -> response.body()); + } + + public CompletableFuture list(String tenantId, RequestOptions requestOptions) { + return this.rawClient.list(tenantId, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture list(String tenantId, ListSharesRequest request) { + return this.rawClient.list(tenantId, request).thenApply(response -> response.body()); + } + + public CompletableFuture list( + String tenantId, ListSharesRequest request, RequestOptions requestOptions) { + return this.rawClient.list(tenantId, request, requestOptions).thenApply(response -> response.body()); + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public CompletableFuture create(String tenantId, SharesCreateRequest request) { + return this.rawClient.create(tenantId, request).thenApply(response -> response.body()); + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public CompletableFuture create( + String tenantId, SharesCreateRequest request, RequestOptions requestOptions) { + return this.rawClient.create(tenantId, request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture get(String tenantId, String shareId) { + return this.rawClient.get(tenantId, shareId).thenApply(response -> response.body()); + } + + public CompletableFuture get(String tenantId, String shareId, RequestOptions requestOptions) { + return this.rawClient.get(tenantId, shareId, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture get(String tenantId, String shareId, GetSharesRequest request) { + return this.rawClient.get(tenantId, shareId, request).thenApply(response -> response.body()); + } + + public CompletableFuture get( + String tenantId, String shareId, GetSharesRequest request, RequestOptions requestOptions) { + return this.rawClient.get(tenantId, shareId, request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture delete(String tenantId, String shareId) { + return this.rawClient.delete(tenantId, shareId).thenApply(response -> response.body()); + } + + public CompletableFuture delete(String tenantId, String shareId, RequestOptions requestOptions) { + return this.rawClient.delete(tenantId, shareId, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture delete(String tenantId, String shareId, DeleteSharesRequest request) { + return this.rawClient.delete(tenantId, shareId, request).thenApply(response -> response.body()); + } + + public CompletableFuture delete( + String tenantId, String shareId, DeleteSharesRequest request, RequestOptions requestOptions) { + return this.rawClient.delete(tenantId, shareId, request, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture update(String tenantId, String shareId) { + return this.rawClient.update(tenantId, shareId).thenApply(response -> response.body()); + } + + public CompletableFuture update( + String tenantId, String shareId, RequestOptions requestOptions) { + return this.rawClient.update(tenantId, shareId, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture update( + String tenantId, String shareId, SharesUpdateRequest request) { + return this.rawClient.update(tenantId, shareId, request).thenApply(response -> response.body()); + } + + public CompletableFuture update( + String tenantId, String shareId, SharesUpdateRequest request, RequestOptions requestOptions) { + return this.rawClient.update(tenantId, shareId, request, requestOptions).thenApply(response -> response.body()); + } +} diff --git a/src/main/java/api/resources/shares/RawSharesClient.java b/src/main/java/api/resources/shares/RawSharesClient.java new file mode 100644 index 0000000..0f398ca --- /dev/null +++ b/src/main/java/api/resources/shares/RawSharesClient.java @@ -0,0 +1,524 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares; + +import com.cloudpdf.api.core.ClientOptions; +import com.cloudpdf.api.core.CloudPDFApiException; +import com.cloudpdf.api.core.CloudPDFClientHttpResponse; +import com.cloudpdf.api.core.CloudPDFException; +import com.cloudpdf.api.core.MediaTypes; +import com.cloudpdf.api.core.ObjectMappers; +import com.cloudpdf.api.core.QueryStringMapper; +import com.cloudpdf.api.core.RequestOptions; +import com.cloudpdf.api.core.RetryInterceptor; +import com.cloudpdf.api.errors.BadRequestError; +import com.cloudpdf.api.errors.ForbiddenError; +import com.cloudpdf.api.errors.GoneError; +import com.cloudpdf.api.errors.NotFoundError; +import com.cloudpdf.api.errors.UnprocessableEntityError; +import com.cloudpdf.api.resources.shares.requests.DeleteSharesRequest; +import com.cloudpdf.api.resources.shares.requests.GetSharesRequest; +import com.cloudpdf.api.resources.shares.requests.ListSharesRequest; +import com.cloudpdf.api.resources.shares.requests.SharesCreateRequest; +import com.cloudpdf.api.resources.shares.requests.SharesExchangeRequest; +import com.cloudpdf.api.resources.shares.requests.SharesUpdateRequest; +import com.cloudpdf.api.types.SharesCreate200Response; +import com.cloudpdf.api.types.SharesExchange200Response; +import com.cloudpdf.api.types.SharesExchange410Response; +import com.cloudpdf.api.types.SharesExchange422Response; +import com.cloudpdf.api.types.SharesGet200Response; +import com.cloudpdf.api.types.SharesList200Response; +import com.cloudpdf.api.types.SharesUpdate200Response; +import com.fasterxml.jackson.core.JsonProcessingException; +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; + +public class RawSharesClient { + protected final ClientOptions clientOptions; + + public RawSharesClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public CloudPDFClientHttpResponse exchange(SharesExchangeRequest request) { + return exchange(request, null); + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public CloudPDFClientHttpResponse exchange( + SharesExchangeRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/share-sessions"); + 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 CloudPDFException("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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesExchange200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 410: + throw new GoneError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, SharesExchange410Response.class), + response); + case 422: + throw new UnprocessableEntityError( + ObjectMappers.JSON_MAPPER.readValue( + responseBodyString, SharesExchange422Response.class), + response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + public CloudPDFClientHttpResponse list(String tenantId) { + return list(tenantId, ListSharesRequest.builder().build()); + } + + public CloudPDFClientHttpResponse list(String tenantId, RequestOptions requestOptions) { + return list(tenantId, ListSharesRequest.builder().build(), requestOptions); + } + + public CloudPDFClientHttpResponse list(String tenantId, ListSharesRequest request) { + return list(tenantId, request, null); + } + + public CloudPDFClientHttpResponse list( + String tenantId, ListSharesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares"); + if (request.getLimit().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "limit", request.getLimit().get(), false); + } + if (request.getCursor().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "cursor", request.getCursor().get(), false); + } + if (request.getDocId().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "docId", request.getDocId().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesList200Response.class), response); + } + try { + if (response.code() == 400) { + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public CloudPDFClientHttpResponse create(String tenantId, SharesCreateRequest request) { + return create(tenantId, request, null); + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public CloudPDFClientHttpResponse create( + String tenantId, SharesCreateRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares"); + 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 CloudPDFException("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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesCreate200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 403: + throw new ForbiddenError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + public CloudPDFClientHttpResponse get(String tenantId, String shareId) { + return get(tenantId, shareId, GetSharesRequest.builder().build()); + } + + public CloudPDFClientHttpResponse get( + String tenantId, String shareId, RequestOptions requestOptions) { + return get(tenantId, shareId, GetSharesRequest.builder().build(), requestOptions); + } + + public CloudPDFClientHttpResponse get( + String tenantId, String shareId, GetSharesRequest request) { + return get(tenantId, shareId, request, null); + } + + public CloudPDFClientHttpResponse get( + String tenantId, String shareId, GetSharesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares") + .addPathSegment(shareId); + 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesGet200Response.class), response); + } + try { + if (response.code() == 404) { + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + public CloudPDFClientHttpResponse delete(String tenantId, String shareId) { + return delete(tenantId, shareId, DeleteSharesRequest.builder().build()); + } + + public CloudPDFClientHttpResponse delete(String tenantId, String shareId, RequestOptions requestOptions) { + return delete(tenantId, shareId, DeleteSharesRequest.builder().build(), requestOptions); + } + + public CloudPDFClientHttpResponse delete(String tenantId, String shareId, DeleteSharesRequest request) { + return delete(tenantId, shareId, request, null); + } + + public CloudPDFClientHttpResponse delete( + String tenantId, String shareId, DeleteSharesRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares") + .addPathSegment(shareId); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("DELETE", 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>(null, response); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + try { + if (response.code() == 404) { + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + public CloudPDFClientHttpResponse update(String tenantId, String shareId) { + return update(tenantId, shareId, SharesUpdateRequest.builder().build()); + } + + public CloudPDFClientHttpResponse update( + String tenantId, String shareId, RequestOptions requestOptions) { + return update(tenantId, shareId, SharesUpdateRequest.builder().build(), requestOptions); + } + + public CloudPDFClientHttpResponse update( + String tenantId, String shareId, SharesUpdateRequest request) { + return update(tenantId, shareId, request, null); + } + + public CloudPDFClientHttpResponse update( + String tenantId, String shareId, SharesUpdateRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("shares") + .addPathSegment(shareId); + 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 CloudPDFException("Failed to serialize request", e); + } + Request okhttpRequest = new Request.Builder() + .url(httpUrl.build()) + .method("PATCH", 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SharesUpdate200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } +} diff --git a/src/main/java/api/resources/shares/SharesClient.java b/src/main/java/api/resources/shares/SharesClient.java new file mode 100644 index 0000000..af23d00 --- /dev/null +++ b/src/main/java/api/resources/shares/SharesClient.java @@ -0,0 +1,130 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares; + +import com.cloudpdf.api.core.ClientOptions; +import com.cloudpdf.api.core.RequestOptions; +import com.cloudpdf.api.resources.shares.requests.DeleteSharesRequest; +import com.cloudpdf.api.resources.shares.requests.GetSharesRequest; +import com.cloudpdf.api.resources.shares.requests.ListSharesRequest; +import com.cloudpdf.api.resources.shares.requests.SharesCreateRequest; +import com.cloudpdf.api.resources.shares.requests.SharesExchangeRequest; +import com.cloudpdf.api.resources.shares.requests.SharesUpdateRequest; +import com.cloudpdf.api.types.SharesCreate200Response; +import com.cloudpdf.api.types.SharesExchange200Response; +import com.cloudpdf.api.types.SharesGet200Response; +import com.cloudpdf.api.types.SharesList200Response; +import com.cloudpdf.api.types.SharesUpdate200Response; + +public class SharesClient { + protected final ClientOptions clientOptions; + + private final RawSharesClient rawClient; + + public SharesClient(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + this.rawClient = new RawSharesClient(clientOptions); + } + + /** + * Get responses with HTTP metadata like headers + */ + public RawSharesClient withRawResponse() { + return this.rawClient; + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public SharesExchange200Response exchange(SharesExchangeRequest request) { + return this.rawClient.exchange(request).body(); + } + + /** + * Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until password is supplied. Mounted only when the deployment can sign (HS256 mode). + */ + public SharesExchange200Response exchange(SharesExchangeRequest request, RequestOptions requestOptions) { + return this.rawClient.exchange(request, requestOptions).body(); + } + + public SharesList200Response list(String tenantId) { + return this.rawClient.list(tenantId).body(); + } + + public SharesList200Response list(String tenantId, RequestOptions requestOptions) { + return this.rawClient.list(tenantId, requestOptions).body(); + } + + public SharesList200Response list(String tenantId, ListSharesRequest request) { + return this.rawClient.list(tenantId, request).body(); + } + + public SharesList200Response list(String tenantId, ListSharesRequest request, RequestOptions requestOptions) { + return this.rawClient.list(tenantId, request, requestOptions).body(); + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public SharesCreate200Response create(String tenantId, SharesCreateRequest request) { + return this.rawClient.create(tenantId, request).body(); + } + + /** + * The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does. + */ + public SharesCreate200Response create(String tenantId, SharesCreateRequest request, RequestOptions requestOptions) { + return this.rawClient.create(tenantId, request, requestOptions).body(); + } + + public SharesGet200Response get(String tenantId, String shareId) { + return this.rawClient.get(tenantId, shareId).body(); + } + + public SharesGet200Response get(String tenantId, String shareId, RequestOptions requestOptions) { + return this.rawClient.get(tenantId, shareId, requestOptions).body(); + } + + public SharesGet200Response get(String tenantId, String shareId, GetSharesRequest request) { + return this.rawClient.get(tenantId, shareId, request).body(); + } + + public SharesGet200Response get( + String tenantId, String shareId, GetSharesRequest request, RequestOptions requestOptions) { + return this.rawClient.get(tenantId, shareId, request, requestOptions).body(); + } + + public void delete(String tenantId, String shareId) { + this.rawClient.delete(tenantId, shareId).body(); + } + + public void delete(String tenantId, String shareId, RequestOptions requestOptions) { + this.rawClient.delete(tenantId, shareId, requestOptions).body(); + } + + public void delete(String tenantId, String shareId, DeleteSharesRequest request) { + this.rawClient.delete(tenantId, shareId, request).body(); + } + + public void delete(String tenantId, String shareId, DeleteSharesRequest request, RequestOptions requestOptions) { + this.rawClient.delete(tenantId, shareId, request, requestOptions).body(); + } + + public SharesUpdate200Response update(String tenantId, String shareId) { + return this.rawClient.update(tenantId, shareId).body(); + } + + public SharesUpdate200Response update(String tenantId, String shareId, RequestOptions requestOptions) { + return this.rawClient.update(tenantId, shareId, requestOptions).body(); + } + + public SharesUpdate200Response update(String tenantId, String shareId, SharesUpdateRequest request) { + return this.rawClient.update(tenantId, shareId, request).body(); + } + + public SharesUpdate200Response update( + String tenantId, String shareId, SharesUpdateRequest request, RequestOptions requestOptions) { + return this.rawClient.update(tenantId, shareId, request, requestOptions).body(); + } +} diff --git a/src/main/java/api/resources/shares/requests/DeleteSharesRequest.java b/src/main/java/api/resources/shares/requests/DeleteSharesRequest.java new file mode 100644 index 0000000..155d2d8 --- /dev/null +++ b/src/main/java/api/resources/shares/requests/DeleteSharesRequest.java @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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.databind.annotation.JsonDeserialize; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = DeleteSharesRequest.Builder.class) +public final class DeleteSharesRequest { + private final Map additionalProperties; + + private DeleteSharesRequest(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof DeleteSharesRequest; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @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 { + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(DeleteSharesRequest other) { + return this; + } + + public DeleteSharesRequest build() { + return new DeleteSharesRequest(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/api/resources/shares/requests/GetSharesRequest.java b/src/main/java/api/resources/shares/requests/GetSharesRequest.java new file mode 100644 index 0000000..21e09b3 --- /dev/null +++ b/src/main/java/api/resources/shares/requests/GetSharesRequest.java @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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.databind.annotation.JsonDeserialize; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = GetSharesRequest.Builder.class) +public final class GetSharesRequest { + private final Map additionalProperties; + + private GetSharesRequest(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof GetSharesRequest; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @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 { + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(GetSharesRequest other) { + return this; + } + + public GetSharesRequest build() { + return new GetSharesRequest(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/api/resources/shares/requests/ListSharesRequest.java b/src/main/java/api/resources/shares/requests/ListSharesRequest.java new file mode 100644 index 0000000..4a828a5 --- /dev/null +++ b/src/main/java/api/resources/shares/requests/ListSharesRequest.java @@ -0,0 +1,153 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ListSharesRequest.Builder.class) +public final class ListSharesRequest { + private final Optional limit; + + private final Optional cursor; + + private final Optional docId; + + private final Map additionalProperties; + + private ListSharesRequest( + Optional limit, + Optional cursor, + Optional docId, + Map additionalProperties) { + this.limit = limit; + this.cursor = cursor; + this.docId = docId; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("limit") + public Optional getLimit() { + return limit; + } + + @JsonProperty("cursor") + public Optional getCursor() { + return cursor; + } + + @JsonProperty("docId") + public Optional getDocId() { + return docId; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ListSharesRequest && equalTo((ListSharesRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(ListSharesRequest other) { + return limit.equals(other.limit) && cursor.equals(other.cursor) && docId.equals(other.docId); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.limit, this.cursor, this.docId); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static Builder builder() { + return new Builder(); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder { + private Optional limit = Optional.empty(); + + private Optional cursor = Optional.empty(); + + private Optional docId = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ListSharesRequest other) { + limit(other.getLimit()); + cursor(other.getCursor()); + docId(other.getDocId()); + return this; + } + + @JsonSetter(value = "limit", nulls = Nulls.SKIP) + public Builder limit(Optional limit) { + this.limit = limit; + return this; + } + + public Builder limit(Integer limit) { + this.limit = Optional.ofNullable(limit); + return this; + } + + @JsonSetter(value = "cursor", nulls = Nulls.SKIP) + public Builder cursor(Optional cursor) { + this.cursor = cursor; + return this; + } + + public Builder cursor(String cursor) { + this.cursor = Optional.ofNullable(cursor); + return this; + } + + @JsonSetter(value = "docId", nulls = Nulls.SKIP) + public Builder docId(Optional docId) { + this.docId = docId; + return this; + } + + public Builder docId(String docId) { + this.docId = Optional.ofNullable(docId); + return this; + } + + public ListSharesRequest build() { + return new ListSharesRequest(limit, cursor, docId, 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/api/resources/shares/requests/SharesCreateRequest.java b/src/main/java/api/resources/shares/requests/SharesCreateRequest.java new file mode 100644 index 0000000..80a5541 --- /dev/null +++ b/src/main/java/api/resources/shares/requests/SharesCreateRequest.java @@ -0,0 +1,325 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreateRequest.Builder.class) +public final class SharesCreateRequest { + private final String docId; + + private final Optional layerName; + + private final List scope; + + private final Optional> origins; + + private final Optional password; + + private final Optional sessionTtlSeconds; + + private final Optional expiresAt; + + private final Map additionalProperties; + + private SharesCreateRequest( + String docId, + Optional layerName, + List scope, + Optional> origins, + Optional password, + Optional sessionTtlSeconds, + Optional expiresAt, + Map additionalProperties) { + this.docId = docId; + this.layerName = layerName; + this.scope = scope; + this.origins = origins; + this.password = password; + this.sessionTtlSeconds = sessionTtlSeconds; + this.expiresAt = expiresAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("docId") + public String getDocId() { + return docId; + } + + @JsonProperty("layerName") + public Optional getLayerName() { + return layerName; + } + + @JsonProperty("scope") + public List getScope() { + return scope; + } + + @JsonProperty("origins") + public Optional> getOrigins() { + return origins; + } + + @JsonProperty("password") + public Optional getPassword() { + return password; + } + + @JsonProperty("sessionTtlSeconds") + public Optional getSessionTtlSeconds() { + return sessionTtlSeconds; + } + + @JsonProperty("expiresAt") + public Optional getExpiresAt() { + return expiresAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreateRequest && equalTo((SharesCreateRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreateRequest other) { + return docId.equals(other.docId) + && layerName.equals(other.layerName) + && scope.equals(other.scope) + && origins.equals(other.origins) + && password.equals(other.password) + && sessionTtlSeconds.equals(other.sessionTtlSeconds) + && expiresAt.equals(other.expiresAt); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.docId, + this.layerName, + this.scope, + this.origins, + this.password, + this.sessionTtlSeconds, + this.expiresAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static DocIdStage builder() { + return new Builder(); + } + + public interface DocIdStage { + _FinalStage docId(@NotNull String docId); + + Builder from(SharesCreateRequest other); + } + + public interface _FinalStage { + SharesCreateRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage layerName(Optional layerName); + + _FinalStage layerName(String layerName); + + _FinalStage scope(List scope); + + _FinalStage addScope(String scope); + + _FinalStage addAllScope(List scope); + + _FinalStage origins(Optional> origins); + + _FinalStage origins(List origins); + + _FinalStage password(Optional password); + + _FinalStage password(String password); + + _FinalStage sessionTtlSeconds(Optional sessionTtlSeconds); + + _FinalStage sessionTtlSeconds(Integer sessionTtlSeconds); + + _FinalStage expiresAt(Optional expiresAt); + + _FinalStage expiresAt(Integer expiresAt); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements DocIdStage, _FinalStage { + private String docId; + + private Optional expiresAt = Optional.empty(); + + private Optional sessionTtlSeconds = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional> origins = Optional.empty(); + + private List scope = new ArrayList<>(); + + private Optional layerName = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreateRequest other) { + docId(other.getDocId()); + layerName(other.getLayerName()); + scope(other.getScope()); + origins(other.getOrigins()); + password(other.getPassword()); + sessionTtlSeconds(other.getSessionTtlSeconds()); + expiresAt(other.getExpiresAt()); + return this; + } + + @java.lang.Override + @JsonSetter("docId") + public _FinalStage docId(@NotNull String docId) { + this.docId = Objects.requireNonNull(docId, "docId must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Integer expiresAt) { + this.expiresAt = Optional.ofNullable(expiresAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiresAt", nulls = Nulls.SKIP) + public _FinalStage expiresAt(Optional expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + @java.lang.Override + public _FinalStage sessionTtlSeconds(Integer sessionTtlSeconds) { + this.sessionTtlSeconds = Optional.ofNullable(sessionTtlSeconds); + return this; + } + + @java.lang.Override + @JsonSetter(value = "sessionTtlSeconds", nulls = Nulls.SKIP) + public _FinalStage sessionTtlSeconds(Optional sessionTtlSeconds) { + this.sessionTtlSeconds = sessionTtlSeconds; + return this; + } + + @java.lang.Override + public _FinalStage password(String password) { + this.password = Optional.ofNullable(password); + return this; + } + + @java.lang.Override + @JsonSetter(value = "password", nulls = Nulls.SKIP) + public _FinalStage password(Optional password) { + this.password = password; + return this; + } + + @java.lang.Override + public _FinalStage origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + @java.lang.Override + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public _FinalStage origins(Optional> origins) { + this.origins = origins; + return this; + } + + @java.lang.Override + public _FinalStage addAllScope(List scope) { + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public _FinalStage addScope(String scope) { + this.scope.add(scope); + return this; + } + + @java.lang.Override + @JsonSetter(value = "scope", nulls = Nulls.SKIP) + public _FinalStage scope(List scope) { + this.scope.clear(); + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public _FinalStage layerName(String layerName) { + this.layerName = Optional.ofNullable(layerName); + return this; + } + + @java.lang.Override + @JsonSetter(value = "layerName", nulls = Nulls.SKIP) + public _FinalStage layerName(Optional layerName) { + this.layerName = layerName; + return this; + } + + @java.lang.Override + public SharesCreateRequest build() { + return new SharesCreateRequest( + docId, layerName, scope, origins, password, sessionTtlSeconds, expiresAt, 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/api/resources/shares/requests/SharesExchangeRequest.java b/src/main/java/api/resources/shares/requests/SharesExchangeRequest.java new file mode 100644 index 0000000..6598034 --- /dev/null +++ b/src/main/java/api/resources/shares/requests/SharesExchangeRequest.java @@ -0,0 +1,149 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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 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 = SharesExchangeRequest.Builder.class) +public final class SharesExchangeRequest { + private final String shareToken; + + private final Optional password; + + private final Map additionalProperties; + + private SharesExchangeRequest( + String shareToken, Optional password, Map additionalProperties) { + this.shareToken = shareToken; + this.password = password; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("shareToken") + public String getShareToken() { + return shareToken; + } + + @JsonProperty("password") + public Optional getPassword() { + return password; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchangeRequest && equalTo((SharesExchangeRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchangeRequest other) { + return shareToken.equals(other.shareToken) && password.equals(other.password); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.shareToken, this.password); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ShareTokenStage builder() { + return new Builder(); + } + + public interface ShareTokenStage { + _FinalStage shareToken(@NotNull String shareToken); + + Builder from(SharesExchangeRequest other); + } + + public interface _FinalStage { + SharesExchangeRequest build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage password(Optional password); + + _FinalStage password(String password); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ShareTokenStage, _FinalStage { + private String shareToken; + + private Optional password = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchangeRequest other) { + shareToken(other.getShareToken()); + password(other.getPassword()); + return this; + } + + @java.lang.Override + @JsonSetter("shareToken") + public _FinalStage shareToken(@NotNull String shareToken) { + this.shareToken = Objects.requireNonNull(shareToken, "shareToken must not be null"); + return this; + } + + @java.lang.Override + public _FinalStage password(String password) { + this.password = Optional.ofNullable(password); + return this; + } + + @java.lang.Override + @JsonSetter(value = "password", nulls = Nulls.SKIP) + public _FinalStage password(Optional password) { + this.password = password; + return this; + } + + @java.lang.Override + public SharesExchangeRequest build() { + return new SharesExchangeRequest(shareToken, password, 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/api/resources/shares/requests/SharesUpdateRequest.java b/src/main/java/api/resources/shares/requests/SharesUpdateRequest.java new file mode 100644 index 0000000..8890209 --- /dev/null +++ b/src/main/java/api/resources/shares/requests/SharesUpdateRequest.java @@ -0,0 +1,293 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.shares.requests; + +import com.cloudpdf.api.core.Nullable; +import com.cloudpdf.api.core.NullableNonemptyFilter; +import com.cloudpdf.api.core.ObjectMappers; +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 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 = SharesUpdateRequest.Builder.class) +public final class SharesUpdateRequest { + private final Optional> scope; + + private final Optional> origins; + + private final Optional password; + + private final Optional sessionTtlSeconds; + + private final Optional disabled; + + private final Optional expiresAt; + + private final Map additionalProperties; + + private SharesUpdateRequest( + Optional> scope, + Optional> origins, + Optional password, + Optional sessionTtlSeconds, + Optional disabled, + Optional expiresAt, + Map additionalProperties) { + this.scope = scope; + this.origins = origins; + this.password = password; + this.sessionTtlSeconds = sessionTtlSeconds; + this.disabled = disabled; + this.expiresAt = expiresAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("scope") + public Optional> getScope() { + return scope; + } + + @JsonIgnore + public Optional> getOrigins() { + if (origins == null) { + return Optional.empty(); + } + return origins; + } + + @JsonIgnore + public Optional getPassword() { + if (password == null) { + return Optional.empty(); + } + return password; + } + + @JsonProperty("sessionTtlSeconds") + public Optional getSessionTtlSeconds() { + return sessionTtlSeconds; + } + + @JsonProperty("disabled") + public Optional getDisabled() { + return disabled; + } + + @JsonIgnore + public Optional getExpiresAt() { + if (expiresAt == null) { + return Optional.empty(); + } + return expiresAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("origins") + private Optional> _getOrigins() { + return origins; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("password") + private Optional _getPassword() { + return password; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("expiresAt") + private Optional _getExpiresAt() { + return expiresAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdateRequest && equalTo((SharesUpdateRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdateRequest other) { + return scope.equals(other.scope) + && origins.equals(other.origins) + && password.equals(other.password) + && sessionTtlSeconds.equals(other.sessionTtlSeconds) + && disabled.equals(other.disabled) + && expiresAt.equals(other.expiresAt); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.scope, this.origins, this.password, this.sessionTtlSeconds, this.disabled, this.expiresAt); + } + + @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> scope = Optional.empty(); + + private Optional> origins = Optional.empty(); + + private Optional password = Optional.empty(); + + private Optional sessionTtlSeconds = Optional.empty(); + + private Optional disabled = Optional.empty(); + + private Optional expiresAt = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(SharesUpdateRequest other) { + scope(other.getScope()); + origins(other.getOrigins()); + password(other.getPassword()); + sessionTtlSeconds(other.getSessionTtlSeconds()); + disabled(other.getDisabled()); + expiresAt(other.getExpiresAt()); + return this; + } + + @JsonSetter(value = "scope", nulls = Nulls.SKIP) + public Builder scope(Optional> scope) { + this.scope = scope; + return this; + } + + public Builder scope(List scope) { + this.scope = Optional.ofNullable(scope); + return this; + } + + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public Builder origins(Optional> origins) { + this.origins = origins; + return this; + } + + public Builder origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + public Builder origins(Nullable> origins) { + if (origins.isNull()) { + this.origins = null; + } else if (origins.isEmpty()) { + this.origins = Optional.empty(); + } else { + this.origins = Optional.of(origins.get()); + } + return this; + } + + @JsonSetter(value = "password", nulls = Nulls.SKIP) + public Builder password(Optional password) { + this.password = password; + return this; + } + + public Builder password(String password) { + this.password = Optional.ofNullable(password); + return this; + } + + public Builder password(Nullable password) { + if (password.isNull()) { + this.password = null; + } else if (password.isEmpty()) { + this.password = Optional.empty(); + } else { + this.password = Optional.of(password.get()); + } + return this; + } + + @JsonSetter(value = "sessionTtlSeconds", nulls = Nulls.SKIP) + public Builder sessionTtlSeconds(Optional sessionTtlSeconds) { + this.sessionTtlSeconds = sessionTtlSeconds; + return this; + } + + public Builder sessionTtlSeconds(Integer sessionTtlSeconds) { + this.sessionTtlSeconds = Optional.ofNullable(sessionTtlSeconds); + return this; + } + + @JsonSetter(value = "disabled", nulls = Nulls.SKIP) + public Builder disabled(Optional disabled) { + this.disabled = disabled; + return this; + } + + public Builder disabled(Boolean disabled) { + this.disabled = Optional.ofNullable(disabled); + return this; + } + + @JsonSetter(value = "expiresAt", nulls = Nulls.SKIP) + public Builder expiresAt(Optional expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + public Builder expiresAt(Integer expiresAt) { + this.expiresAt = Optional.ofNullable(expiresAt); + return this; + } + + public Builder expiresAt(Nullable expiresAt) { + if (expiresAt.isNull()) { + this.expiresAt = null; + } else if (expiresAt.isEmpty()) { + this.expiresAt = Optional.empty(); + } else { + this.expiresAt = Optional.of(expiresAt.get()); + } + return this; + } + + public SharesUpdateRequest build() { + return new SharesUpdateRequest( + scope, origins, password, sessionTtlSeconds, disabled, expiresAt, 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/api/resources/tenants/AsyncRawTenantsClient.java b/src/main/java/api/resources/tenants/AsyncRawTenantsClient.java index 39290c8..6d64afa 100644 --- a/src/main/java/api/resources/tenants/AsyncRawTenantsClient.java +++ b/src/main/java/api/resources/tenants/AsyncRawTenantsClient.java @@ -17,10 +17,14 @@ import com.cloudpdf.api.resources.tenants.requests.DeleteTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.GetTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.ListTenantsRequest; +import com.cloudpdf.api.resources.tenants.requests.ResumeTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.TenantsCreateRequest; +import com.cloudpdf.api.resources.tenants.requests.TenantsSuspendRequest; +import com.cloudpdf.api.resources.tenants.requests.UsageTenantsRequest; import com.cloudpdf.api.types.TenantsCreate200Response; import com.cloudpdf.api.types.TenantsGet200Response; import com.cloudpdf.api.types.TenantsList200Response; +import com.cloudpdf.api.types.TenantsUsage200Response; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; import java.util.concurrent.CompletableFuture; @@ -392,4 +396,297 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) { }); return future; } + + public CompletableFuture> resume(String tenantId) { + return resume(tenantId, ResumeTenantsRequest.builder().build()); + } + + public CompletableFuture> resume(String tenantId, RequestOptions requestOptions) { + return resume(tenantId, ResumeTenantsRequest.builder().build(), requestOptions); + } + + public CompletableFuture> resume(String tenantId, ResumeTenantsRequest request) { + return resume(tenantId, request, null); + } + + public CompletableFuture> resume( + String tenantId, ResumeTenantsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("resume"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", RequestBody.create("", 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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()) { + if (response.isSuccessful()) { + future.complete(new CloudPDFClientHttpResponse<>(null, response)); + return; + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + try { + if (response.code() == 404) { + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture> suspend(String tenantId) { + return suspend(tenantId, TenantsSuspendRequest.builder().build()); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture> suspend(String tenantId, RequestOptions requestOptions) { + return suspend(tenantId, TenantsSuspendRequest.builder().build(), requestOptions); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture> suspend(String tenantId, TenantsSuspendRequest request) { + return suspend(tenantId, request, null); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture> suspend( + String tenantId, TenantsSuspendRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("suspend"); + 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 CloudPDFException("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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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()) { + if (response.isSuccessful()) { + future.complete(new CloudPDFClientHttpResponse<>(null, response)); + return; + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + try { + if (response.code() == 404) { + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture> usage(String tenantId) { + return usage(tenantId, UsageTenantsRequest.builder().build()); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture> usage( + String tenantId, RequestOptions requestOptions) { + return usage(tenantId, UsageTenantsRequest.builder().build(), requestOptions); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture> usage( + String tenantId, UsageTenantsRequest request) { + return usage(tenantId, request, null); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture> usage( + String tenantId, UsageTenantsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("usage"); + if (request.getPeriod().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "period", request.getPeriod().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + 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 CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, TenantsUsage200Response.class), + response)); + return; + } + try { + switch (response.code()) { + case 400: + future.completeExceptionally(new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + case 404: + future.completeExceptionally(new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), + response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + future.completeExceptionally(new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response)); + return; + } catch (JsonProcessingException e) { + future.completeExceptionally( + new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e)); + } catch (IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + } + + @Override + public void onFailure(@NotNull Call call, @NotNull IOException e) { + future.completeExceptionally(new CloudPDFException("Network error executing HTTP request", e)); + } + }); + return future; + } } diff --git a/src/main/java/api/resources/tenants/AsyncTenantsClient.java b/src/main/java/api/resources/tenants/AsyncTenantsClient.java index 04d98fa..9216724 100644 --- a/src/main/java/api/resources/tenants/AsyncTenantsClient.java +++ b/src/main/java/api/resources/tenants/AsyncTenantsClient.java @@ -8,10 +8,14 @@ import com.cloudpdf.api.resources.tenants.requests.DeleteTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.GetTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.ListTenantsRequest; +import com.cloudpdf.api.resources.tenants.requests.ResumeTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.TenantsCreateRequest; +import com.cloudpdf.api.resources.tenants.requests.TenantsSuspendRequest; +import com.cloudpdf.api.resources.tenants.requests.UsageTenantsRequest; import com.cloudpdf.api.types.TenantsCreate200Response; import com.cloudpdf.api.types.TenantsGet200Response; import com.cloudpdf.api.types.TenantsList200Response; +import com.cloudpdf.api.types.TenantsUsage200Response; import java.util.concurrent.CompletableFuture; public class AsyncTenantsClient { @@ -101,4 +105,79 @@ public CompletableFuture delete( String tenantId, DeleteTenantsRequest request, RequestOptions requestOptions) { return this.rawClient.delete(tenantId, request, requestOptions).thenApply(response -> response.body()); } + + public CompletableFuture resume(String tenantId) { + return this.rawClient.resume(tenantId).thenApply(response -> response.body()); + } + + public CompletableFuture resume(String tenantId, RequestOptions requestOptions) { + return this.rawClient.resume(tenantId, requestOptions).thenApply(response -> response.body()); + } + + public CompletableFuture resume(String tenantId, ResumeTenantsRequest request) { + return this.rawClient.resume(tenantId, request).thenApply(response -> response.body()); + } + + public CompletableFuture resume( + String tenantId, ResumeTenantsRequest request, RequestOptions requestOptions) { + return this.rawClient.resume(tenantId, request, requestOptions).thenApply(response -> response.body()); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture suspend(String tenantId) { + return this.rawClient.suspend(tenantId).thenApply(response -> response.body()); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture suspend(String tenantId, RequestOptions requestOptions) { + return this.rawClient.suspend(tenantId, requestOptions).thenApply(response -> response.body()); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture suspend(String tenantId, TenantsSuspendRequest request) { + return this.rawClient.suspend(tenantId, request).thenApply(response -> response.body()); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CompletableFuture suspend( + String tenantId, TenantsSuspendRequest request, RequestOptions requestOptions) { + return this.rawClient.suspend(tenantId, request, requestOptions).thenApply(response -> response.body()); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture usage(String tenantId) { + return this.rawClient.usage(tenantId).thenApply(response -> response.body()); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture usage(String tenantId, RequestOptions requestOptions) { + return this.rawClient.usage(tenantId, requestOptions).thenApply(response -> response.body()); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture usage(String tenantId, UsageTenantsRequest request) { + return this.rawClient.usage(tenantId, request).thenApply(response -> response.body()); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CompletableFuture usage( + String tenantId, UsageTenantsRequest request, RequestOptions requestOptions) { + return this.rawClient.usage(tenantId, request, requestOptions).thenApply(response -> response.body()); + } } diff --git a/src/main/java/api/resources/tenants/RawTenantsClient.java b/src/main/java/api/resources/tenants/RawTenantsClient.java index b95f208..592e38c 100644 --- a/src/main/java/api/resources/tenants/RawTenantsClient.java +++ b/src/main/java/api/resources/tenants/RawTenantsClient.java @@ -17,10 +17,14 @@ import com.cloudpdf.api.resources.tenants.requests.DeleteTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.GetTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.ListTenantsRequest; +import com.cloudpdf.api.resources.tenants.requests.ResumeTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.TenantsCreateRequest; +import com.cloudpdf.api.resources.tenants.requests.TenantsSuspendRequest; +import com.cloudpdf.api.resources.tenants.requests.UsageTenantsRequest; import com.cloudpdf.api.types.TenantsCreate200Response; import com.cloudpdf.api.types.TenantsGet200Response; import com.cloudpdf.api.types.TenantsList200Response; +import com.cloudpdf.api.types.TenantsUsage200Response; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.IOException; import okhttp3.Headers; @@ -324,4 +328,247 @@ public CloudPDFClientHttpResponse delete( throw new CloudPDFException("Network error executing HTTP request", e); } } + + public CloudPDFClientHttpResponse resume(String tenantId) { + return resume(tenantId, ResumeTenantsRequest.builder().build()); + } + + public CloudPDFClientHttpResponse resume(String tenantId, RequestOptions requestOptions) { + return resume(tenantId, ResumeTenantsRequest.builder().build(), requestOptions); + } + + public CloudPDFClientHttpResponse resume(String tenantId, ResumeTenantsRequest request) { + return resume(tenantId, request, null); + } + + public CloudPDFClientHttpResponse resume( + String tenantId, ResumeTenantsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("resume"); + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("POST", RequestBody.create("", 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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>(null, response); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + try { + if (response.code() == 404) { + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CloudPDFClientHttpResponse suspend(String tenantId) { + return suspend(tenantId, TenantsSuspendRequest.builder().build()); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CloudPDFClientHttpResponse suspend(String tenantId, RequestOptions requestOptions) { + return suspend(tenantId, TenantsSuspendRequest.builder().build(), requestOptions); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CloudPDFClientHttpResponse suspend(String tenantId, TenantsSuspendRequest request) { + return suspend(tenantId, request, null); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public CloudPDFClientHttpResponse suspend( + String tenantId, TenantsSuspendRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("suspend"); + 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 CloudPDFException("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); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>(null, response); + } + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + try { + if (response.code() == 404) { + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CloudPDFClientHttpResponse usage(String tenantId) { + return usage(tenantId, UsageTenantsRequest.builder().build()); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CloudPDFClientHttpResponse usage(String tenantId, RequestOptions requestOptions) { + return usage(tenantId, UsageTenantsRequest.builder().build(), requestOptions); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CloudPDFClientHttpResponse usage(String tenantId, UsageTenantsRequest request) { + return usage(tenantId, request, null); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public CloudPDFClientHttpResponse usage( + String tenantId, UsageTenantsRequest request, RequestOptions requestOptions) { + HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl()) + .newBuilder() + .addPathSegments("v1/tenants") + .addPathSegment(tenantId) + .addPathSegments("usage"); + if (request.getPeriod().isPresent()) { + QueryStringMapper.addQueryParameter( + httpUrl, "period", request.getPeriod().get(), false); + } + if (requestOptions != null) { + requestOptions.getQueryParameters().forEach((_key, _value) -> { + httpUrl.addQueryParameter(_key, _value); + }); + } + Request.Builder _requestBuilder = new Request.Builder() + .url(httpUrl.build()) + .method("GET", null) + .headers(Headers.of(clientOptions.headers(requestOptions))) + .addHeader("Accept", "application/json"); + Request okhttpRequest = _requestBuilder.build(); + OkHttpClient client = clientOptions.httpClient(); + if (requestOptions != null && requestOptions.getTimeout().isPresent()) { + client = clientOptions.httpClientWithTimeout(requestOptions); + } + if (requestOptions != null && requestOptions.getMaxRetries().isPresent()) { + okhttpRequest = okhttpRequest + .newBuilder() + .tag( + RetryInterceptor.MaxRetriesOverride.class, + new RetryInterceptor.MaxRetriesOverride( + requestOptions.getMaxRetries().get())) + .build(); + } + try (Response response = client.newCall(okhttpRequest).execute()) { + ResponseBody responseBody = response.body(); + String responseBodyString = responseBody != null ? responseBody.string() : "{}"; + if (response.isSuccessful()) { + return new CloudPDFClientHttpResponse<>( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, TenantsUsage200Response.class), + response); + } + try { + switch (response.code()) { + case 400: + throw new BadRequestError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + case 404: + throw new NotFoundError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } + Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); + throw new CloudPDFApiException( + "Error with status code " + response.code(), response.code(), errorBody, response); + } catch (JsonProcessingException e) { + throw new CloudPDFException("Failed to deserialize response: " + e.getMessage(), e); + } catch (IOException e) { + throw new CloudPDFException("Network error executing HTTP request", e); + } + } } diff --git a/src/main/java/api/resources/tenants/TenantsClient.java b/src/main/java/api/resources/tenants/TenantsClient.java index e62b2b0..5c7cabb 100644 --- a/src/main/java/api/resources/tenants/TenantsClient.java +++ b/src/main/java/api/resources/tenants/TenantsClient.java @@ -8,10 +8,14 @@ import com.cloudpdf.api.resources.tenants.requests.DeleteTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.GetTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.ListTenantsRequest; +import com.cloudpdf.api.resources.tenants.requests.ResumeTenantsRequest; import com.cloudpdf.api.resources.tenants.requests.TenantsCreateRequest; +import com.cloudpdf.api.resources.tenants.requests.TenantsSuspendRequest; +import com.cloudpdf.api.resources.tenants.requests.UsageTenantsRequest; import com.cloudpdf.api.types.TenantsCreate200Response; import com.cloudpdf.api.types.TenantsGet200Response; import com.cloudpdf.api.types.TenantsList200Response; +import com.cloudpdf.api.types.TenantsUsage200Response; public class TenantsClient { protected final ClientOptions clientOptions; @@ -97,4 +101,76 @@ public void delete(String tenantId, DeleteTenantsRequest request) { public void delete(String tenantId, DeleteTenantsRequest request, RequestOptions requestOptions) { this.rawClient.delete(tenantId, request, requestOptions).body(); } + + public void resume(String tenantId) { + this.rawClient.resume(tenantId).body(); + } + + public void resume(String tenantId, RequestOptions requestOptions) { + this.rawClient.resume(tenantId, requestOptions).body(); + } + + public void resume(String tenantId, ResumeTenantsRequest request) { + this.rawClient.resume(tenantId, request).body(); + } + + public void resume(String tenantId, ResumeTenantsRequest request, RequestOptions requestOptions) { + this.rawClient.resume(tenantId, request, requestOptions).body(); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public void suspend(String tenantId) { + this.rawClient.suspend(tenantId).body(); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public void suspend(String tenantId, RequestOptions requestOptions) { + this.rawClient.suspend(tenantId, requestOptions).body(); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public void suspend(String tenantId, TenantsSuspendRequest request) { + this.rawClient.suspend(tenantId, request).body(); + } + + /** + * Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted. + */ + public void suspend(String tenantId, TenantsSuspendRequest request, RequestOptions requestOptions) { + this.rawClient.suspend(tenantId, request, requestOptions).body(); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public TenantsUsage200Response usage(String tenantId) { + return this.rawClient.usage(tenantId).body(); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public TenantsUsage200Response usage(String tenantId, RequestOptions requestOptions) { + return this.rawClient.usage(tenantId, requestOptions).body(); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public TenantsUsage200Response usage(String tenantId, UsageTenantsRequest request) { + return this.rawClient.usage(tenantId, request).body(); + } + + /** + * Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two. + */ + public TenantsUsage200Response usage(String tenantId, UsageTenantsRequest request, RequestOptions requestOptions) { + return this.rawClient.usage(tenantId, request, requestOptions).body(); + } } diff --git a/src/main/java/api/resources/tenants/requests/ResumeTenantsRequest.java b/src/main/java/api/resources/tenants/requests/ResumeTenantsRequest.java new file mode 100644 index 0000000..65be80f --- /dev/null +++ b/src/main/java/api/resources/tenants/requests/ResumeTenantsRequest.java @@ -0,0 +1,69 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.tenants.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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.databind.annotation.JsonDeserialize; +import java.util.HashMap; +import java.util.Map; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = ResumeTenantsRequest.Builder.class) +public final class ResumeTenantsRequest { + private final Map additionalProperties; + + private ResumeTenantsRequest(Map additionalProperties) { + this.additionalProperties = additionalProperties; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof ResumeTenantsRequest; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @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 { + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(ResumeTenantsRequest other) { + return this; + } + + public ResumeTenantsRequest build() { + return new ResumeTenantsRequest(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/api/resources/tenants/requests/TenantsSuspendRequest.java b/src/main/java/api/resources/tenants/requests/TenantsSuspendRequest.java new file mode 100644 index 0000000..d0d8821 --- /dev/null +++ b/src/main/java/api/resources/tenants/requests/TenantsSuspendRequest.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.tenants.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsSuspendRequest.Builder.class) +public final class TenantsSuspendRequest { + private final Optional reason; + + private final Map additionalProperties; + + private TenantsSuspendRequest(Optional reason, Map additionalProperties) { + this.reason = reason; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("reason") + public Optional getReason() { + return reason; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsSuspendRequest && equalTo((TenantsSuspendRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsSuspendRequest other) { + return reason.equals(other.reason); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.reason); + } + + @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 reason = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(TenantsSuspendRequest other) { + reason(other.getReason()); + return this; + } + + @JsonSetter(value = "reason", nulls = Nulls.SKIP) + public Builder reason(Optional reason) { + this.reason = reason; + return this; + } + + public Builder reason(String reason) { + this.reason = Optional.ofNullable(reason); + return this; + } + + public TenantsSuspendRequest build() { + return new TenantsSuspendRequest(reason, 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/api/resources/tenants/requests/UsageTenantsRequest.java b/src/main/java/api/resources/tenants/requests/UsageTenantsRequest.java new file mode 100644 index 0000000..a35fb29 --- /dev/null +++ b/src/main/java/api/resources/tenants/requests/UsageTenantsRequest.java @@ -0,0 +1,105 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.resources.tenants.requests; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = UsageTenantsRequest.Builder.class) +public final class UsageTenantsRequest { + private final Optional period; + + private final Map additionalProperties; + + private UsageTenantsRequest(Optional period, Map additionalProperties) { + this.period = period; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("period") + public Optional getPeriod() { + return period; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof UsageTenantsRequest && equalTo((UsageTenantsRequest) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(UsageTenantsRequest other) { + return period.equals(other.period); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.period); + } + + @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 period = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(UsageTenantsRequest other) { + period(other.getPeriod()); + return this; + } + + @JsonSetter(value = "period", nulls = Nulls.SKIP) + public Builder period(Optional period) { + this.period = period; + return this; + } + + public Builder period(String period) { + this.period = Optional.ofNullable(period); + return this; + } + + public UsageTenantsRequest build() { + return new UsageTenantsRequest(period, 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/api/types/DocAnnotationsCreate400ResponseCode.java b/src/main/java/api/types/DocAnnotationsCreate400ResponseCode.java index 84a6285..e7923df 100644 --- a/src/main/java/api/types/DocAnnotationsCreate400ResponseCode.java +++ b/src/main/java/api/types/DocAnnotationsCreate400ResponseCode.java @@ -44,6 +44,9 @@ public final class DocAnnotationsCreate400ResponseCode { public static final DocAnnotationsCreate400ResponseCode INVALID_ARG = new DocAnnotationsCreate400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocAnnotationsCreate400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocAnnotationsCreate400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocAnnotationsCreate400ResponseCode NETWORK = new DocAnnotationsCreate400ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocAnnotationsCreate400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocAnnotationsCreate404ResponseCode.java b/src/main/java/api/types/DocAnnotationsCreate404ResponseCode.java index 1c0463d..a5ab844 100644 --- a/src/main/java/api/types/DocAnnotationsCreate404ResponseCode.java +++ b/src/main/java/api/types/DocAnnotationsCreate404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocAnnotationsCreate404ResponseCode { public static final DocAnnotationsCreate404ResponseCode INVALID_ARG = new DocAnnotationsCreate404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocAnnotationsCreate404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocAnnotationsCreate404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocAnnotationsCreate404ResponseCode NETWORK = new DocAnnotationsCreate404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocAnnotationsCreate404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocAnnotationsDelete404ResponseCode.java b/src/main/java/api/types/DocAnnotationsDelete404ResponseCode.java index dba4deb..0f65b26 100644 --- a/src/main/java/api/types/DocAnnotationsDelete404ResponseCode.java +++ b/src/main/java/api/types/DocAnnotationsDelete404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocAnnotationsDelete404ResponseCode { public static final DocAnnotationsDelete404ResponseCode INVALID_ARG = new DocAnnotationsDelete404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocAnnotationsDelete404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocAnnotationsDelete404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocAnnotationsDelete404ResponseCode NETWORK = new DocAnnotationsDelete404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocAnnotationsDelete404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaret.java b/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaret.java index 42b182d..4cf548e 100644 --- a/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaret.java +++ b/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaret.java @@ -71,6 +71,10 @@ public final class DocAnnotationsList200ResponseAnnotationsItemCaret { private final Optional rectDifferences; + private final Optional rotation; + + private final Optional unrotatedRect; + private final Map additionalProperties; private DocAnnotationsList200ResponseAnnotationsItemCaret( @@ -97,6 +101,8 @@ private DocAnnotationsList200ResponseAnnotationsItemCaret( double opacity, Optional intent, Optional rectDifferences, + Optional rotation, + Optional unrotatedRect, Map additionalProperties) { this.ref = ref; this.pageObjectNumber = pageObjectNumber; @@ -121,6 +127,8 @@ private DocAnnotationsList200ResponseAnnotationsItemCaret( this.opacity = opacity; this.intent = intent; this.rectDifferences = rectDifferences; + this.rotation = rotation; + this.unrotatedRect = unrotatedRect; this.additionalProperties = additionalProperties; } @@ -266,6 +274,16 @@ public Optional getRotation() { + return rotation; + } + + @JsonProperty("unrotatedRect") + public Optional getUnrotatedRect() { + return unrotatedRect; + } + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) @JsonProperty("nm") private Optional _getNm() { @@ -355,7 +373,9 @@ private boolean equalTo(DocAnnotationsList200ResponseAnnotationsItemCaret other) && color.equals(other.color) && opacity == other.opacity && intent.equals(other.intent) - && rectDifferences.equals(other.rectDifferences); + && rectDifferences.equals(other.rectDifferences) + && rotation.equals(other.rotation) + && unrotatedRect.equals(other.unrotatedRect); } @java.lang.Override @@ -383,7 +403,9 @@ public int hashCode() { this.color, this.opacity, this.intent, - this.rectDifferences); + this.rectDifferences, + this.rotation, + this.unrotatedRect); } @java.lang.Override @@ -516,6 +538,15 @@ _FinalStage rectDifferences( _FinalStage rectDifferences( Nullable rectDifferences); + + _FinalStage rotation(Optional rotation); + + _FinalStage rotation(Double rotation); + + _FinalStage unrotatedRect( + Optional unrotatedRect); + + _FinalStage unrotatedRect(DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect unrotatedRect); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -548,6 +579,11 @@ public static final class Builder private double opacity; + private Optional unrotatedRect = + Optional.empty(); + + private Optional rotation = Optional.empty(); + private Optional rectDifferences = Optional.empty(); @@ -607,6 +643,8 @@ public Builder from(DocAnnotationsList200ResponseAnnotationsItemCaret other) { opacity(other.getOpacity()); intent(other.getIntent()); rectDifferences(other.getRectDifferences()); + rotation(other.getRotation()); + unrotatedRect(other.getUnrotatedRect()); return this; } @@ -674,6 +712,33 @@ public _FinalStage opacity(double opacity) { return this; } + @java.lang.Override + public _FinalStage unrotatedRect(DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect unrotatedRect) { + this.unrotatedRect = Optional.ofNullable(unrotatedRect); + return this; + } + + @java.lang.Override + @JsonSetter(value = "unrotatedRect", nulls = Nulls.SKIP) + public _FinalStage unrotatedRect( + Optional unrotatedRect) { + this.unrotatedRect = unrotatedRect; + return this; + } + + @java.lang.Override + public _FinalStage rotation(Double rotation) { + this.rotation = Optional.ofNullable(rotation); + return this; + } + + @java.lang.Override + @JsonSetter(value = "rotation", nulls = Nulls.SKIP) + public _FinalStage rotation(Optional rotation) { + this.rotation = rotation; + return this; + } + @java.lang.Override public _FinalStage rectDifferences( Nullable rectDifferences) { @@ -993,6 +1058,8 @@ public DocAnnotationsList200ResponseAnnotationsItemCaret build() { opacity, intent, rectDifferences, + rotation, + unrotatedRect, additionalProperties); } diff --git a/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect.java b/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect.java new file mode 100644 index 0000000..ab57b12 --- /dev/null +++ b/src/main/java/api/types/DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect.java @@ -0,0 +1,186 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect.Builder.class) +public final class DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect { + private final double left; + + private final double bottom; + + private final double right; + + private final double top; + + private final Map additionalProperties; + + private DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect( + double left, double bottom, double right, double top, Map additionalProperties) { + this.left = left; + this.bottom = bottom; + this.right = right; + this.top = top; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("left") + public double getLeft() { + return left; + } + + @JsonProperty("bottom") + public double getBottom() { + return bottom; + } + + @JsonProperty("right") + public double getRight() { + return right; + } + + @JsonProperty("top") + public double getTop() { + return top; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect + && equalTo((DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect other) { + return left == other.left && bottom == other.bottom && right == other.right && top == other.top; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.left, this.bottom, this.right, this.top); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static LeftStage builder() { + return new Builder(); + } + + public interface LeftStage { + BottomStage left(double left); + + Builder from(DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect other); + } + + public interface BottomStage { + RightStage bottom(double bottom); + } + + public interface RightStage { + TopStage right(double right); + } + + public interface TopStage { + _FinalStage top(double top); + } + + public interface _FinalStage { + DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements LeftStage, BottomStage, RightStage, TopStage, _FinalStage { + private double left; + + private double bottom; + + private double right; + + private double top; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect other) { + left(other.getLeft()); + bottom(other.getBottom()); + right(other.getRight()); + top(other.getTop()); + return this; + } + + @java.lang.Override + @JsonSetter("left") + public BottomStage left(double left) { + this.left = left; + return this; + } + + @java.lang.Override + @JsonSetter("bottom") + public RightStage bottom(double bottom) { + this.bottom = bottom; + return this; + } + + @java.lang.Override + @JsonSetter("right") + public TopStage right(double right) { + this.right = right; + return this; + } + + @java.lang.Override + @JsonSetter("top") + public _FinalStage top(double top) { + this.top = top; + return this; + } + + @java.lang.Override + public DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect build() { + return new DocAnnotationsList200ResponseAnnotationsItemCaretUnrotatedRect( + left, bottom, right, top, 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/api/types/DocAnnotationsList404ResponseCode.java b/src/main/java/api/types/DocAnnotationsList404ResponseCode.java index c91b4ad..0a56703 100644 --- a/src/main/java/api/types/DocAnnotationsList404ResponseCode.java +++ b/src/main/java/api/types/DocAnnotationsList404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocAnnotationsList404ResponseCode { public static final DocAnnotationsList404ResponseCode INVALID_ARG = new DocAnnotationsList404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocAnnotationsList404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocAnnotationsList404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocAnnotationsList404ResponseCode NETWORK = new DocAnnotationsList404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocAnnotationsList404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocAnnotationsUpdate400ResponseCode.java b/src/main/java/api/types/DocAnnotationsUpdate400ResponseCode.java index b73972f..2da7e26 100644 --- a/src/main/java/api/types/DocAnnotationsUpdate400ResponseCode.java +++ b/src/main/java/api/types/DocAnnotationsUpdate400ResponseCode.java @@ -44,6 +44,9 @@ public final class DocAnnotationsUpdate400ResponseCode { public static final DocAnnotationsUpdate400ResponseCode INVALID_ARG = new DocAnnotationsUpdate400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocAnnotationsUpdate400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocAnnotationsUpdate400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocAnnotationsUpdate400ResponseCode NETWORK = new DocAnnotationsUpdate400ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocAnnotationsUpdate400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocAnnotationsUpdate404ResponseCode.java b/src/main/java/api/types/DocAnnotationsUpdate404ResponseCode.java index c876704..46c95a9 100644 --- a/src/main/java/api/types/DocAnnotationsUpdate404ResponseCode.java +++ b/src/main/java/api/types/DocAnnotationsUpdate404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocAnnotationsUpdate404ResponseCode { public static final DocAnnotationsUpdate404ResponseCode INVALID_ARG = new DocAnnotationsUpdate404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocAnnotationsUpdate404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocAnnotationsUpdate404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocAnnotationsUpdate404ResponseCode NETWORK = new DocAnnotationsUpdate404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocAnnotationsUpdate404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocDownloadResponseCode.java b/src/main/java/api/types/DocDownloadResponseCode.java index aa9e050..6eb422c 100644 --- a/src/main/java/api/types/DocDownloadResponseCode.java +++ b/src/main/java/api/types/DocDownloadResponseCode.java @@ -39,6 +39,9 @@ public final class DocDownloadResponseCode { public static final DocDownloadResponseCode INVALID_ARG = new DocDownloadResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocDownloadResponseCode SHARE_PASSWORD_REQUIRED = + new DocDownloadResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocDownloadResponseCode NETWORK = new DocDownloadResponseCode(Value.NETWORK, "Network"); public static final DocDownloadResponseCode INVALID_REFERENCE = @@ -113,6 +116,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -158,6 +163,8 @@ public static DocDownloadResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -188,6 +195,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -228,6 +237,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsExportDataResponseCode.java b/src/main/java/api/types/DocFormsExportDataResponseCode.java index 3635365..c37fbf5 100644 --- a/src/main/java/api/types/DocFormsExportDataResponseCode.java +++ b/src/main/java/api/types/DocFormsExportDataResponseCode.java @@ -43,6 +43,9 @@ public final class DocFormsExportDataResponseCode { public static final DocFormsExportDataResponseCode INVALID_ARG = new DocFormsExportDataResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsExportDataResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsExportDataResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsExportDataResponseCode NETWORK = new DocFormsExportDataResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocFormsExportDataResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsGet404ResponseCode.java b/src/main/java/api/types/DocFormsGet404ResponseCode.java index 8224981..e1252a2 100644 --- a/src/main/java/api/types/DocFormsGet404ResponseCode.java +++ b/src/main/java/api/types/DocFormsGet404ResponseCode.java @@ -41,6 +41,9 @@ public final class DocFormsGet404ResponseCode { public static final DocFormsGet404ResponseCode INVALID_ARG = new DocFormsGet404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsGet404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsGet404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsGet404ResponseCode NETWORK = new DocFormsGet404ResponseCode(Value.NETWORK, "Network"); public static final DocFormsGet404ResponseCode INVALID_REFERENCE = @@ -115,6 +118,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -160,6 +165,8 @@ public static DocFormsGet404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -190,6 +197,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -230,6 +239,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsImportData400ResponseCode.java b/src/main/java/api/types/DocFormsImportData400ResponseCode.java index be8b0f0..744b707 100644 --- a/src/main/java/api/types/DocFormsImportData400ResponseCode.java +++ b/src/main/java/api/types/DocFormsImportData400ResponseCode.java @@ -44,6 +44,9 @@ public final class DocFormsImportData400ResponseCode { public static final DocFormsImportData400ResponseCode INVALID_ARG = new DocFormsImportData400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsImportData400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsImportData400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsImportData400ResponseCode NETWORK = new DocFormsImportData400ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocFormsImportData400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsImportData404ResponseCode.java b/src/main/java/api/types/DocFormsImportData404ResponseCode.java index 450a5c2..e505368 100644 --- a/src/main/java/api/types/DocFormsImportData404ResponseCode.java +++ b/src/main/java/api/types/DocFormsImportData404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocFormsImportData404ResponseCode { public static final DocFormsImportData404ResponseCode INVALID_ARG = new DocFormsImportData404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsImportData404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsImportData404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsImportData404ResponseCode NETWORK = new DocFormsImportData404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocFormsImportData404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsReset404ResponseCode.java b/src/main/java/api/types/DocFormsReset404ResponseCode.java index 2754168..0b3a6bf 100644 --- a/src/main/java/api/types/DocFormsReset404ResponseCode.java +++ b/src/main/java/api/types/DocFormsReset404ResponseCode.java @@ -43,6 +43,9 @@ public final class DocFormsReset404ResponseCode { public static final DocFormsReset404ResponseCode INVALID_ARG = new DocFormsReset404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsReset404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsReset404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsReset404ResponseCode NETWORK = new DocFormsReset404ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocFormsReset404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsSetValue400ResponseCode.java b/src/main/java/api/types/DocFormsSetValue400ResponseCode.java index 9a488c1..8623ffd 100644 --- a/src/main/java/api/types/DocFormsSetValue400ResponseCode.java +++ b/src/main/java/api/types/DocFormsSetValue400ResponseCode.java @@ -44,6 +44,9 @@ public final class DocFormsSetValue400ResponseCode { public static final DocFormsSetValue400ResponseCode INVALID_ARG = new DocFormsSetValue400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsSetValue400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsSetValue400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsSetValue400ResponseCode NETWORK = new DocFormsSetValue400ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocFormsSetValue400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocFormsSetValue404ResponseCode.java b/src/main/java/api/types/DocFormsSetValue404ResponseCode.java index 0dfa947..ba519c6 100644 --- a/src/main/java/api/types/DocFormsSetValue404ResponseCode.java +++ b/src/main/java/api/types/DocFormsSetValue404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocFormsSetValue404ResponseCode { public static final DocFormsSetValue404ResponseCode INVALID_ARG = new DocFormsSetValue404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocFormsSetValue404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocFormsSetValue404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocFormsSetValue404ResponseCode NETWORK = new DocFormsSetValue404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocFormsSetValue404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocHead404ResponseCode.java b/src/main/java/api/types/DocHead404ResponseCode.java index 71f0f95..6cee25e 100644 --- a/src/main/java/api/types/DocHead404ResponseCode.java +++ b/src/main/java/api/types/DocHead404ResponseCode.java @@ -39,6 +39,9 @@ public final class DocHead404ResponseCode { public static final DocHead404ResponseCode INVALID_ARG = new DocHead404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocHead404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocHead404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocHead404ResponseCode NETWORK = new DocHead404ResponseCode(Value.NETWORK, "Network"); public static final DocHead404ResponseCode INVALID_REFERENCE = @@ -113,6 +116,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -158,6 +163,8 @@ public static DocHead404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -188,6 +195,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -228,6 +237,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocManifest404ResponseCode.java b/src/main/java/api/types/DocManifest404ResponseCode.java index 21e8570..7d05b9f 100644 --- a/src/main/java/api/types/DocManifest404ResponseCode.java +++ b/src/main/java/api/types/DocManifest404ResponseCode.java @@ -41,6 +41,9 @@ public final class DocManifest404ResponseCode { public static final DocManifest404ResponseCode INVALID_ARG = new DocManifest404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocManifest404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocManifest404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocManifest404ResponseCode NETWORK = new DocManifest404ResponseCode(Value.NETWORK, "Network"); public static final DocManifest404ResponseCode INVALID_REFERENCE = @@ -115,6 +118,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -160,6 +165,8 @@ public static DocManifest404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -190,6 +197,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -230,6 +239,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocMetadataGet404ResponseCode.java b/src/main/java/api/types/DocMetadataGet404ResponseCode.java index f55de7c..efdaf1a 100644 --- a/src/main/java/api/types/DocMetadataGet404ResponseCode.java +++ b/src/main/java/api/types/DocMetadataGet404ResponseCode.java @@ -43,6 +43,9 @@ public final class DocMetadataGet404ResponseCode { public static final DocMetadataGet404ResponseCode INVALID_ARG = new DocMetadataGet404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocMetadataGet404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocMetadataGet404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocMetadataGet404ResponseCode NETWORK = new DocMetadataGet404ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocMetadataGet404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesDelete400ResponseCode.java b/src/main/java/api/types/DocPagesDelete400ResponseCode.java index 8187239..f2015cd 100644 --- a/src/main/java/api/types/DocPagesDelete400ResponseCode.java +++ b/src/main/java/api/types/DocPagesDelete400ResponseCode.java @@ -43,6 +43,9 @@ public final class DocPagesDelete400ResponseCode { public static final DocPagesDelete400ResponseCode INVALID_ARG = new DocPagesDelete400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesDelete400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesDelete400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesDelete400ResponseCode NETWORK = new DocPagesDelete400ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocPagesDelete400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesDelete404ResponseCode.java b/src/main/java/api/types/DocPagesDelete404ResponseCode.java index 5c89a58..7edc158 100644 --- a/src/main/java/api/types/DocPagesDelete404ResponseCode.java +++ b/src/main/java/api/types/DocPagesDelete404ResponseCode.java @@ -43,6 +43,9 @@ public final class DocPagesDelete404ResponseCode { public static final DocPagesDelete404ResponseCode INVALID_ARG = new DocPagesDelete404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesDelete404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesDelete404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesDelete404ResponseCode NETWORK = new DocPagesDelete404ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocPagesDelete404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesFlatten400ResponseCode.java b/src/main/java/api/types/DocPagesFlatten400ResponseCode.java index 8946d36..144e541 100644 --- a/src/main/java/api/types/DocPagesFlatten400ResponseCode.java +++ b/src/main/java/api/types/DocPagesFlatten400ResponseCode.java @@ -43,6 +43,9 @@ public final class DocPagesFlatten400ResponseCode { public static final DocPagesFlatten400ResponseCode INVALID_ARG = new DocPagesFlatten400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesFlatten400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesFlatten400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesFlatten400ResponseCode NETWORK = new DocPagesFlatten400ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocPagesFlatten400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesFlatten404ResponseCode.java b/src/main/java/api/types/DocPagesFlatten404ResponseCode.java index 7443446..e0c9126 100644 --- a/src/main/java/api/types/DocPagesFlatten404ResponseCode.java +++ b/src/main/java/api/types/DocPagesFlatten404ResponseCode.java @@ -43,6 +43,9 @@ public final class DocPagesFlatten404ResponseCode { public static final DocPagesFlatten404ResponseCode INVALID_ARG = new DocPagesFlatten404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesFlatten404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesFlatten404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesFlatten404ResponseCode NETWORK = new DocPagesFlatten404ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocPagesFlatten404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesMove400ResponseCode.java b/src/main/java/api/types/DocPagesMove400ResponseCode.java index 2698054..848cb98 100644 --- a/src/main/java/api/types/DocPagesMove400ResponseCode.java +++ b/src/main/java/api/types/DocPagesMove400ResponseCode.java @@ -41,6 +41,9 @@ public final class DocPagesMove400ResponseCode { public static final DocPagesMove400ResponseCode INVALID_ARG = new DocPagesMove400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesMove400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesMove400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesMove400ResponseCode NETWORK = new DocPagesMove400ResponseCode(Value.NETWORK, "Network"); public static final DocPagesMove400ResponseCode INVALID_REFERENCE = @@ -115,6 +118,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -160,6 +165,8 @@ public static DocPagesMove400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -190,6 +197,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -230,6 +239,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesMove404ResponseCode.java b/src/main/java/api/types/DocPagesMove404ResponseCode.java index 1ab4886..97bf30b 100644 --- a/src/main/java/api/types/DocPagesMove404ResponseCode.java +++ b/src/main/java/api/types/DocPagesMove404ResponseCode.java @@ -41,6 +41,9 @@ public final class DocPagesMove404ResponseCode { public static final DocPagesMove404ResponseCode INVALID_ARG = new DocPagesMove404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesMove404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesMove404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesMove404ResponseCode NETWORK = new DocPagesMove404ResponseCode(Value.NETWORK, "Network"); public static final DocPagesMove404ResponseCode INVALID_REFERENCE = @@ -115,6 +118,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -160,6 +165,8 @@ public static DocPagesMove404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -190,6 +197,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -230,6 +239,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesRotate400ResponseCode.java b/src/main/java/api/types/DocPagesRotate400ResponseCode.java index e273a68..16ead3a 100644 --- a/src/main/java/api/types/DocPagesRotate400ResponseCode.java +++ b/src/main/java/api/types/DocPagesRotate400ResponseCode.java @@ -43,6 +43,9 @@ public final class DocPagesRotate400ResponseCode { public static final DocPagesRotate400ResponseCode INVALID_ARG = new DocPagesRotate400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesRotate400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesRotate400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesRotate400ResponseCode NETWORK = new DocPagesRotate400ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocPagesRotate400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocPagesRotate404ResponseCode.java b/src/main/java/api/types/DocPagesRotate404ResponseCode.java index e411cc8..69df6c6 100644 --- a/src/main/java/api/types/DocPagesRotate404ResponseCode.java +++ b/src/main/java/api/types/DocPagesRotate404ResponseCode.java @@ -43,6 +43,9 @@ public final class DocPagesRotate404ResponseCode { public static final DocPagesRotate404ResponseCode INVALID_ARG = new DocPagesRotate404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocPagesRotate404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocPagesRotate404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocPagesRotate404ResponseCode NETWORK = new DocPagesRotate404ResponseCode(Value.NETWORK, "Network"); @@ -118,6 +121,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -163,6 +168,8 @@ public static DocPagesRotate404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -193,6 +200,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -233,6 +242,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocRedactionsApply400ResponseCode.java b/src/main/java/api/types/DocRedactionsApply400ResponseCode.java index a244975..fbf4566 100644 --- a/src/main/java/api/types/DocRedactionsApply400ResponseCode.java +++ b/src/main/java/api/types/DocRedactionsApply400ResponseCode.java @@ -44,6 +44,9 @@ public final class DocRedactionsApply400ResponseCode { public static final DocRedactionsApply400ResponseCode INVALID_ARG = new DocRedactionsApply400ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocRedactionsApply400ResponseCode SHARE_PASSWORD_REQUIRED = + new DocRedactionsApply400ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocRedactionsApply400ResponseCode NETWORK = new DocRedactionsApply400ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocRedactionsApply400ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocRedactionsApply404ResponseCode.java b/src/main/java/api/types/DocRedactionsApply404ResponseCode.java index ce3f907..47f454d 100644 --- a/src/main/java/api/types/DocRedactionsApply404ResponseCode.java +++ b/src/main/java/api/types/DocRedactionsApply404ResponseCode.java @@ -44,6 +44,9 @@ public final class DocRedactionsApply404ResponseCode { public static final DocRedactionsApply404ResponseCode INVALID_ARG = new DocRedactionsApply404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocRedactionsApply404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocRedactionsApply404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocRedactionsApply404ResponseCode NETWORK = new DocRedactionsApply404ResponseCode(Value.NETWORK, "Network"); @@ -119,6 +122,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -164,6 +169,8 @@ public static DocRedactionsApply404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -194,6 +201,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -234,6 +243,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocRenderResponseCode.java b/src/main/java/api/types/DocRenderResponseCode.java index 66085ba..dd243b8 100644 --- a/src/main/java/api/types/DocRenderResponseCode.java +++ b/src/main/java/api/types/DocRenderResponseCode.java @@ -37,6 +37,9 @@ public final class DocRenderResponseCode { public static final DocRenderResponseCode INVALID_ARG = new DocRenderResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocRenderResponseCode SHARE_PASSWORD_REQUIRED = + new DocRenderResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocRenderResponseCode NETWORK = new DocRenderResponseCode(Value.NETWORK, "Network"); public static final DocRenderResponseCode INVALID_REFERENCE = @@ -111,6 +114,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -156,6 +161,8 @@ public static DocRenderResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -186,6 +193,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -226,6 +235,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocText404ResponseCode.java b/src/main/java/api/types/DocText404ResponseCode.java index ecfdde5..cd97599 100644 --- a/src/main/java/api/types/DocText404ResponseCode.java +++ b/src/main/java/api/types/DocText404ResponseCode.java @@ -39,6 +39,9 @@ public final class DocText404ResponseCode { public static final DocText404ResponseCode INVALID_ARG = new DocText404ResponseCode(Value.INVALID_ARG, "InvalidArg"); + public static final DocText404ResponseCode SHARE_PASSWORD_REQUIRED = + new DocText404ResponseCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final DocText404ResponseCode NETWORK = new DocText404ResponseCode(Value.NETWORK, "Network"); public static final DocText404ResponseCode INVALID_REFERENCE = @@ -113,6 +116,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -158,6 +163,8 @@ public static DocText404ResponseCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -188,6 +195,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -228,6 +237,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/DocumentsInit200ResponseCreatedUpload.java b/src/main/java/api/types/DocumentsInit200ResponseCreatedUpload.java index 581f861..43be49f 100644 --- a/src/main/java/api/types/DocumentsInit200ResponseCreatedUpload.java +++ b/src/main/java/api/types/DocumentsInit200ResponseCreatedUpload.java @@ -31,16 +31,16 @@ public static DocumentsInit200ResponseCreatedUpload presigned( return new DocumentsInit200ResponseCreatedUpload(new PresignedValue(value)); } - public static DocumentsInit200ResponseCreatedUpload direct(DocumentsInit200ResponseCreatedUploadDirect value) { - return new DocumentsInit200ResponseCreatedUpload(new DirectValue(value)); + public static DocumentsInit200ResponseCreatedUpload proxy(DocumentsInit200ResponseCreatedUploadProxy value) { + return new DocumentsInit200ResponseCreatedUpload(new ProxyValue(value)); } public boolean isPresigned() { return value instanceof PresignedValue; } - public boolean isDirect() { - return value instanceof DirectValue; + public boolean isProxy() { + return value instanceof ProxyValue; } public boolean _isUnknown() { @@ -54,9 +54,9 @@ public Optional getPresigned() { return Optional.empty(); } - public Optional getDirect() { - if (isDirect()) { - return Optional.of(((DirectValue) value).value); + public Optional getProxy() { + if (isProxy()) { + return Optional.of(((ProxyValue) value).value); } return Optional.empty(); } @@ -93,13 +93,13 @@ private Value getValue() { public interface Visitor { T visitPresigned(DocumentsInit200ResponseCreatedUploadPresigned presigned); - T visitDirect(DocumentsInit200ResponseCreatedUploadDirect direct); + T visitProxy(DocumentsInit200ResponseCreatedUploadProxy proxy); T _visitUnknown(Object unknownType); } @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", visible = true, defaultImpl = _UnknownValue.class) - @JsonSubTypes({@JsonSubTypes.Type(PresignedValue.class), @JsonSubTypes.Type(DirectValue.class)}) + @JsonSubTypes({@JsonSubTypes.Type(PresignedValue.class), @JsonSubTypes.Type(ProxyValue.class)}) @JsonIgnoreProperties(ignoreUnknown = true) private interface Value { T visit(Visitor visitor); @@ -145,32 +145,32 @@ public String toString() { } } - @JsonTypeName("direct") + @JsonTypeName("proxy") @JsonIgnoreProperties("kind") - private static final class DirectValue implements Value { + private static final class ProxyValue implements Value { @JsonUnwrapped @JsonIgnoreProperties(value = "kind", allowSetters = true) - private DocumentsInit200ResponseCreatedUploadDirect value; + private DocumentsInit200ResponseCreatedUploadProxy value; @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) - private DirectValue() {} + private ProxyValue() {} - private DirectValue(DocumentsInit200ResponseCreatedUploadDirect value) { + private ProxyValue(DocumentsInit200ResponseCreatedUploadProxy value) { this.value = value; } @java.lang.Override public T visit(Visitor visitor) { - return visitor.visitDirect(value); + return visitor.visitProxy(value); } @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DirectValue && equalTo((DirectValue) other); + return other instanceof ProxyValue && equalTo((ProxyValue) other); } - private boolean equalTo(DirectValue other) { + private boolean equalTo(ProxyValue other) { return value.equals(other.value); } diff --git a/src/main/java/api/types/DocumentsInit200ResponseCreatedUploadDirect.java b/src/main/java/api/types/DocumentsInit200ResponseCreatedUploadProxy.java similarity index 88% rename from src/main/java/api/types/DocumentsInit200ResponseCreatedUploadDirect.java rename to src/main/java/api/types/DocumentsInit200ResponseCreatedUploadProxy.java index e851894..6294750 100644 --- a/src/main/java/api/types/DocumentsInit200ResponseCreatedUploadDirect.java +++ b/src/main/java/api/types/DocumentsInit200ResponseCreatedUploadProxy.java @@ -17,15 +17,15 @@ import org.jetbrains.annotations.NotNull; @JsonInclude(JsonInclude.Include.NON_ABSENT) -@JsonDeserialize(builder = DocumentsInit200ResponseCreatedUploadDirect.Builder.class) -public final class DocumentsInit200ResponseCreatedUploadDirect { +@JsonDeserialize(builder = DocumentsInit200ResponseCreatedUploadProxy.Builder.class) +public final class DocumentsInit200ResponseCreatedUploadProxy { private final String url; private final String key; private final Map additionalProperties; - private DocumentsInit200ResponseCreatedUploadDirect( + private DocumentsInit200ResponseCreatedUploadProxy( String url, String key, Map additionalProperties) { this.url = url; this.key = key; @@ -45,8 +45,8 @@ public String getKey() { @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DocumentsInit200ResponseCreatedUploadDirect - && equalTo((DocumentsInit200ResponseCreatedUploadDirect) other); + return other instanceof DocumentsInit200ResponseCreatedUploadProxy + && equalTo((DocumentsInit200ResponseCreatedUploadProxy) other); } @JsonAnyGetter @@ -54,7 +54,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(DocumentsInit200ResponseCreatedUploadDirect other) { + private boolean equalTo(DocumentsInit200ResponseCreatedUploadProxy other) { return url.equals(other.url) && key.equals(other.key); } @@ -75,7 +75,7 @@ public static UrlStage builder() { public interface UrlStage { KeyStage url(@NotNull String url); - Builder from(DocumentsInit200ResponseCreatedUploadDirect other); + Builder from(DocumentsInit200ResponseCreatedUploadProxy other); } public interface KeyStage { @@ -83,7 +83,7 @@ public interface KeyStage { } public interface _FinalStage { - DocumentsInit200ResponseCreatedUploadDirect build(); + DocumentsInit200ResponseCreatedUploadProxy build(); _FinalStage additionalProperty(String key, Object value); @@ -102,7 +102,7 @@ public static final class Builder implements UrlStage, KeyStage, _FinalStage { private Builder() {} @java.lang.Override - public Builder from(DocumentsInit200ResponseCreatedUploadDirect other) { + public Builder from(DocumentsInit200ResponseCreatedUploadProxy other) { url(other.getUrl()); key(other.getKey()); return this; @@ -123,8 +123,8 @@ public _FinalStage key(@NotNull String key) { } @java.lang.Override - public DocumentsInit200ResponseCreatedUploadDirect build() { - return new DocumentsInit200ResponseCreatedUploadDirect(url, key, additionalProperties); + public DocumentsInit200ResponseCreatedUploadProxy build() { + return new DocumentsInit200ResponseCreatedUploadProxy(url, key, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/DocumentsInit200ResponseResumedUpload.java b/src/main/java/api/types/DocumentsInit200ResponseResumedUpload.java index d78e7d0..df875ab 100644 --- a/src/main/java/api/types/DocumentsInit200ResponseResumedUpload.java +++ b/src/main/java/api/types/DocumentsInit200ResponseResumedUpload.java @@ -31,16 +31,16 @@ public static DocumentsInit200ResponseResumedUpload presigned( return new DocumentsInit200ResponseResumedUpload(new PresignedValue(value)); } - public static DocumentsInit200ResponseResumedUpload direct(DocumentsInit200ResponseResumedUploadDirect value) { - return new DocumentsInit200ResponseResumedUpload(new DirectValue(value)); + public static DocumentsInit200ResponseResumedUpload proxy(DocumentsInit200ResponseResumedUploadProxy value) { + return new DocumentsInit200ResponseResumedUpload(new ProxyValue(value)); } public boolean isPresigned() { return value instanceof PresignedValue; } - public boolean isDirect() { - return value instanceof DirectValue; + public boolean isProxy() { + return value instanceof ProxyValue; } public boolean _isUnknown() { @@ -54,9 +54,9 @@ public Optional getPresigned() { return Optional.empty(); } - public Optional getDirect() { - if (isDirect()) { - return Optional.of(((DirectValue) value).value); + public Optional getProxy() { + if (isProxy()) { + return Optional.of(((ProxyValue) value).value); } return Optional.empty(); } @@ -93,13 +93,13 @@ private Value getValue() { public interface Visitor { T visitPresigned(DocumentsInit200ResponseResumedUploadPresigned presigned); - T visitDirect(DocumentsInit200ResponseResumedUploadDirect direct); + T visitProxy(DocumentsInit200ResponseResumedUploadProxy proxy); T _visitUnknown(Object unknownType); } @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "kind", visible = true, defaultImpl = _UnknownValue.class) - @JsonSubTypes({@JsonSubTypes.Type(PresignedValue.class), @JsonSubTypes.Type(DirectValue.class)}) + @JsonSubTypes({@JsonSubTypes.Type(PresignedValue.class), @JsonSubTypes.Type(ProxyValue.class)}) @JsonIgnoreProperties(ignoreUnknown = true) private interface Value { T visit(Visitor visitor); @@ -145,32 +145,32 @@ public String toString() { } } - @JsonTypeName("direct") + @JsonTypeName("proxy") @JsonIgnoreProperties("kind") - private static final class DirectValue implements Value { + private static final class ProxyValue implements Value { @JsonUnwrapped @JsonIgnoreProperties(value = "kind", allowSetters = true) - private DocumentsInit200ResponseResumedUploadDirect value; + private DocumentsInit200ResponseResumedUploadProxy value; @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) - private DirectValue() {} + private ProxyValue() {} - private DirectValue(DocumentsInit200ResponseResumedUploadDirect value) { + private ProxyValue(DocumentsInit200ResponseResumedUploadProxy value) { this.value = value; } @java.lang.Override public T visit(Visitor visitor) { - return visitor.visitDirect(value); + return visitor.visitProxy(value); } @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DirectValue && equalTo((DirectValue) other); + return other instanceof ProxyValue && equalTo((ProxyValue) other); } - private boolean equalTo(DirectValue other) { + private boolean equalTo(ProxyValue other) { return value.equals(other.value); } diff --git a/src/main/java/api/types/DocumentsInit200ResponseResumedUploadDirect.java b/src/main/java/api/types/DocumentsInit200ResponseResumedUploadProxy.java similarity index 88% rename from src/main/java/api/types/DocumentsInit200ResponseResumedUploadDirect.java rename to src/main/java/api/types/DocumentsInit200ResponseResumedUploadProxy.java index 42d6da9..6451361 100644 --- a/src/main/java/api/types/DocumentsInit200ResponseResumedUploadDirect.java +++ b/src/main/java/api/types/DocumentsInit200ResponseResumedUploadProxy.java @@ -17,15 +17,15 @@ import org.jetbrains.annotations.NotNull; @JsonInclude(JsonInclude.Include.NON_ABSENT) -@JsonDeserialize(builder = DocumentsInit200ResponseResumedUploadDirect.Builder.class) -public final class DocumentsInit200ResponseResumedUploadDirect { +@JsonDeserialize(builder = DocumentsInit200ResponseResumedUploadProxy.Builder.class) +public final class DocumentsInit200ResponseResumedUploadProxy { private final String url; private final String key; private final Map additionalProperties; - private DocumentsInit200ResponseResumedUploadDirect( + private DocumentsInit200ResponseResumedUploadProxy( String url, String key, Map additionalProperties) { this.url = url; this.key = key; @@ -45,8 +45,8 @@ public String getKey() { @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DocumentsInit200ResponseResumedUploadDirect - && equalTo((DocumentsInit200ResponseResumedUploadDirect) other); + return other instanceof DocumentsInit200ResponseResumedUploadProxy + && equalTo((DocumentsInit200ResponseResumedUploadProxy) other); } @JsonAnyGetter @@ -54,7 +54,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(DocumentsInit200ResponseResumedUploadDirect other) { + private boolean equalTo(DocumentsInit200ResponseResumedUploadProxy other) { return url.equals(other.url) && key.equals(other.key); } @@ -75,7 +75,7 @@ public static UrlStage builder() { public interface UrlStage { KeyStage url(@NotNull String url); - Builder from(DocumentsInit200ResponseResumedUploadDirect other); + Builder from(DocumentsInit200ResponseResumedUploadProxy other); } public interface KeyStage { @@ -83,7 +83,7 @@ public interface KeyStage { } public interface _FinalStage { - DocumentsInit200ResponseResumedUploadDirect build(); + DocumentsInit200ResponseResumedUploadProxy build(); _FinalStage additionalProperty(String key, Object value); @@ -102,7 +102,7 @@ public static final class Builder implements UrlStage, KeyStage, _FinalStage { private Builder() {} @java.lang.Override - public Builder from(DocumentsInit200ResponseResumedUploadDirect other) { + public Builder from(DocumentsInit200ResponseResumedUploadProxy other) { url(other.getUrl()); key(other.getKey()); return this; @@ -123,8 +123,8 @@ public _FinalStage key(@NotNull String key) { } @java.lang.Override - public DocumentsInit200ResponseResumedUploadDirect build() { - return new DocumentsInit200ResponseResumedUploadDirect(url, key, additionalProperties); + public DocumentsInit200ResponseResumedUploadProxy build() { + return new DocumentsInit200ResponseResumedUploadProxy(url, key, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/DocumentsUploadDirect200Response.java b/src/main/java/api/types/DocumentsUploadProxy200Response.java similarity index 79% rename from src/main/java/api/types/DocumentsUploadDirect200Response.java rename to src/main/java/api/types/DocumentsUploadProxy200Response.java index ea50630..71d9211 100644 --- a/src/main/java/api/types/DocumentsUploadDirect200Response.java +++ b/src/main/java/api/types/DocumentsUploadProxy200Response.java @@ -17,13 +17,13 @@ import org.jetbrains.annotations.NotNull; @JsonInclude(JsonInclude.Include.NON_ABSENT) -@JsonDeserialize(builder = DocumentsUploadDirect200Response.Builder.class) -public final class DocumentsUploadDirect200Response { +@JsonDeserialize(builder = DocumentsUploadProxy200Response.Builder.class) +public final class DocumentsUploadProxy200Response { private final String sha256; private final Map additionalProperties; - private DocumentsUploadDirect200Response(String sha256, Map additionalProperties) { + private DocumentsUploadProxy200Response(String sha256, Map additionalProperties) { this.sha256 = sha256; this.additionalProperties = additionalProperties; } @@ -36,7 +36,7 @@ public String getSha256() { @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DocumentsUploadDirect200Response && equalTo((DocumentsUploadDirect200Response) other); + return other instanceof DocumentsUploadProxy200Response && equalTo((DocumentsUploadProxy200Response) other); } @JsonAnyGetter @@ -44,7 +44,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(DocumentsUploadDirect200Response other) { + private boolean equalTo(DocumentsUploadProxy200Response other) { return sha256.equals(other.sha256); } @@ -65,11 +65,11 @@ public static Sha256Stage builder() { public interface Sha256Stage { _FinalStage sha256(@NotNull String sha256); - Builder from(DocumentsUploadDirect200Response other); + Builder from(DocumentsUploadProxy200Response other); } public interface _FinalStage { - DocumentsUploadDirect200Response build(); + DocumentsUploadProxy200Response build(); _FinalStage additionalProperty(String key, Object value); @@ -86,7 +86,7 @@ public static final class Builder implements Sha256Stage, _FinalStage { private Builder() {} @java.lang.Override - public Builder from(DocumentsUploadDirect200Response other) { + public Builder from(DocumentsUploadProxy200Response other) { sha256(other.getSha256()); return this; } @@ -99,8 +99,8 @@ public _FinalStage sha256(@NotNull String sha256) { } @java.lang.Override - public DocumentsUploadDirect200Response build() { - return new DocumentsUploadDirect200Response(sha256, additionalProperties); + public DocumentsUploadProxy200Response build() { + return new DocumentsUploadProxy200Response(sha256, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/DocumentsUploadDirect400Response.java b/src/main/java/api/types/DocumentsUploadProxy400Response.java similarity index 70% rename from src/main/java/api/types/DocumentsUploadDirect400Response.java rename to src/main/java/api/types/DocumentsUploadProxy400Response.java index 61b2353..a8334e7 100644 --- a/src/main/java/api/types/DocumentsUploadDirect400Response.java +++ b/src/main/java/api/types/DocumentsUploadProxy400Response.java @@ -17,27 +17,27 @@ import org.jetbrains.annotations.NotNull; @JsonInclude(JsonInclude.Include.NON_ABSENT) -@JsonDeserialize(builder = DocumentsUploadDirect400Response.Builder.class) -public final class DocumentsUploadDirect400Response { - private final DocumentsUploadDirect400ResponseError error; +@JsonDeserialize(builder = DocumentsUploadProxy400Response.Builder.class) +public final class DocumentsUploadProxy400Response { + private final DocumentsUploadProxy400ResponseError error; private final Map additionalProperties; - private DocumentsUploadDirect400Response( - DocumentsUploadDirect400ResponseError error, Map additionalProperties) { + private DocumentsUploadProxy400Response( + DocumentsUploadProxy400ResponseError error, Map additionalProperties) { this.error = error; this.additionalProperties = additionalProperties; } @JsonProperty("error") - public DocumentsUploadDirect400ResponseError getError() { + public DocumentsUploadProxy400ResponseError getError() { return error; } @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DocumentsUploadDirect400Response && equalTo((DocumentsUploadDirect400Response) other); + return other instanceof DocumentsUploadProxy400Response && equalTo((DocumentsUploadProxy400Response) other); } @JsonAnyGetter @@ -45,7 +45,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(DocumentsUploadDirect400Response other) { + private boolean equalTo(DocumentsUploadProxy400Response other) { return error.equals(other.error); } @@ -64,13 +64,13 @@ public static ErrorStage builder() { } public interface ErrorStage { - _FinalStage error(@NotNull DocumentsUploadDirect400ResponseError error); + _FinalStage error(@NotNull DocumentsUploadProxy400ResponseError error); - Builder from(DocumentsUploadDirect400Response other); + Builder from(DocumentsUploadProxy400Response other); } public interface _FinalStage { - DocumentsUploadDirect400Response build(); + DocumentsUploadProxy400Response build(); _FinalStage additionalProperty(String key, Object value); @@ -79,7 +79,7 @@ public interface _FinalStage { @JsonIgnoreProperties(ignoreUnknown = true) public static final class Builder implements ErrorStage, _FinalStage { - private DocumentsUploadDirect400ResponseError error; + private DocumentsUploadProxy400ResponseError error; @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -87,21 +87,21 @@ public static final class Builder implements ErrorStage, _FinalStage { private Builder() {} @java.lang.Override - public Builder from(DocumentsUploadDirect400Response other) { + public Builder from(DocumentsUploadProxy400Response other) { error(other.getError()); return this; } @java.lang.Override @JsonSetter("error") - public _FinalStage error(@NotNull DocumentsUploadDirect400ResponseError error) { + public _FinalStage error(@NotNull DocumentsUploadProxy400ResponseError error) { this.error = Objects.requireNonNull(error, "error must not be null"); return this; } @java.lang.Override - public DocumentsUploadDirect400Response build() { - return new DocumentsUploadDirect400Response(error, additionalProperties); + public DocumentsUploadProxy400Response build() { + return new DocumentsUploadProxy400Response(error, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/DocumentsUploadDirect400ResponseError.java b/src/main/java/api/types/DocumentsUploadProxy400ResponseError.java similarity index 82% rename from src/main/java/api/types/DocumentsUploadDirect400ResponseError.java rename to src/main/java/api/types/DocumentsUploadProxy400ResponseError.java index 0a2fdd3..b156c12 100644 --- a/src/main/java/api/types/DocumentsUploadDirect400ResponseError.java +++ b/src/main/java/api/types/DocumentsUploadProxy400ResponseError.java @@ -17,15 +17,15 @@ import org.jetbrains.annotations.NotNull; @JsonInclude(JsonInclude.Include.NON_ABSENT) -@JsonDeserialize(builder = DocumentsUploadDirect400ResponseError.Builder.class) -public final class DocumentsUploadDirect400ResponseError { +@JsonDeserialize(builder = DocumentsUploadProxy400ResponseError.Builder.class) +public final class DocumentsUploadProxy400ResponseError { private final String code; private final String message; private final Map additionalProperties; - private DocumentsUploadDirect400ResponseError( + private DocumentsUploadProxy400ResponseError( String code, String message, Map additionalProperties) { this.code = code; this.message = message; @@ -45,8 +45,8 @@ public String getMessage() { @java.lang.Override public boolean equals(Object other) { if (this == other) return true; - return other instanceof DocumentsUploadDirect400ResponseError - && equalTo((DocumentsUploadDirect400ResponseError) other); + return other instanceof DocumentsUploadProxy400ResponseError + && equalTo((DocumentsUploadProxy400ResponseError) other); } @JsonAnyGetter @@ -54,7 +54,7 @@ public Map getAdditionalProperties() { return this.additionalProperties; } - private boolean equalTo(DocumentsUploadDirect400ResponseError other) { + private boolean equalTo(DocumentsUploadProxy400ResponseError other) { return code.equals(other.code) && message.equals(other.message); } @@ -75,7 +75,7 @@ public static CodeStage builder() { public interface CodeStage { MessageStage code(@NotNull String code); - Builder from(DocumentsUploadDirect400ResponseError other); + Builder from(DocumentsUploadProxy400ResponseError other); } public interface MessageStage { @@ -83,7 +83,7 @@ public interface MessageStage { } public interface _FinalStage { - DocumentsUploadDirect400ResponseError build(); + DocumentsUploadProxy400ResponseError build(); _FinalStage additionalProperty(String key, Object value); @@ -102,7 +102,7 @@ public static final class Builder implements CodeStage, MessageStage, _FinalStag private Builder() {} @java.lang.Override - public Builder from(DocumentsUploadDirect400ResponseError other) { + public Builder from(DocumentsUploadProxy400ResponseError other) { code(other.getCode()); message(other.getMessage()); return this; @@ -123,8 +123,8 @@ public _FinalStage message(@NotNull String message) { } @java.lang.Override - public DocumentsUploadDirect400ResponseError build() { - return new DocumentsUploadDirect400ResponseError(code, message, additionalProperties); + public DocumentsUploadProxy400ResponseError build() { + return new DocumentsUploadProxy400ResponseError(code, message, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/DocumentsUploadProxy409Response.java b/src/main/java/api/types/DocumentsUploadProxy409Response.java new file mode 100644 index 0000000..a813a5c --- /dev/null +++ b/src/main/java/api/types/DocumentsUploadProxy409Response.java @@ -0,0 +1,119 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = DocumentsUploadProxy409Response.Builder.class) +public final class DocumentsUploadProxy409Response { + private final DocumentsUploadProxy409ResponseError error; + + private final Map additionalProperties; + + private DocumentsUploadProxy409Response( + DocumentsUploadProxy409ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public DocumentsUploadProxy409ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof DocumentsUploadProxy409Response && equalTo((DocumentsUploadProxy409Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(DocumentsUploadProxy409Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull DocumentsUploadProxy409ResponseError error); + + Builder from(DocumentsUploadProxy409Response other); + } + + public interface _FinalStage { + DocumentsUploadProxy409Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private DocumentsUploadProxy409ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(DocumentsUploadProxy409Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull DocumentsUploadProxy409ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public DocumentsUploadProxy409Response build() { + return new DocumentsUploadProxy409Response(error, 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/api/types/DocumentsUploadProxy409ResponseError.java b/src/main/java/api/types/DocumentsUploadProxy409ResponseError.java new file mode 100644 index 0000000..2794a05 --- /dev/null +++ b/src/main/java/api/types/DocumentsUploadProxy409ResponseError.java @@ -0,0 +1,142 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = DocumentsUploadProxy409ResponseError.Builder.class) +public final class DocumentsUploadProxy409ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private DocumentsUploadProxy409ResponseError( + String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof DocumentsUploadProxy409ResponseError + && equalTo((DocumentsUploadProxy409ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(DocumentsUploadProxy409ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(DocumentsUploadProxy409ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + DocumentsUploadProxy409ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(DocumentsUploadProxy409ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public DocumentsUploadProxy409ResponseError build() { + return new DocumentsUploadProxy409ResponseError(code, message, 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/api/types/EngineErrorPayloadCode.java b/src/main/java/api/types/EngineErrorPayloadCode.java index 66f472c..348a800 100644 --- a/src/main/java/api/types/EngineErrorPayloadCode.java +++ b/src/main/java/api/types/EngineErrorPayloadCode.java @@ -39,6 +39,9 @@ public final class EngineErrorPayloadCode { public static final EngineErrorPayloadCode INVALID_ARG = new EngineErrorPayloadCode(Value.INVALID_ARG, "InvalidArg"); + public static final EngineErrorPayloadCode SHARE_PASSWORD_REQUIRED = + new EngineErrorPayloadCode(Value.SHARE_PASSWORD_REQUIRED, "SharePasswordRequired"); + public static final EngineErrorPayloadCode NETWORK = new EngineErrorPayloadCode(Value.NETWORK, "Network"); public static final EngineErrorPayloadCode INVALID_REFERENCE = @@ -113,6 +116,8 @@ public T visit(Visitor visitor) { return visitor.visitDocPasswordRequired(); case INVALID_ARG: return visitor.visitInvalidArg(); + case SHARE_PASSWORD_REQUIRED: + return visitor.visitSharePasswordRequired(); case NETWORK: return visitor.visitNetwork(); case INVALID_REFERENCE: @@ -158,6 +163,8 @@ public static EngineErrorPayloadCode valueOf(String value) { return DOC_PASSWORD_REQUIRED; case "InvalidArg": return INVALID_ARG; + case "SharePasswordRequired": + return SHARE_PASSWORD_REQUIRED; case "Network": return NETWORK; case "InvalidReference": @@ -188,6 +195,8 @@ public enum Value { DOC_PASSWORD_INCORRECT, + SHARE_PASSWORD_REQUIRED, + ABORTED, NETWORK, @@ -228,6 +237,8 @@ public interface Visitor { T visitDocPasswordIncorrect(); + T visitSharePasswordRequired(); + T visitAborted(); T visitNetwork(); diff --git a/src/main/java/api/types/SharesCreate200Response.java b/src/main/java/api/types/SharesCreate200Response.java new file mode 100644 index 0000000..0101939 --- /dev/null +++ b/src/main/java/api/types/SharesCreate200Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate200Response.Builder.class) +public final class SharesCreate200Response { + private final SharesCreate200ResponseShare share; + + private final Map additionalProperties; + + private SharesCreate200Response(SharesCreate200ResponseShare share, Map additionalProperties) { + this.share = share; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("share") + public SharesCreate200ResponseShare getShare() { + return share; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate200Response && equalTo((SharesCreate200Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate200Response other) { + return share.equals(other.share); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.share); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ShareStage builder() { + return new Builder(); + } + + public interface ShareStage { + _FinalStage share(@NotNull SharesCreate200ResponseShare share); + + Builder from(SharesCreate200Response other); + } + + public interface _FinalStage { + SharesCreate200Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ShareStage, _FinalStage { + private SharesCreate200ResponseShare share; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate200Response other) { + share(other.getShare()); + return this; + } + + @java.lang.Override + @JsonSetter("share") + public _FinalStage share(@NotNull SharesCreate200ResponseShare share) { + this.share = Objects.requireNonNull(share, "share must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate200Response build() { + return new SharesCreate200Response(share, 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/api/types/SharesCreate200ResponseShare.java b/src/main/java/api/types/SharesCreate200ResponseShare.java new file mode 100644 index 0000000..63b6cfe --- /dev/null +++ b/src/main/java/api/types/SharesCreate200ResponseShare.java @@ -0,0 +1,612 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.Nullable; +import com.cloudpdf.api.core.NullableNonemptyFilter; +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate200ResponseShare.Builder.class) +public final class SharesCreate200ResponseShare { + private final String id; + + private final String tenantId; + + private final String docId; + + private final String layerName; + + private final List scope; + + private final Optional> origins; + + private final boolean passwordProtected; + + private final double sessionTtlSeconds; + + private final boolean disabled; + + private final Optional expiresAt; + + private final double exchangeCount; + + private final Optional lastExchangedAt; + + private final String createdBy; + + private final double createdAt; + + private final double updatedAt; + + private final Map additionalProperties; + + private SharesCreate200ResponseShare( + String id, + String tenantId, + String docId, + String layerName, + List scope, + Optional> origins, + boolean passwordProtected, + double sessionTtlSeconds, + boolean disabled, + Optional expiresAt, + double exchangeCount, + Optional lastExchangedAt, + String createdBy, + double createdAt, + double updatedAt, + Map additionalProperties) { + this.id = id; + this.tenantId = tenantId; + this.docId = docId; + this.layerName = layerName; + this.scope = scope; + this.origins = origins; + this.passwordProtected = passwordProtected; + this.sessionTtlSeconds = sessionTtlSeconds; + this.disabled = disabled; + this.expiresAt = expiresAt; + this.exchangeCount = exchangeCount; + this.lastExchangedAt = lastExchangedAt; + this.createdBy = createdBy; + this.createdAt = createdAt; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("tenantId") + public String getTenantId() { + return tenantId; + } + + @JsonProperty("docId") + public String getDocId() { + return docId; + } + + @JsonProperty("layerName") + public String getLayerName() { + return layerName; + } + + @JsonProperty("scope") + public List getScope() { + return scope; + } + + @JsonIgnore + public Optional> getOrigins() { + if (origins == null) { + return Optional.empty(); + } + return origins; + } + + @JsonProperty("passwordProtected") + public boolean getPasswordProtected() { + return passwordProtected; + } + + @JsonProperty("sessionTtlSeconds") + public double getSessionTtlSeconds() { + return sessionTtlSeconds; + } + + @JsonProperty("disabled") + public boolean getDisabled() { + return disabled; + } + + @JsonIgnore + public Optional getExpiresAt() { + if (expiresAt == null) { + return Optional.empty(); + } + return expiresAt; + } + + @JsonProperty("exchangeCount") + public double getExchangeCount() { + return exchangeCount; + } + + @JsonIgnore + public Optional getLastExchangedAt() { + if (lastExchangedAt == null) { + return Optional.empty(); + } + return lastExchangedAt; + } + + @JsonProperty("createdBy") + public String getCreatedBy() { + return createdBy; + } + + @JsonProperty("createdAt") + public double getCreatedAt() { + return createdAt; + } + + @JsonProperty("updatedAt") + public double getUpdatedAt() { + return updatedAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("origins") + private Optional> _getOrigins() { + return origins; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("expiresAt") + private Optional _getExpiresAt() { + return expiresAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("lastExchangedAt") + private Optional _getLastExchangedAt() { + return lastExchangedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate200ResponseShare && equalTo((SharesCreate200ResponseShare) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate200ResponseShare other) { + return id.equals(other.id) + && tenantId.equals(other.tenantId) + && docId.equals(other.docId) + && layerName.equals(other.layerName) + && scope.equals(other.scope) + && origins.equals(other.origins) + && passwordProtected == other.passwordProtected + && sessionTtlSeconds == other.sessionTtlSeconds + && disabled == other.disabled + && expiresAt.equals(other.expiresAt) + && exchangeCount == other.exchangeCount + && lastExchangedAt.equals(other.lastExchangedAt) + && createdBy.equals(other.createdBy) + && createdAt == other.createdAt + && updatedAt == other.updatedAt; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.tenantId, + this.docId, + this.layerName, + this.scope, + this.origins, + this.passwordProtected, + this.sessionTtlSeconds, + this.disabled, + this.expiresAt, + this.exchangeCount, + this.lastExchangedAt, + this.createdBy, + this.createdAt, + this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IdStage builder() { + return new Builder(); + } + + public interface IdStage { + TenantIdStage id(@NotNull String id); + + Builder from(SharesCreate200ResponseShare other); + } + + public interface TenantIdStage { + DocIdStage tenantId(@NotNull String tenantId); + } + + public interface DocIdStage { + LayerNameStage docId(@NotNull String docId); + } + + public interface LayerNameStage { + PasswordProtectedStage layerName(@NotNull String layerName); + } + + public interface PasswordProtectedStage { + SessionTtlSecondsStage passwordProtected(boolean passwordProtected); + } + + public interface SessionTtlSecondsStage { + DisabledStage sessionTtlSeconds(double sessionTtlSeconds); + } + + public interface DisabledStage { + ExchangeCountStage disabled(boolean disabled); + } + + public interface ExchangeCountStage { + CreatedByStage exchangeCount(double exchangeCount); + } + + public interface CreatedByStage { + CreatedAtStage createdBy(@NotNull String createdBy); + } + + public interface CreatedAtStage { + UpdatedAtStage createdAt(double createdAt); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(double updatedAt); + } + + public interface _FinalStage { + SharesCreate200ResponseShare build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage scope(List scope); + + _FinalStage addScope(String scope); + + _FinalStage addAllScope(List scope); + + _FinalStage origins(Optional> origins); + + _FinalStage origins(List origins); + + _FinalStage origins(Nullable> origins); + + _FinalStage expiresAt(Optional expiresAt); + + _FinalStage expiresAt(Double expiresAt); + + _FinalStage expiresAt(Nullable expiresAt); + + _FinalStage lastExchangedAt(Optional lastExchangedAt); + + _FinalStage lastExchangedAt(Double lastExchangedAt); + + _FinalStage lastExchangedAt(Nullable lastExchangedAt); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements IdStage, + TenantIdStage, + DocIdStage, + LayerNameStage, + PasswordProtectedStage, + SessionTtlSecondsStage, + DisabledStage, + ExchangeCountStage, + CreatedByStage, + CreatedAtStage, + UpdatedAtStage, + _FinalStage { + private String id; + + private String tenantId; + + private String docId; + + private String layerName; + + private boolean passwordProtected; + + private double sessionTtlSeconds; + + private boolean disabled; + + private double exchangeCount; + + private String createdBy; + + private double createdAt; + + private double updatedAt; + + private Optional lastExchangedAt = Optional.empty(); + + private Optional expiresAt = Optional.empty(); + + private Optional> origins = Optional.empty(); + + private List scope = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate200ResponseShare other) { + id(other.getId()); + tenantId(other.getTenantId()); + docId(other.getDocId()); + layerName(other.getLayerName()); + scope(other.getScope()); + origins(other.getOrigins()); + passwordProtected(other.getPasswordProtected()); + sessionTtlSeconds(other.getSessionTtlSeconds()); + disabled(other.getDisabled()); + expiresAt(other.getExpiresAt()); + exchangeCount(other.getExchangeCount()); + lastExchangedAt(other.getLastExchangedAt()); + createdBy(other.getCreatedBy()); + createdAt(other.getCreatedAt()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public TenantIdStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("tenantId") + public DocIdStage tenantId(@NotNull String tenantId) { + this.tenantId = Objects.requireNonNull(tenantId, "tenantId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("docId") + public LayerNameStage docId(@NotNull String docId) { + this.docId = Objects.requireNonNull(docId, "docId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("layerName") + public PasswordProtectedStage layerName(@NotNull String layerName) { + this.layerName = Objects.requireNonNull(layerName, "layerName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("passwordProtected") + public SessionTtlSecondsStage passwordProtected(boolean passwordProtected) { + this.passwordProtected = passwordProtected; + return this; + } + + @java.lang.Override + @JsonSetter("sessionTtlSeconds") + public DisabledStage sessionTtlSeconds(double sessionTtlSeconds) { + this.sessionTtlSeconds = sessionTtlSeconds; + return this; + } + + @java.lang.Override + @JsonSetter("disabled") + public ExchangeCountStage disabled(boolean disabled) { + this.disabled = disabled; + return this; + } + + @java.lang.Override + @JsonSetter("exchangeCount") + public CreatedByStage exchangeCount(double exchangeCount) { + this.exchangeCount = exchangeCount; + return this; + } + + @java.lang.Override + @JsonSetter("createdBy") + public CreatedAtStage createdBy(@NotNull String createdBy) { + this.createdBy = Objects.requireNonNull(createdBy, "createdBy must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("createdAt") + public UpdatedAtStage createdAt(double createdAt) { + this.createdAt = createdAt; + return this; + } + + @java.lang.Override + @JsonSetter("updatedAt") + public _FinalStage updatedAt(double updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Nullable lastExchangedAt) { + if (lastExchangedAt.isNull()) { + this.lastExchangedAt = null; + } else if (lastExchangedAt.isEmpty()) { + this.lastExchangedAt = Optional.empty(); + } else { + this.lastExchangedAt = Optional.of(lastExchangedAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Double lastExchangedAt) { + this.lastExchangedAt = Optional.ofNullable(lastExchangedAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "lastExchangedAt", nulls = Nulls.SKIP) + public _FinalStage lastExchangedAt(Optional lastExchangedAt) { + this.lastExchangedAt = lastExchangedAt; + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Nullable expiresAt) { + if (expiresAt.isNull()) { + this.expiresAt = null; + } else if (expiresAt.isEmpty()) { + this.expiresAt = Optional.empty(); + } else { + this.expiresAt = Optional.of(expiresAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Double expiresAt) { + this.expiresAt = Optional.ofNullable(expiresAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiresAt", nulls = Nulls.SKIP) + public _FinalStage expiresAt(Optional expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + @java.lang.Override + public _FinalStage origins(Nullable> origins) { + if (origins.isNull()) { + this.origins = null; + } else if (origins.isEmpty()) { + this.origins = Optional.empty(); + } else { + this.origins = Optional.of(origins.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + @java.lang.Override + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public _FinalStage origins(Optional> origins) { + this.origins = origins; + return this; + } + + @java.lang.Override + public _FinalStage addAllScope(List scope) { + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public _FinalStage addScope(String scope) { + this.scope.add(scope); + return this; + } + + @java.lang.Override + @JsonSetter(value = "scope", nulls = Nulls.SKIP) + public _FinalStage scope(List scope) { + this.scope.clear(); + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public SharesCreate200ResponseShare build() { + return new SharesCreate200ResponseShare( + id, + tenantId, + docId, + layerName, + scope, + origins, + passwordProtected, + sessionTtlSeconds, + disabled, + expiresAt, + exchangeCount, + lastExchangedAt, + createdBy, + createdAt, + 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/api/types/SharesCreate400Response.java b/src/main/java/api/types/SharesCreate400Response.java new file mode 100644 index 0000000..84a29fe --- /dev/null +++ b/src/main/java/api/types/SharesCreate400Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate400Response.Builder.class) +public final class SharesCreate400Response { + private final SharesCreate400ResponseError error; + + private final Map additionalProperties; + + private SharesCreate400Response(SharesCreate400ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesCreate400ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate400Response && equalTo((SharesCreate400Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate400Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesCreate400ResponseError error); + + Builder from(SharesCreate400Response other); + } + + public interface _FinalStage { + SharesCreate400Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesCreate400ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate400Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesCreate400ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate400Response build() { + return new SharesCreate400Response(error, 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/api/types/SharesCreate400ResponseError.java b/src/main/java/api/types/SharesCreate400ResponseError.java new file mode 100644 index 0000000..da60d46 --- /dev/null +++ b/src/main/java/api/types/SharesCreate400ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate400ResponseError.Builder.class) +public final class SharesCreate400ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesCreate400ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate400ResponseError && equalTo((SharesCreate400ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate400ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesCreate400ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesCreate400ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate400ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate400ResponseError build() { + return new SharesCreate400ResponseError(code, message, 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/api/types/SharesCreate403Response.java b/src/main/java/api/types/SharesCreate403Response.java new file mode 100644 index 0000000..8c00ed9 --- /dev/null +++ b/src/main/java/api/types/SharesCreate403Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate403Response.Builder.class) +public final class SharesCreate403Response { + private final SharesCreate403ResponseError error; + + private final Map additionalProperties; + + private SharesCreate403Response(SharesCreate403ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesCreate403ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate403Response && equalTo((SharesCreate403Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate403Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesCreate403ResponseError error); + + Builder from(SharesCreate403Response other); + } + + public interface _FinalStage { + SharesCreate403Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesCreate403ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate403Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesCreate403ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate403Response build() { + return new SharesCreate403Response(error, 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/api/types/SharesCreate403ResponseError.java b/src/main/java/api/types/SharesCreate403ResponseError.java new file mode 100644 index 0000000..b15ee5d --- /dev/null +++ b/src/main/java/api/types/SharesCreate403ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate403ResponseError.Builder.class) +public final class SharesCreate403ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesCreate403ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate403ResponseError && equalTo((SharesCreate403ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate403ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesCreate403ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesCreate403ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate403ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate403ResponseError build() { + return new SharesCreate403ResponseError(code, message, 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/api/types/SharesCreate404Response.java b/src/main/java/api/types/SharesCreate404Response.java new file mode 100644 index 0000000..cba2861 --- /dev/null +++ b/src/main/java/api/types/SharesCreate404Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate404Response.Builder.class) +public final class SharesCreate404Response { + private final SharesCreate404ResponseError error; + + private final Map additionalProperties; + + private SharesCreate404Response(SharesCreate404ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesCreate404ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate404Response && equalTo((SharesCreate404Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate404Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesCreate404ResponseError error); + + Builder from(SharesCreate404Response other); + } + + public interface _FinalStage { + SharesCreate404Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesCreate404ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate404Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesCreate404ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate404Response build() { + return new SharesCreate404Response(error, 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/api/types/SharesCreate404ResponseError.java b/src/main/java/api/types/SharesCreate404ResponseError.java new file mode 100644 index 0000000..dbc3769 --- /dev/null +++ b/src/main/java/api/types/SharesCreate404ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesCreate404ResponseError.Builder.class) +public final class SharesCreate404ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesCreate404ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesCreate404ResponseError && equalTo((SharesCreate404ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesCreate404ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesCreate404ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesCreate404ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesCreate404ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesCreate404ResponseError build() { + return new SharesCreate404ResponseError(code, message, 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/api/types/SharesDeleteResponse.java b/src/main/java/api/types/SharesDeleteResponse.java new file mode 100644 index 0000000..6e60478 --- /dev/null +++ b/src/main/java/api/types/SharesDeleteResponse.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesDeleteResponse.Builder.class) +public final class SharesDeleteResponse { + private final SharesDeleteResponseError error; + + private final Map additionalProperties; + + private SharesDeleteResponse(SharesDeleteResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesDeleteResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesDeleteResponse && equalTo((SharesDeleteResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesDeleteResponse other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesDeleteResponseError error); + + Builder from(SharesDeleteResponse other); + } + + public interface _FinalStage { + SharesDeleteResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesDeleteResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesDeleteResponse other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesDeleteResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesDeleteResponse build() { + return new SharesDeleteResponse(error, 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/api/types/SharesDeleteResponseError.java b/src/main/java/api/types/SharesDeleteResponseError.java new file mode 100644 index 0000000..6d52722 --- /dev/null +++ b/src/main/java/api/types/SharesDeleteResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesDeleteResponseError.Builder.class) +public final class SharesDeleteResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesDeleteResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesDeleteResponseError && equalTo((SharesDeleteResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesDeleteResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesDeleteResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesDeleteResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesDeleteResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesDeleteResponseError build() { + return new SharesDeleteResponseError(code, message, 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/api/types/SharesExchange200Response.java b/src/main/java/api/types/SharesExchange200Response.java new file mode 100644 index 0000000..d037cef --- /dev/null +++ b/src/main/java/api/types/SharesExchange200Response.java @@ -0,0 +1,188 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange200Response.Builder.class) +public final class SharesExchange200Response { + private final String token; + + private final String docId; + + private final String layerName; + + private final double expiresAt; + + private final Map additionalProperties; + + private SharesExchange200Response( + String token, String docId, String layerName, double expiresAt, Map additionalProperties) { + this.token = token; + this.docId = docId; + this.layerName = layerName; + this.expiresAt = expiresAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("token") + public String getToken() { + return token; + } + + @JsonProperty("docId") + public String getDocId() { + return docId; + } + + @JsonProperty("layerName") + public String getLayerName() { + return layerName; + } + + @JsonProperty("expiresAt") + public double getExpiresAt() { + return expiresAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange200Response && equalTo((SharesExchange200Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange200Response other) { + return token.equals(other.token) + && docId.equals(other.docId) + && layerName.equals(other.layerName) + && expiresAt == other.expiresAt; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.token, this.docId, this.layerName, this.expiresAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static TokenStage builder() { + return new Builder(); + } + + public interface TokenStage { + DocIdStage token(@NotNull String token); + + Builder from(SharesExchange200Response other); + } + + public interface DocIdStage { + LayerNameStage docId(@NotNull String docId); + } + + public interface LayerNameStage { + ExpiresAtStage layerName(@NotNull String layerName); + } + + public interface ExpiresAtStage { + _FinalStage expiresAt(double expiresAt); + } + + public interface _FinalStage { + SharesExchange200Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements TokenStage, DocIdStage, LayerNameStage, ExpiresAtStage, _FinalStage { + private String token; + + private String docId; + + private String layerName; + + private double expiresAt; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange200Response other) { + token(other.getToken()); + docId(other.getDocId()); + layerName(other.getLayerName()); + expiresAt(other.getExpiresAt()); + return this; + } + + @java.lang.Override + @JsonSetter("token") + public DocIdStage token(@NotNull String token) { + this.token = Objects.requireNonNull(token, "token must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("docId") + public LayerNameStage docId(@NotNull String docId) { + this.docId = Objects.requireNonNull(docId, "docId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("layerName") + public ExpiresAtStage layerName(@NotNull String layerName) { + this.layerName = Objects.requireNonNull(layerName, "layerName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("expiresAt") + public _FinalStage expiresAt(double expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + @java.lang.Override + public SharesExchange200Response build() { + return new SharesExchange200Response(token, docId, layerName, expiresAt, 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/api/types/SharesExchange400Response.java b/src/main/java/api/types/SharesExchange400Response.java new file mode 100644 index 0000000..132bbee --- /dev/null +++ b/src/main/java/api/types/SharesExchange400Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange400Response.Builder.class) +public final class SharesExchange400Response { + private final SharesExchange400ResponseError error; + + private final Map additionalProperties; + + private SharesExchange400Response(SharesExchange400ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesExchange400ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange400Response && equalTo((SharesExchange400Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange400Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesExchange400ResponseError error); + + Builder from(SharesExchange400Response other); + } + + public interface _FinalStage { + SharesExchange400Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesExchange400ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange400Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesExchange400ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange400Response build() { + return new SharesExchange400Response(error, 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/api/types/SharesExchange400ResponseError.java b/src/main/java/api/types/SharesExchange400ResponseError.java new file mode 100644 index 0000000..86daf03 --- /dev/null +++ b/src/main/java/api/types/SharesExchange400ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange400ResponseError.Builder.class) +public final class SharesExchange400ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesExchange400ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange400ResponseError && equalTo((SharesExchange400ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange400ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesExchange400ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesExchange400ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange400ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange400ResponseError build() { + return new SharesExchange400ResponseError(code, message, 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/api/types/SharesExchange403Response.java b/src/main/java/api/types/SharesExchange403Response.java new file mode 100644 index 0000000..88a256e --- /dev/null +++ b/src/main/java/api/types/SharesExchange403Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange403Response.Builder.class) +public final class SharesExchange403Response { + private final SharesExchange403ResponseError error; + + private final Map additionalProperties; + + private SharesExchange403Response(SharesExchange403ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesExchange403ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange403Response && equalTo((SharesExchange403Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange403Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesExchange403ResponseError error); + + Builder from(SharesExchange403Response other); + } + + public interface _FinalStage { + SharesExchange403Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesExchange403ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange403Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesExchange403ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange403Response build() { + return new SharesExchange403Response(error, 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/api/types/SharesExchange403ResponseError.java b/src/main/java/api/types/SharesExchange403ResponseError.java new file mode 100644 index 0000000..c4de5fa --- /dev/null +++ b/src/main/java/api/types/SharesExchange403ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange403ResponseError.Builder.class) +public final class SharesExchange403ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesExchange403ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange403ResponseError && equalTo((SharesExchange403ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange403ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesExchange403ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesExchange403ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange403ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange403ResponseError build() { + return new SharesExchange403ResponseError(code, message, 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/api/types/SharesExchange404Response.java b/src/main/java/api/types/SharesExchange404Response.java new file mode 100644 index 0000000..62d707d --- /dev/null +++ b/src/main/java/api/types/SharesExchange404Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange404Response.Builder.class) +public final class SharesExchange404Response { + private final SharesExchange404ResponseError error; + + private final Map additionalProperties; + + private SharesExchange404Response(SharesExchange404ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesExchange404ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange404Response && equalTo((SharesExchange404Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange404Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesExchange404ResponseError error); + + Builder from(SharesExchange404Response other); + } + + public interface _FinalStage { + SharesExchange404Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesExchange404ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange404Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesExchange404ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange404Response build() { + return new SharesExchange404Response(error, 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/api/types/SharesExchange404ResponseError.java b/src/main/java/api/types/SharesExchange404ResponseError.java new file mode 100644 index 0000000..d75c458 --- /dev/null +++ b/src/main/java/api/types/SharesExchange404ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange404ResponseError.Builder.class) +public final class SharesExchange404ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesExchange404ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange404ResponseError && equalTo((SharesExchange404ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange404ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesExchange404ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesExchange404ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange404ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange404ResponseError build() { + return new SharesExchange404ResponseError(code, message, 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/api/types/SharesExchange410Response.java b/src/main/java/api/types/SharesExchange410Response.java new file mode 100644 index 0000000..509fab2 --- /dev/null +++ b/src/main/java/api/types/SharesExchange410Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange410Response.Builder.class) +public final class SharesExchange410Response { + private final SharesExchange410ResponseError error; + + private final Map additionalProperties; + + private SharesExchange410Response(SharesExchange410ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesExchange410ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange410Response && equalTo((SharesExchange410Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange410Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesExchange410ResponseError error); + + Builder from(SharesExchange410Response other); + } + + public interface _FinalStage { + SharesExchange410Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesExchange410ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange410Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesExchange410ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange410Response build() { + return new SharesExchange410Response(error, 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/api/types/SharesExchange410ResponseError.java b/src/main/java/api/types/SharesExchange410ResponseError.java new file mode 100644 index 0000000..02c610b --- /dev/null +++ b/src/main/java/api/types/SharesExchange410ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange410ResponseError.Builder.class) +public final class SharesExchange410ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesExchange410ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange410ResponseError && equalTo((SharesExchange410ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange410ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesExchange410ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesExchange410ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange410ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange410ResponseError build() { + return new SharesExchange410ResponseError(code, message, 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/api/types/SharesExchange422Response.java b/src/main/java/api/types/SharesExchange422Response.java new file mode 100644 index 0000000..cf191d4 --- /dev/null +++ b/src/main/java/api/types/SharesExchange422Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange422Response.Builder.class) +public final class SharesExchange422Response { + private final SharesExchange422ResponseError error; + + private final Map additionalProperties; + + private SharesExchange422Response(SharesExchange422ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesExchange422ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange422Response && equalTo((SharesExchange422Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange422Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesExchange422ResponseError error); + + Builder from(SharesExchange422Response other); + } + + public interface _FinalStage { + SharesExchange422Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesExchange422ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange422Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesExchange422ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange422Response build() { + return new SharesExchange422Response(error, 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/api/types/SharesExchange422ResponseError.java b/src/main/java/api/types/SharesExchange422ResponseError.java new file mode 100644 index 0000000..4a1a0a7 --- /dev/null +++ b/src/main/java/api/types/SharesExchange422ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesExchange422ResponseError.Builder.class) +public final class SharesExchange422ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesExchange422ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesExchange422ResponseError && equalTo((SharesExchange422ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesExchange422ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesExchange422ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesExchange422ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesExchange422ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesExchange422ResponseError build() { + return new SharesExchange422ResponseError(code, message, 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/api/types/SharesGet200Response.java b/src/main/java/api/types/SharesGet200Response.java new file mode 100644 index 0000000..70535c8 --- /dev/null +++ b/src/main/java/api/types/SharesGet200Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesGet200Response.Builder.class) +public final class SharesGet200Response { + private final SharesGet200ResponseShare share; + + private final Map additionalProperties; + + private SharesGet200Response(SharesGet200ResponseShare share, Map additionalProperties) { + this.share = share; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("share") + public SharesGet200ResponseShare getShare() { + return share; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesGet200Response && equalTo((SharesGet200Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesGet200Response other) { + return share.equals(other.share); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.share); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ShareStage builder() { + return new Builder(); + } + + public interface ShareStage { + _FinalStage share(@NotNull SharesGet200ResponseShare share); + + Builder from(SharesGet200Response other); + } + + public interface _FinalStage { + SharesGet200Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ShareStage, _FinalStage { + private SharesGet200ResponseShare share; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesGet200Response other) { + share(other.getShare()); + return this; + } + + @java.lang.Override + @JsonSetter("share") + public _FinalStage share(@NotNull SharesGet200ResponseShare share) { + this.share = Objects.requireNonNull(share, "share must not be null"); + return this; + } + + @java.lang.Override + public SharesGet200Response build() { + return new SharesGet200Response(share, 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/api/types/SharesGet200ResponseShare.java b/src/main/java/api/types/SharesGet200ResponseShare.java new file mode 100644 index 0000000..8936b9e --- /dev/null +++ b/src/main/java/api/types/SharesGet200ResponseShare.java @@ -0,0 +1,612 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.Nullable; +import com.cloudpdf.api.core.NullableNonemptyFilter; +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesGet200ResponseShare.Builder.class) +public final class SharesGet200ResponseShare { + private final String id; + + private final String tenantId; + + private final String docId; + + private final String layerName; + + private final List scope; + + private final Optional> origins; + + private final boolean passwordProtected; + + private final double sessionTtlSeconds; + + private final boolean disabled; + + private final Optional expiresAt; + + private final double exchangeCount; + + private final Optional lastExchangedAt; + + private final String createdBy; + + private final double createdAt; + + private final double updatedAt; + + private final Map additionalProperties; + + private SharesGet200ResponseShare( + String id, + String tenantId, + String docId, + String layerName, + List scope, + Optional> origins, + boolean passwordProtected, + double sessionTtlSeconds, + boolean disabled, + Optional expiresAt, + double exchangeCount, + Optional lastExchangedAt, + String createdBy, + double createdAt, + double updatedAt, + Map additionalProperties) { + this.id = id; + this.tenantId = tenantId; + this.docId = docId; + this.layerName = layerName; + this.scope = scope; + this.origins = origins; + this.passwordProtected = passwordProtected; + this.sessionTtlSeconds = sessionTtlSeconds; + this.disabled = disabled; + this.expiresAt = expiresAt; + this.exchangeCount = exchangeCount; + this.lastExchangedAt = lastExchangedAt; + this.createdBy = createdBy; + this.createdAt = createdAt; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("tenantId") + public String getTenantId() { + return tenantId; + } + + @JsonProperty("docId") + public String getDocId() { + return docId; + } + + @JsonProperty("layerName") + public String getLayerName() { + return layerName; + } + + @JsonProperty("scope") + public List getScope() { + return scope; + } + + @JsonIgnore + public Optional> getOrigins() { + if (origins == null) { + return Optional.empty(); + } + return origins; + } + + @JsonProperty("passwordProtected") + public boolean getPasswordProtected() { + return passwordProtected; + } + + @JsonProperty("sessionTtlSeconds") + public double getSessionTtlSeconds() { + return sessionTtlSeconds; + } + + @JsonProperty("disabled") + public boolean getDisabled() { + return disabled; + } + + @JsonIgnore + public Optional getExpiresAt() { + if (expiresAt == null) { + return Optional.empty(); + } + return expiresAt; + } + + @JsonProperty("exchangeCount") + public double getExchangeCount() { + return exchangeCount; + } + + @JsonIgnore + public Optional getLastExchangedAt() { + if (lastExchangedAt == null) { + return Optional.empty(); + } + return lastExchangedAt; + } + + @JsonProperty("createdBy") + public String getCreatedBy() { + return createdBy; + } + + @JsonProperty("createdAt") + public double getCreatedAt() { + return createdAt; + } + + @JsonProperty("updatedAt") + public double getUpdatedAt() { + return updatedAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("origins") + private Optional> _getOrigins() { + return origins; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("expiresAt") + private Optional _getExpiresAt() { + return expiresAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("lastExchangedAt") + private Optional _getLastExchangedAt() { + return lastExchangedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesGet200ResponseShare && equalTo((SharesGet200ResponseShare) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesGet200ResponseShare other) { + return id.equals(other.id) + && tenantId.equals(other.tenantId) + && docId.equals(other.docId) + && layerName.equals(other.layerName) + && scope.equals(other.scope) + && origins.equals(other.origins) + && passwordProtected == other.passwordProtected + && sessionTtlSeconds == other.sessionTtlSeconds + && disabled == other.disabled + && expiresAt.equals(other.expiresAt) + && exchangeCount == other.exchangeCount + && lastExchangedAt.equals(other.lastExchangedAt) + && createdBy.equals(other.createdBy) + && createdAt == other.createdAt + && updatedAt == other.updatedAt; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.tenantId, + this.docId, + this.layerName, + this.scope, + this.origins, + this.passwordProtected, + this.sessionTtlSeconds, + this.disabled, + this.expiresAt, + this.exchangeCount, + this.lastExchangedAt, + this.createdBy, + this.createdAt, + this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IdStage builder() { + return new Builder(); + } + + public interface IdStage { + TenantIdStage id(@NotNull String id); + + Builder from(SharesGet200ResponseShare other); + } + + public interface TenantIdStage { + DocIdStage tenantId(@NotNull String tenantId); + } + + public interface DocIdStage { + LayerNameStage docId(@NotNull String docId); + } + + public interface LayerNameStage { + PasswordProtectedStage layerName(@NotNull String layerName); + } + + public interface PasswordProtectedStage { + SessionTtlSecondsStage passwordProtected(boolean passwordProtected); + } + + public interface SessionTtlSecondsStage { + DisabledStage sessionTtlSeconds(double sessionTtlSeconds); + } + + public interface DisabledStage { + ExchangeCountStage disabled(boolean disabled); + } + + public interface ExchangeCountStage { + CreatedByStage exchangeCount(double exchangeCount); + } + + public interface CreatedByStage { + CreatedAtStage createdBy(@NotNull String createdBy); + } + + public interface CreatedAtStage { + UpdatedAtStage createdAt(double createdAt); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(double updatedAt); + } + + public interface _FinalStage { + SharesGet200ResponseShare build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage scope(List scope); + + _FinalStage addScope(String scope); + + _FinalStage addAllScope(List scope); + + _FinalStage origins(Optional> origins); + + _FinalStage origins(List origins); + + _FinalStage origins(Nullable> origins); + + _FinalStage expiresAt(Optional expiresAt); + + _FinalStage expiresAt(Double expiresAt); + + _FinalStage expiresAt(Nullable expiresAt); + + _FinalStage lastExchangedAt(Optional lastExchangedAt); + + _FinalStage lastExchangedAt(Double lastExchangedAt); + + _FinalStage lastExchangedAt(Nullable lastExchangedAt); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements IdStage, + TenantIdStage, + DocIdStage, + LayerNameStage, + PasswordProtectedStage, + SessionTtlSecondsStage, + DisabledStage, + ExchangeCountStage, + CreatedByStage, + CreatedAtStage, + UpdatedAtStage, + _FinalStage { + private String id; + + private String tenantId; + + private String docId; + + private String layerName; + + private boolean passwordProtected; + + private double sessionTtlSeconds; + + private boolean disabled; + + private double exchangeCount; + + private String createdBy; + + private double createdAt; + + private double updatedAt; + + private Optional lastExchangedAt = Optional.empty(); + + private Optional expiresAt = Optional.empty(); + + private Optional> origins = Optional.empty(); + + private List scope = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesGet200ResponseShare other) { + id(other.getId()); + tenantId(other.getTenantId()); + docId(other.getDocId()); + layerName(other.getLayerName()); + scope(other.getScope()); + origins(other.getOrigins()); + passwordProtected(other.getPasswordProtected()); + sessionTtlSeconds(other.getSessionTtlSeconds()); + disabled(other.getDisabled()); + expiresAt(other.getExpiresAt()); + exchangeCount(other.getExchangeCount()); + lastExchangedAt(other.getLastExchangedAt()); + createdBy(other.getCreatedBy()); + createdAt(other.getCreatedAt()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public TenantIdStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("tenantId") + public DocIdStage tenantId(@NotNull String tenantId) { + this.tenantId = Objects.requireNonNull(tenantId, "tenantId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("docId") + public LayerNameStage docId(@NotNull String docId) { + this.docId = Objects.requireNonNull(docId, "docId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("layerName") + public PasswordProtectedStage layerName(@NotNull String layerName) { + this.layerName = Objects.requireNonNull(layerName, "layerName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("passwordProtected") + public SessionTtlSecondsStage passwordProtected(boolean passwordProtected) { + this.passwordProtected = passwordProtected; + return this; + } + + @java.lang.Override + @JsonSetter("sessionTtlSeconds") + public DisabledStage sessionTtlSeconds(double sessionTtlSeconds) { + this.sessionTtlSeconds = sessionTtlSeconds; + return this; + } + + @java.lang.Override + @JsonSetter("disabled") + public ExchangeCountStage disabled(boolean disabled) { + this.disabled = disabled; + return this; + } + + @java.lang.Override + @JsonSetter("exchangeCount") + public CreatedByStage exchangeCount(double exchangeCount) { + this.exchangeCount = exchangeCount; + return this; + } + + @java.lang.Override + @JsonSetter("createdBy") + public CreatedAtStage createdBy(@NotNull String createdBy) { + this.createdBy = Objects.requireNonNull(createdBy, "createdBy must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("createdAt") + public UpdatedAtStage createdAt(double createdAt) { + this.createdAt = createdAt; + return this; + } + + @java.lang.Override + @JsonSetter("updatedAt") + public _FinalStage updatedAt(double updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Nullable lastExchangedAt) { + if (lastExchangedAt.isNull()) { + this.lastExchangedAt = null; + } else if (lastExchangedAt.isEmpty()) { + this.lastExchangedAt = Optional.empty(); + } else { + this.lastExchangedAt = Optional.of(lastExchangedAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Double lastExchangedAt) { + this.lastExchangedAt = Optional.ofNullable(lastExchangedAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "lastExchangedAt", nulls = Nulls.SKIP) + public _FinalStage lastExchangedAt(Optional lastExchangedAt) { + this.lastExchangedAt = lastExchangedAt; + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Nullable expiresAt) { + if (expiresAt.isNull()) { + this.expiresAt = null; + } else if (expiresAt.isEmpty()) { + this.expiresAt = Optional.empty(); + } else { + this.expiresAt = Optional.of(expiresAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Double expiresAt) { + this.expiresAt = Optional.ofNullable(expiresAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiresAt", nulls = Nulls.SKIP) + public _FinalStage expiresAt(Optional expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + @java.lang.Override + public _FinalStage origins(Nullable> origins) { + if (origins.isNull()) { + this.origins = null; + } else if (origins.isEmpty()) { + this.origins = Optional.empty(); + } else { + this.origins = Optional.of(origins.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + @java.lang.Override + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public _FinalStage origins(Optional> origins) { + this.origins = origins; + return this; + } + + @java.lang.Override + public _FinalStage addAllScope(List scope) { + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public _FinalStage addScope(String scope) { + this.scope.add(scope); + return this; + } + + @java.lang.Override + @JsonSetter(value = "scope", nulls = Nulls.SKIP) + public _FinalStage scope(List scope) { + this.scope.clear(); + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public SharesGet200ResponseShare build() { + return new SharesGet200ResponseShare( + id, + tenantId, + docId, + layerName, + scope, + origins, + passwordProtected, + sessionTtlSeconds, + disabled, + expiresAt, + exchangeCount, + lastExchangedAt, + createdBy, + createdAt, + 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/api/types/SharesGet404Response.java b/src/main/java/api/types/SharesGet404Response.java new file mode 100644 index 0000000..3e6309d --- /dev/null +++ b/src/main/java/api/types/SharesGet404Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesGet404Response.Builder.class) +public final class SharesGet404Response { + private final SharesGet404ResponseError error; + + private final Map additionalProperties; + + private SharesGet404Response(SharesGet404ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesGet404ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesGet404Response && equalTo((SharesGet404Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesGet404Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesGet404ResponseError error); + + Builder from(SharesGet404Response other); + } + + public interface _FinalStage { + SharesGet404Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesGet404ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesGet404Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesGet404ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesGet404Response build() { + return new SharesGet404Response(error, 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/api/types/SharesGet404ResponseError.java b/src/main/java/api/types/SharesGet404ResponseError.java new file mode 100644 index 0000000..27b98de --- /dev/null +++ b/src/main/java/api/types/SharesGet404ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesGet404ResponseError.Builder.class) +public final class SharesGet404ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesGet404ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesGet404ResponseError && equalTo((SharesGet404ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesGet404ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesGet404ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesGet404ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesGet404ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesGet404ResponseError build() { + return new SharesGet404ResponseError(code, message, 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/api/types/SharesList200Response.java b/src/main/java/api/types/SharesList200Response.java new file mode 100644 index 0000000..76d7bf2 --- /dev/null +++ b/src/main/java/api/types/SharesList200Response.java @@ -0,0 +1,165 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.Nullable; +import com.cloudpdf.api.core.NullableNonemptyFilter; +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.ArrayList; +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 = SharesList200Response.Builder.class) +public final class SharesList200Response { + private final List shares; + + private final Optional nextCursor; + + private final Map additionalProperties; + + private SharesList200Response( + List shares, + Optional nextCursor, + Map additionalProperties) { + this.shares = shares; + this.nextCursor = nextCursor; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("shares") + public List getShares() { + return shares; + } + + @JsonIgnore + public Optional getNextCursor() { + if (nextCursor == null) { + return Optional.empty(); + } + return nextCursor; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("nextCursor") + private Optional _getNextCursor() { + return nextCursor; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesList200Response && equalTo((SharesList200Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesList200Response other) { + return shares.equals(other.shares) && nextCursor.equals(other.nextCursor); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.shares, this.nextCursor); + } + + @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 shares = new ArrayList<>(); + + private Optional nextCursor = Optional.empty(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + public Builder from(SharesList200Response other) { + shares(other.getShares()); + nextCursor(other.getNextCursor()); + return this; + } + + @JsonSetter(value = "shares", nulls = Nulls.SKIP) + public Builder shares(List shares) { + this.shares.clear(); + if (shares != null) { + this.shares.addAll(shares); + } + return this; + } + + public Builder addShares(SharesList200ResponseSharesItem shares) { + this.shares.add(shares); + return this; + } + + public Builder addAllShares(List shares) { + if (shares != null) { + this.shares.addAll(shares); + } + return this; + } + + @JsonSetter(value = "nextCursor", nulls = Nulls.SKIP) + public Builder nextCursor(Optional nextCursor) { + this.nextCursor = nextCursor; + return this; + } + + public Builder nextCursor(String nextCursor) { + this.nextCursor = Optional.ofNullable(nextCursor); + return this; + } + + public Builder nextCursor(Nullable nextCursor) { + if (nextCursor.isNull()) { + this.nextCursor = null; + } else if (nextCursor.isEmpty()) { + this.nextCursor = Optional.empty(); + } else { + this.nextCursor = Optional.of(nextCursor.get()); + } + return this; + } + + public SharesList200Response build() { + return new SharesList200Response(shares, nextCursor, 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/api/types/SharesList200ResponseSharesItem.java b/src/main/java/api/types/SharesList200ResponseSharesItem.java new file mode 100644 index 0000000..013aa66 --- /dev/null +++ b/src/main/java/api/types/SharesList200ResponseSharesItem.java @@ -0,0 +1,612 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.Nullable; +import com.cloudpdf.api.core.NullableNonemptyFilter; +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesList200ResponseSharesItem.Builder.class) +public final class SharesList200ResponseSharesItem { + private final String id; + + private final String tenantId; + + private final String docId; + + private final String layerName; + + private final List scope; + + private final Optional> origins; + + private final boolean passwordProtected; + + private final double sessionTtlSeconds; + + private final boolean disabled; + + private final Optional expiresAt; + + private final double exchangeCount; + + private final Optional lastExchangedAt; + + private final String createdBy; + + private final double createdAt; + + private final double updatedAt; + + private final Map additionalProperties; + + private SharesList200ResponseSharesItem( + String id, + String tenantId, + String docId, + String layerName, + List scope, + Optional> origins, + boolean passwordProtected, + double sessionTtlSeconds, + boolean disabled, + Optional expiresAt, + double exchangeCount, + Optional lastExchangedAt, + String createdBy, + double createdAt, + double updatedAt, + Map additionalProperties) { + this.id = id; + this.tenantId = tenantId; + this.docId = docId; + this.layerName = layerName; + this.scope = scope; + this.origins = origins; + this.passwordProtected = passwordProtected; + this.sessionTtlSeconds = sessionTtlSeconds; + this.disabled = disabled; + this.expiresAt = expiresAt; + this.exchangeCount = exchangeCount; + this.lastExchangedAt = lastExchangedAt; + this.createdBy = createdBy; + this.createdAt = createdAt; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("tenantId") + public String getTenantId() { + return tenantId; + } + + @JsonProperty("docId") + public String getDocId() { + return docId; + } + + @JsonProperty("layerName") + public String getLayerName() { + return layerName; + } + + @JsonProperty("scope") + public List getScope() { + return scope; + } + + @JsonIgnore + public Optional> getOrigins() { + if (origins == null) { + return Optional.empty(); + } + return origins; + } + + @JsonProperty("passwordProtected") + public boolean getPasswordProtected() { + return passwordProtected; + } + + @JsonProperty("sessionTtlSeconds") + public double getSessionTtlSeconds() { + return sessionTtlSeconds; + } + + @JsonProperty("disabled") + public boolean getDisabled() { + return disabled; + } + + @JsonIgnore + public Optional getExpiresAt() { + if (expiresAt == null) { + return Optional.empty(); + } + return expiresAt; + } + + @JsonProperty("exchangeCount") + public double getExchangeCount() { + return exchangeCount; + } + + @JsonIgnore + public Optional getLastExchangedAt() { + if (lastExchangedAt == null) { + return Optional.empty(); + } + return lastExchangedAt; + } + + @JsonProperty("createdBy") + public String getCreatedBy() { + return createdBy; + } + + @JsonProperty("createdAt") + public double getCreatedAt() { + return createdAt; + } + + @JsonProperty("updatedAt") + public double getUpdatedAt() { + return updatedAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("origins") + private Optional> _getOrigins() { + return origins; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("expiresAt") + private Optional _getExpiresAt() { + return expiresAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("lastExchangedAt") + private Optional _getLastExchangedAt() { + return lastExchangedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesList200ResponseSharesItem && equalTo((SharesList200ResponseSharesItem) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesList200ResponseSharesItem other) { + return id.equals(other.id) + && tenantId.equals(other.tenantId) + && docId.equals(other.docId) + && layerName.equals(other.layerName) + && scope.equals(other.scope) + && origins.equals(other.origins) + && passwordProtected == other.passwordProtected + && sessionTtlSeconds == other.sessionTtlSeconds + && disabled == other.disabled + && expiresAt.equals(other.expiresAt) + && exchangeCount == other.exchangeCount + && lastExchangedAt.equals(other.lastExchangedAt) + && createdBy.equals(other.createdBy) + && createdAt == other.createdAt + && updatedAt == other.updatedAt; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.tenantId, + this.docId, + this.layerName, + this.scope, + this.origins, + this.passwordProtected, + this.sessionTtlSeconds, + this.disabled, + this.expiresAt, + this.exchangeCount, + this.lastExchangedAt, + this.createdBy, + this.createdAt, + this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IdStage builder() { + return new Builder(); + } + + public interface IdStage { + TenantIdStage id(@NotNull String id); + + Builder from(SharesList200ResponseSharesItem other); + } + + public interface TenantIdStage { + DocIdStage tenantId(@NotNull String tenantId); + } + + public interface DocIdStage { + LayerNameStage docId(@NotNull String docId); + } + + public interface LayerNameStage { + PasswordProtectedStage layerName(@NotNull String layerName); + } + + public interface PasswordProtectedStage { + SessionTtlSecondsStage passwordProtected(boolean passwordProtected); + } + + public interface SessionTtlSecondsStage { + DisabledStage sessionTtlSeconds(double sessionTtlSeconds); + } + + public interface DisabledStage { + ExchangeCountStage disabled(boolean disabled); + } + + public interface ExchangeCountStage { + CreatedByStage exchangeCount(double exchangeCount); + } + + public interface CreatedByStage { + CreatedAtStage createdBy(@NotNull String createdBy); + } + + public interface CreatedAtStage { + UpdatedAtStage createdAt(double createdAt); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(double updatedAt); + } + + public interface _FinalStage { + SharesList200ResponseSharesItem build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage scope(List scope); + + _FinalStage addScope(String scope); + + _FinalStage addAllScope(List scope); + + _FinalStage origins(Optional> origins); + + _FinalStage origins(List origins); + + _FinalStage origins(Nullable> origins); + + _FinalStage expiresAt(Optional expiresAt); + + _FinalStage expiresAt(Double expiresAt); + + _FinalStage expiresAt(Nullable expiresAt); + + _FinalStage lastExchangedAt(Optional lastExchangedAt); + + _FinalStage lastExchangedAt(Double lastExchangedAt); + + _FinalStage lastExchangedAt(Nullable lastExchangedAt); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements IdStage, + TenantIdStage, + DocIdStage, + LayerNameStage, + PasswordProtectedStage, + SessionTtlSecondsStage, + DisabledStage, + ExchangeCountStage, + CreatedByStage, + CreatedAtStage, + UpdatedAtStage, + _FinalStage { + private String id; + + private String tenantId; + + private String docId; + + private String layerName; + + private boolean passwordProtected; + + private double sessionTtlSeconds; + + private boolean disabled; + + private double exchangeCount; + + private String createdBy; + + private double createdAt; + + private double updatedAt; + + private Optional lastExchangedAt = Optional.empty(); + + private Optional expiresAt = Optional.empty(); + + private Optional> origins = Optional.empty(); + + private List scope = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesList200ResponseSharesItem other) { + id(other.getId()); + tenantId(other.getTenantId()); + docId(other.getDocId()); + layerName(other.getLayerName()); + scope(other.getScope()); + origins(other.getOrigins()); + passwordProtected(other.getPasswordProtected()); + sessionTtlSeconds(other.getSessionTtlSeconds()); + disabled(other.getDisabled()); + expiresAt(other.getExpiresAt()); + exchangeCount(other.getExchangeCount()); + lastExchangedAt(other.getLastExchangedAt()); + createdBy(other.getCreatedBy()); + createdAt(other.getCreatedAt()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public TenantIdStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("tenantId") + public DocIdStage tenantId(@NotNull String tenantId) { + this.tenantId = Objects.requireNonNull(tenantId, "tenantId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("docId") + public LayerNameStage docId(@NotNull String docId) { + this.docId = Objects.requireNonNull(docId, "docId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("layerName") + public PasswordProtectedStage layerName(@NotNull String layerName) { + this.layerName = Objects.requireNonNull(layerName, "layerName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("passwordProtected") + public SessionTtlSecondsStage passwordProtected(boolean passwordProtected) { + this.passwordProtected = passwordProtected; + return this; + } + + @java.lang.Override + @JsonSetter("sessionTtlSeconds") + public DisabledStage sessionTtlSeconds(double sessionTtlSeconds) { + this.sessionTtlSeconds = sessionTtlSeconds; + return this; + } + + @java.lang.Override + @JsonSetter("disabled") + public ExchangeCountStage disabled(boolean disabled) { + this.disabled = disabled; + return this; + } + + @java.lang.Override + @JsonSetter("exchangeCount") + public CreatedByStage exchangeCount(double exchangeCount) { + this.exchangeCount = exchangeCount; + return this; + } + + @java.lang.Override + @JsonSetter("createdBy") + public CreatedAtStage createdBy(@NotNull String createdBy) { + this.createdBy = Objects.requireNonNull(createdBy, "createdBy must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("createdAt") + public UpdatedAtStage createdAt(double createdAt) { + this.createdAt = createdAt; + return this; + } + + @java.lang.Override + @JsonSetter("updatedAt") + public _FinalStage updatedAt(double updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Nullable lastExchangedAt) { + if (lastExchangedAt.isNull()) { + this.lastExchangedAt = null; + } else if (lastExchangedAt.isEmpty()) { + this.lastExchangedAt = Optional.empty(); + } else { + this.lastExchangedAt = Optional.of(lastExchangedAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Double lastExchangedAt) { + this.lastExchangedAt = Optional.ofNullable(lastExchangedAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "lastExchangedAt", nulls = Nulls.SKIP) + public _FinalStage lastExchangedAt(Optional lastExchangedAt) { + this.lastExchangedAt = lastExchangedAt; + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Nullable expiresAt) { + if (expiresAt.isNull()) { + this.expiresAt = null; + } else if (expiresAt.isEmpty()) { + this.expiresAt = Optional.empty(); + } else { + this.expiresAt = Optional.of(expiresAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Double expiresAt) { + this.expiresAt = Optional.ofNullable(expiresAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiresAt", nulls = Nulls.SKIP) + public _FinalStage expiresAt(Optional expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + @java.lang.Override + public _FinalStage origins(Nullable> origins) { + if (origins.isNull()) { + this.origins = null; + } else if (origins.isEmpty()) { + this.origins = Optional.empty(); + } else { + this.origins = Optional.of(origins.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + @java.lang.Override + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public _FinalStage origins(Optional> origins) { + this.origins = origins; + return this; + } + + @java.lang.Override + public _FinalStage addAllScope(List scope) { + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public _FinalStage addScope(String scope) { + this.scope.add(scope); + return this; + } + + @java.lang.Override + @JsonSetter(value = "scope", nulls = Nulls.SKIP) + public _FinalStage scope(List scope) { + this.scope.clear(); + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public SharesList200ResponseSharesItem build() { + return new SharesList200ResponseSharesItem( + id, + tenantId, + docId, + layerName, + scope, + origins, + passwordProtected, + sessionTtlSeconds, + disabled, + expiresAt, + exchangeCount, + lastExchangedAt, + createdBy, + createdAt, + 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/api/types/SharesList400Response.java b/src/main/java/api/types/SharesList400Response.java new file mode 100644 index 0000000..d797dd9 --- /dev/null +++ b/src/main/java/api/types/SharesList400Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesList400Response.Builder.class) +public final class SharesList400Response { + private final SharesList400ResponseError error; + + private final Map additionalProperties; + + private SharesList400Response(SharesList400ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesList400ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesList400Response && equalTo((SharesList400Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesList400Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesList400ResponseError error); + + Builder from(SharesList400Response other); + } + + public interface _FinalStage { + SharesList400Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesList400ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesList400Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesList400ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesList400Response build() { + return new SharesList400Response(error, 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/api/types/SharesList400ResponseError.java b/src/main/java/api/types/SharesList400ResponseError.java new file mode 100644 index 0000000..45e51d7 --- /dev/null +++ b/src/main/java/api/types/SharesList400ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesList400ResponseError.Builder.class) +public final class SharesList400ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesList400ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesList400ResponseError && equalTo((SharesList400ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesList400ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesList400ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesList400ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesList400ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesList400ResponseError build() { + return new SharesList400ResponseError(code, message, 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/api/types/SharesUpdate200Response.java b/src/main/java/api/types/SharesUpdate200Response.java new file mode 100644 index 0000000..cce3e88 --- /dev/null +++ b/src/main/java/api/types/SharesUpdate200Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesUpdate200Response.Builder.class) +public final class SharesUpdate200Response { + private final SharesUpdate200ResponseShare share; + + private final Map additionalProperties; + + private SharesUpdate200Response(SharesUpdate200ResponseShare share, Map additionalProperties) { + this.share = share; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("share") + public SharesUpdate200ResponseShare getShare() { + return share; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdate200Response && equalTo((SharesUpdate200Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdate200Response other) { + return share.equals(other.share); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.share); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ShareStage builder() { + return new Builder(); + } + + public interface ShareStage { + _FinalStage share(@NotNull SharesUpdate200ResponseShare share); + + Builder from(SharesUpdate200Response other); + } + + public interface _FinalStage { + SharesUpdate200Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ShareStage, _FinalStage { + private SharesUpdate200ResponseShare share; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesUpdate200Response other) { + share(other.getShare()); + return this; + } + + @java.lang.Override + @JsonSetter("share") + public _FinalStage share(@NotNull SharesUpdate200ResponseShare share) { + this.share = Objects.requireNonNull(share, "share must not be null"); + return this; + } + + @java.lang.Override + public SharesUpdate200Response build() { + return new SharesUpdate200Response(share, 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/api/types/SharesUpdate200ResponseShare.java b/src/main/java/api/types/SharesUpdate200ResponseShare.java new file mode 100644 index 0000000..b62289f --- /dev/null +++ b/src/main/java/api/types/SharesUpdate200ResponseShare.java @@ -0,0 +1,612 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.Nullable; +import com.cloudpdf.api.core.NullableNonemptyFilter; +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesUpdate200ResponseShare.Builder.class) +public final class SharesUpdate200ResponseShare { + private final String id; + + private final String tenantId; + + private final String docId; + + private final String layerName; + + private final List scope; + + private final Optional> origins; + + private final boolean passwordProtected; + + private final double sessionTtlSeconds; + + private final boolean disabled; + + private final Optional expiresAt; + + private final double exchangeCount; + + private final Optional lastExchangedAt; + + private final String createdBy; + + private final double createdAt; + + private final double updatedAt; + + private final Map additionalProperties; + + private SharesUpdate200ResponseShare( + String id, + String tenantId, + String docId, + String layerName, + List scope, + Optional> origins, + boolean passwordProtected, + double sessionTtlSeconds, + boolean disabled, + Optional expiresAt, + double exchangeCount, + Optional lastExchangedAt, + String createdBy, + double createdAt, + double updatedAt, + Map additionalProperties) { + this.id = id; + this.tenantId = tenantId; + this.docId = docId; + this.layerName = layerName; + this.scope = scope; + this.origins = origins; + this.passwordProtected = passwordProtected; + this.sessionTtlSeconds = sessionTtlSeconds; + this.disabled = disabled; + this.expiresAt = expiresAt; + this.exchangeCount = exchangeCount; + this.lastExchangedAt = lastExchangedAt; + this.createdBy = createdBy; + this.createdAt = createdAt; + this.updatedAt = updatedAt; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("tenantId") + public String getTenantId() { + return tenantId; + } + + @JsonProperty("docId") + public String getDocId() { + return docId; + } + + @JsonProperty("layerName") + public String getLayerName() { + return layerName; + } + + @JsonProperty("scope") + public List getScope() { + return scope; + } + + @JsonIgnore + public Optional> getOrigins() { + if (origins == null) { + return Optional.empty(); + } + return origins; + } + + @JsonProperty("passwordProtected") + public boolean getPasswordProtected() { + return passwordProtected; + } + + @JsonProperty("sessionTtlSeconds") + public double getSessionTtlSeconds() { + return sessionTtlSeconds; + } + + @JsonProperty("disabled") + public boolean getDisabled() { + return disabled; + } + + @JsonIgnore + public Optional getExpiresAt() { + if (expiresAt == null) { + return Optional.empty(); + } + return expiresAt; + } + + @JsonProperty("exchangeCount") + public double getExchangeCount() { + return exchangeCount; + } + + @JsonIgnore + public Optional getLastExchangedAt() { + if (lastExchangedAt == null) { + return Optional.empty(); + } + return lastExchangedAt; + } + + @JsonProperty("createdBy") + public String getCreatedBy() { + return createdBy; + } + + @JsonProperty("createdAt") + public double getCreatedAt() { + return createdAt; + } + + @JsonProperty("updatedAt") + public double getUpdatedAt() { + return updatedAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("origins") + private Optional> _getOrigins() { + return origins; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("expiresAt") + private Optional _getExpiresAt() { + return expiresAt; + } + + @JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = NullableNonemptyFilter.class) + @JsonProperty("lastExchangedAt") + private Optional _getLastExchangedAt() { + return lastExchangedAt; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdate200ResponseShare && equalTo((SharesUpdate200ResponseShare) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdate200ResponseShare other) { + return id.equals(other.id) + && tenantId.equals(other.tenantId) + && docId.equals(other.docId) + && layerName.equals(other.layerName) + && scope.equals(other.scope) + && origins.equals(other.origins) + && passwordProtected == other.passwordProtected + && sessionTtlSeconds == other.sessionTtlSeconds + && disabled == other.disabled + && expiresAt.equals(other.expiresAt) + && exchangeCount == other.exchangeCount + && lastExchangedAt.equals(other.lastExchangedAt) + && createdBy.equals(other.createdBy) + && createdAt == other.createdAt + && updatedAt == other.updatedAt; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash( + this.id, + this.tenantId, + this.docId, + this.layerName, + this.scope, + this.origins, + this.passwordProtected, + this.sessionTtlSeconds, + this.disabled, + this.expiresAt, + this.exchangeCount, + this.lastExchangedAt, + this.createdBy, + this.createdAt, + this.updatedAt); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static IdStage builder() { + return new Builder(); + } + + public interface IdStage { + TenantIdStage id(@NotNull String id); + + Builder from(SharesUpdate200ResponseShare other); + } + + public interface TenantIdStage { + DocIdStage tenantId(@NotNull String tenantId); + } + + public interface DocIdStage { + LayerNameStage docId(@NotNull String docId); + } + + public interface LayerNameStage { + PasswordProtectedStage layerName(@NotNull String layerName); + } + + public interface PasswordProtectedStage { + SessionTtlSecondsStage passwordProtected(boolean passwordProtected); + } + + public interface SessionTtlSecondsStage { + DisabledStage sessionTtlSeconds(double sessionTtlSeconds); + } + + public interface DisabledStage { + ExchangeCountStage disabled(boolean disabled); + } + + public interface ExchangeCountStage { + CreatedByStage exchangeCount(double exchangeCount); + } + + public interface CreatedByStage { + CreatedAtStage createdBy(@NotNull String createdBy); + } + + public interface CreatedAtStage { + UpdatedAtStage createdAt(double createdAt); + } + + public interface UpdatedAtStage { + _FinalStage updatedAt(double updatedAt); + } + + public interface _FinalStage { + SharesUpdate200ResponseShare build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage scope(List scope); + + _FinalStage addScope(String scope); + + _FinalStage addAllScope(List scope); + + _FinalStage origins(Optional> origins); + + _FinalStage origins(List origins); + + _FinalStage origins(Nullable> origins); + + _FinalStage expiresAt(Optional expiresAt); + + _FinalStage expiresAt(Double expiresAt); + + _FinalStage expiresAt(Nullable expiresAt); + + _FinalStage lastExchangedAt(Optional lastExchangedAt); + + _FinalStage lastExchangedAt(Double lastExchangedAt); + + _FinalStage lastExchangedAt(Nullable lastExchangedAt); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements IdStage, + TenantIdStage, + DocIdStage, + LayerNameStage, + PasswordProtectedStage, + SessionTtlSecondsStage, + DisabledStage, + ExchangeCountStage, + CreatedByStage, + CreatedAtStage, + UpdatedAtStage, + _FinalStage { + private String id; + + private String tenantId; + + private String docId; + + private String layerName; + + private boolean passwordProtected; + + private double sessionTtlSeconds; + + private boolean disabled; + + private double exchangeCount; + + private String createdBy; + + private double createdAt; + + private double updatedAt; + + private Optional lastExchangedAt = Optional.empty(); + + private Optional expiresAt = Optional.empty(); + + private Optional> origins = Optional.empty(); + + private List scope = new ArrayList<>(); + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesUpdate200ResponseShare other) { + id(other.getId()); + tenantId(other.getTenantId()); + docId(other.getDocId()); + layerName(other.getLayerName()); + scope(other.getScope()); + origins(other.getOrigins()); + passwordProtected(other.getPasswordProtected()); + sessionTtlSeconds(other.getSessionTtlSeconds()); + disabled(other.getDisabled()); + expiresAt(other.getExpiresAt()); + exchangeCount(other.getExchangeCount()); + lastExchangedAt(other.getLastExchangedAt()); + createdBy(other.getCreatedBy()); + createdAt(other.getCreatedAt()); + updatedAt(other.getUpdatedAt()); + return this; + } + + @java.lang.Override + @JsonSetter("id") + public TenantIdStage id(@NotNull String id) { + this.id = Objects.requireNonNull(id, "id must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("tenantId") + public DocIdStage tenantId(@NotNull String tenantId) { + this.tenantId = Objects.requireNonNull(tenantId, "tenantId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("docId") + public LayerNameStage docId(@NotNull String docId) { + this.docId = Objects.requireNonNull(docId, "docId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("layerName") + public PasswordProtectedStage layerName(@NotNull String layerName) { + this.layerName = Objects.requireNonNull(layerName, "layerName must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("passwordProtected") + public SessionTtlSecondsStage passwordProtected(boolean passwordProtected) { + this.passwordProtected = passwordProtected; + return this; + } + + @java.lang.Override + @JsonSetter("sessionTtlSeconds") + public DisabledStage sessionTtlSeconds(double sessionTtlSeconds) { + this.sessionTtlSeconds = sessionTtlSeconds; + return this; + } + + @java.lang.Override + @JsonSetter("disabled") + public ExchangeCountStage disabled(boolean disabled) { + this.disabled = disabled; + return this; + } + + @java.lang.Override + @JsonSetter("exchangeCount") + public CreatedByStage exchangeCount(double exchangeCount) { + this.exchangeCount = exchangeCount; + return this; + } + + @java.lang.Override + @JsonSetter("createdBy") + public CreatedAtStage createdBy(@NotNull String createdBy) { + this.createdBy = Objects.requireNonNull(createdBy, "createdBy must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("createdAt") + public UpdatedAtStage createdAt(double createdAt) { + this.createdAt = createdAt; + return this; + } + + @java.lang.Override + @JsonSetter("updatedAt") + public _FinalStage updatedAt(double updatedAt) { + this.updatedAt = updatedAt; + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Nullable lastExchangedAt) { + if (lastExchangedAt.isNull()) { + this.lastExchangedAt = null; + } else if (lastExchangedAt.isEmpty()) { + this.lastExchangedAt = Optional.empty(); + } else { + this.lastExchangedAt = Optional.of(lastExchangedAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage lastExchangedAt(Double lastExchangedAt) { + this.lastExchangedAt = Optional.ofNullable(lastExchangedAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "lastExchangedAt", nulls = Nulls.SKIP) + public _FinalStage lastExchangedAt(Optional lastExchangedAt) { + this.lastExchangedAt = lastExchangedAt; + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Nullable expiresAt) { + if (expiresAt.isNull()) { + this.expiresAt = null; + } else if (expiresAt.isEmpty()) { + this.expiresAt = Optional.empty(); + } else { + this.expiresAt = Optional.of(expiresAt.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage expiresAt(Double expiresAt) { + this.expiresAt = Optional.ofNullable(expiresAt); + return this; + } + + @java.lang.Override + @JsonSetter(value = "expiresAt", nulls = Nulls.SKIP) + public _FinalStage expiresAt(Optional expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + @java.lang.Override + public _FinalStage origins(Nullable> origins) { + if (origins.isNull()) { + this.origins = null; + } else if (origins.isEmpty()) { + this.origins = Optional.empty(); + } else { + this.origins = Optional.of(origins.get()); + } + return this; + } + + @java.lang.Override + public _FinalStage origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + @java.lang.Override + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public _FinalStage origins(Optional> origins) { + this.origins = origins; + return this; + } + + @java.lang.Override + public _FinalStage addAllScope(List scope) { + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public _FinalStage addScope(String scope) { + this.scope.add(scope); + return this; + } + + @java.lang.Override + @JsonSetter(value = "scope", nulls = Nulls.SKIP) + public _FinalStage scope(List scope) { + this.scope.clear(); + if (scope != null) { + this.scope.addAll(scope); + } + return this; + } + + @java.lang.Override + public SharesUpdate200ResponseShare build() { + return new SharesUpdate200ResponseShare( + id, + tenantId, + docId, + layerName, + scope, + origins, + passwordProtected, + sessionTtlSeconds, + disabled, + expiresAt, + exchangeCount, + lastExchangedAt, + createdBy, + createdAt, + 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/api/types/SharesUpdate400Response.java b/src/main/java/api/types/SharesUpdate400Response.java new file mode 100644 index 0000000..3c09d36 --- /dev/null +++ b/src/main/java/api/types/SharesUpdate400Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesUpdate400Response.Builder.class) +public final class SharesUpdate400Response { + private final SharesUpdate400ResponseError error; + + private final Map additionalProperties; + + private SharesUpdate400Response(SharesUpdate400ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesUpdate400ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdate400Response && equalTo((SharesUpdate400Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdate400Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesUpdate400ResponseError error); + + Builder from(SharesUpdate400Response other); + } + + public interface _FinalStage { + SharesUpdate400Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesUpdate400ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesUpdate400Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesUpdate400ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesUpdate400Response build() { + return new SharesUpdate400Response(error, 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/api/types/SharesUpdate400ResponseError.java b/src/main/java/api/types/SharesUpdate400ResponseError.java new file mode 100644 index 0000000..840842b --- /dev/null +++ b/src/main/java/api/types/SharesUpdate400ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesUpdate400ResponseError.Builder.class) +public final class SharesUpdate400ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesUpdate400ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdate400ResponseError && equalTo((SharesUpdate400ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdate400ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesUpdate400ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesUpdate400ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesUpdate400ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesUpdate400ResponseError build() { + return new SharesUpdate400ResponseError(code, message, 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/api/types/SharesUpdate404Response.java b/src/main/java/api/types/SharesUpdate404Response.java new file mode 100644 index 0000000..c441b21 --- /dev/null +++ b/src/main/java/api/types/SharesUpdate404Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesUpdate404Response.Builder.class) +public final class SharesUpdate404Response { + private final SharesUpdate404ResponseError error; + + private final Map additionalProperties; + + private SharesUpdate404Response(SharesUpdate404ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public SharesUpdate404ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdate404Response && equalTo((SharesUpdate404Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdate404Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull SharesUpdate404ResponseError error); + + Builder from(SharesUpdate404Response other); + } + + public interface _FinalStage { + SharesUpdate404Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private SharesUpdate404ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesUpdate404Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull SharesUpdate404ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public SharesUpdate404Response build() { + return new SharesUpdate404Response(error, 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/api/types/SharesUpdate404ResponseError.java b/src/main/java/api/types/SharesUpdate404ResponseError.java new file mode 100644 index 0000000..636aa70 --- /dev/null +++ b/src/main/java/api/types/SharesUpdate404ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = SharesUpdate404ResponseError.Builder.class) +public final class SharesUpdate404ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private SharesUpdate404ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof SharesUpdate404ResponseError && equalTo((SharesUpdate404ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(SharesUpdate404ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(SharesUpdate404ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + SharesUpdate404ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(SharesUpdate404ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public SharesUpdate404ResponseError build() { + return new SharesUpdate404ResponseError(code, message, 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/api/types/TenantsCreate200ResponseTenant.java b/src/main/java/api/types/TenantsCreate200ResponseTenant.java index d31f2a3..0393a2e 100644 --- a/src/main/java/api/types/TenantsCreate200ResponseTenant.java +++ b/src/main/java/api/types/TenantsCreate200ResponseTenant.java @@ -10,10 +10,12 @@ 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 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) @@ -25,6 +27,8 @@ public final class TenantsCreate200ResponseTenant { private final boolean autoProvisioned; + private final Optional status; + private final double createdAt; private final Map additionalProperties; @@ -33,11 +37,13 @@ private TenantsCreate200ResponseTenant( String id, String name, boolean autoProvisioned, + Optional status, double createdAt, Map additionalProperties) { this.id = id; this.name = name; this.autoProvisioned = autoProvisioned; + this.status = status; this.createdAt = createdAt; this.additionalProperties = additionalProperties; } @@ -57,6 +63,11 @@ public boolean getAutoProvisioned() { return autoProvisioned; } + @JsonProperty("status") + public Optional getStatus() { + return status; + } + @JsonProperty("createdAt") public double getCreatedAt() { return createdAt; @@ -77,12 +88,13 @@ private boolean equalTo(TenantsCreate200ResponseTenant other) { return id.equals(other.id) && name.equals(other.name) && autoProvisioned == other.autoProvisioned + && status.equals(other.status) && createdAt == other.createdAt; } @java.lang.Override public int hashCode() { - return Objects.hash(this.id, this.name, this.autoProvisioned, this.createdAt); + return Objects.hash(this.id, this.name, this.autoProvisioned, this.status, this.createdAt); } @java.lang.Override @@ -118,6 +130,10 @@ public interface _FinalStage { _FinalStage additionalProperty(String key, Object value); _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage status(Optional status); + + _FinalStage status(TenantsCreate200ResponseTenantStatus status); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -130,6 +146,8 @@ public static final class Builder implements IdStage, NameStage, AutoProvisioned private double createdAt; + private Optional status = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -140,6 +158,7 @@ public Builder from(TenantsCreate200ResponseTenant other) { id(other.getId()); name(other.getName()); autoProvisioned(other.getAutoProvisioned()); + status(other.getStatus()); createdAt(other.getCreatedAt()); return this; } @@ -172,9 +191,23 @@ public _FinalStage createdAt(double createdAt) { return this; } + @java.lang.Override + public _FinalStage status(TenantsCreate200ResponseTenantStatus status) { + this.status = Optional.ofNullable(status); + return this; + } + + @java.lang.Override + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public _FinalStage status(Optional status) { + this.status = status; + return this; + } + @java.lang.Override public TenantsCreate200ResponseTenant build() { - return new TenantsCreate200ResponseTenant(id, name, autoProvisioned, createdAt, additionalProperties); + return new TenantsCreate200ResponseTenant( + id, name, autoProvisioned, status, createdAt, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/TenantsCreate200ResponseTenantStatus.java b/src/main/java/api/types/TenantsCreate200ResponseTenantStatus.java new file mode 100644 index 0000000..0f8fe84 --- /dev/null +++ b/src/main/java/api/types/TenantsCreate200ResponseTenantStatus.java @@ -0,0 +1,86 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class TenantsCreate200ResponseTenantStatus { + public static final TenantsCreate200ResponseTenantStatus SUSPENDED = + new TenantsCreate200ResponseTenantStatus(Value.SUSPENDED, "suspended"); + + public static final TenantsCreate200ResponseTenantStatus ACTIVE = + new TenantsCreate200ResponseTenantStatus(Value.ACTIVE, "active"); + + private final Value value; + + private final String string; + + TenantsCreate200ResponseTenantStatus(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 TenantsCreate200ResponseTenantStatus + && this.string.equals(((TenantsCreate200ResponseTenantStatus) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case SUSPENDED: + return visitor.visitSuspended(); + case ACTIVE: + return visitor.visitActive(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static TenantsCreate200ResponseTenantStatus valueOf(String value) { + switch (value) { + case "suspended": + return SUSPENDED; + case "active": + return ACTIVE; + default: + return new TenantsCreate200ResponseTenantStatus(Value.UNKNOWN, value); + } + } + + public enum Value { + ACTIVE, + + SUSPENDED, + + UNKNOWN + } + + public interface Visitor { + T visitActive(); + + T visitSuspended(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/api/types/TenantsGet200ResponseTenant.java b/src/main/java/api/types/TenantsGet200ResponseTenant.java index af5ee4c..102a756 100644 --- a/src/main/java/api/types/TenantsGet200ResponseTenant.java +++ b/src/main/java/api/types/TenantsGet200ResponseTenant.java @@ -10,10 +10,12 @@ 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 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) @@ -25,6 +27,8 @@ public final class TenantsGet200ResponseTenant { private final boolean autoProvisioned; + private final Optional status; + private final double createdAt; private final Map additionalProperties; @@ -33,11 +37,13 @@ private TenantsGet200ResponseTenant( String id, String name, boolean autoProvisioned, + Optional status, double createdAt, Map additionalProperties) { this.id = id; this.name = name; this.autoProvisioned = autoProvisioned; + this.status = status; this.createdAt = createdAt; this.additionalProperties = additionalProperties; } @@ -57,6 +63,11 @@ public boolean getAutoProvisioned() { return autoProvisioned; } + @JsonProperty("status") + public Optional getStatus() { + return status; + } + @JsonProperty("createdAt") public double getCreatedAt() { return createdAt; @@ -77,12 +88,13 @@ private boolean equalTo(TenantsGet200ResponseTenant other) { return id.equals(other.id) && name.equals(other.name) && autoProvisioned == other.autoProvisioned + && status.equals(other.status) && createdAt == other.createdAt; } @java.lang.Override public int hashCode() { - return Objects.hash(this.id, this.name, this.autoProvisioned, this.createdAt); + return Objects.hash(this.id, this.name, this.autoProvisioned, this.status, this.createdAt); } @java.lang.Override @@ -118,6 +130,10 @@ public interface _FinalStage { _FinalStage additionalProperty(String key, Object value); _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage status(Optional status); + + _FinalStage status(TenantsGet200ResponseTenantStatus status); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -130,6 +146,8 @@ public static final class Builder implements IdStage, NameStage, AutoProvisioned private double createdAt; + private Optional status = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -140,6 +158,7 @@ public Builder from(TenantsGet200ResponseTenant other) { id(other.getId()); name(other.getName()); autoProvisioned(other.getAutoProvisioned()); + status(other.getStatus()); createdAt(other.getCreatedAt()); return this; } @@ -172,9 +191,22 @@ public _FinalStage createdAt(double createdAt) { return this; } + @java.lang.Override + public _FinalStage status(TenantsGet200ResponseTenantStatus status) { + this.status = Optional.ofNullable(status); + return this; + } + + @java.lang.Override + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public _FinalStage status(Optional status) { + this.status = status; + return this; + } + @java.lang.Override public TenantsGet200ResponseTenant build() { - return new TenantsGet200ResponseTenant(id, name, autoProvisioned, createdAt, additionalProperties); + return new TenantsGet200ResponseTenant(id, name, autoProvisioned, status, createdAt, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/TenantsGet200ResponseTenantStatus.java b/src/main/java/api/types/TenantsGet200ResponseTenantStatus.java new file mode 100644 index 0000000..379aa5b --- /dev/null +++ b/src/main/java/api/types/TenantsGet200ResponseTenantStatus.java @@ -0,0 +1,86 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class TenantsGet200ResponseTenantStatus { + public static final TenantsGet200ResponseTenantStatus SUSPENDED = + new TenantsGet200ResponseTenantStatus(Value.SUSPENDED, "suspended"); + + public static final TenantsGet200ResponseTenantStatus ACTIVE = + new TenantsGet200ResponseTenantStatus(Value.ACTIVE, "active"); + + private final Value value; + + private final String string; + + TenantsGet200ResponseTenantStatus(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 TenantsGet200ResponseTenantStatus + && this.string.equals(((TenantsGet200ResponseTenantStatus) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case SUSPENDED: + return visitor.visitSuspended(); + case ACTIVE: + return visitor.visitActive(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static TenantsGet200ResponseTenantStatus valueOf(String value) { + switch (value) { + case "suspended": + return SUSPENDED; + case "active": + return ACTIVE; + default: + return new TenantsGet200ResponseTenantStatus(Value.UNKNOWN, value); + } + } + + public enum Value { + ACTIVE, + + SUSPENDED, + + UNKNOWN + } + + public interface Visitor { + T visitActive(); + + T visitSuspended(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/api/types/TenantsList200ResponseTenantsItem.java b/src/main/java/api/types/TenantsList200ResponseTenantsItem.java index 2d4bc21..10bd5f1 100644 --- a/src/main/java/api/types/TenantsList200ResponseTenantsItem.java +++ b/src/main/java/api/types/TenantsList200ResponseTenantsItem.java @@ -10,10 +10,12 @@ 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 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) @@ -25,6 +27,8 @@ public final class TenantsList200ResponseTenantsItem { private final boolean autoProvisioned; + private final Optional status; + private final double createdAt; private final Map additionalProperties; @@ -33,11 +37,13 @@ private TenantsList200ResponseTenantsItem( String id, String name, boolean autoProvisioned, + Optional status, double createdAt, Map additionalProperties) { this.id = id; this.name = name; this.autoProvisioned = autoProvisioned; + this.status = status; this.createdAt = createdAt; this.additionalProperties = additionalProperties; } @@ -57,6 +63,11 @@ public boolean getAutoProvisioned() { return autoProvisioned; } + @JsonProperty("status") + public Optional getStatus() { + return status; + } + @JsonProperty("createdAt") public double getCreatedAt() { return createdAt; @@ -77,12 +88,13 @@ private boolean equalTo(TenantsList200ResponseTenantsItem other) { return id.equals(other.id) && name.equals(other.name) && autoProvisioned == other.autoProvisioned + && status.equals(other.status) && createdAt == other.createdAt; } @java.lang.Override public int hashCode() { - return Objects.hash(this.id, this.name, this.autoProvisioned, this.createdAt); + return Objects.hash(this.id, this.name, this.autoProvisioned, this.status, this.createdAt); } @java.lang.Override @@ -118,6 +130,10 @@ public interface _FinalStage { _FinalStage additionalProperty(String key, Object value); _FinalStage additionalProperties(Map additionalProperties); + + _FinalStage status(Optional status); + + _FinalStage status(TenantsList200ResponseTenantsItemStatus status); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -130,6 +146,8 @@ public static final class Builder implements IdStage, NameStage, AutoProvisioned private double createdAt; + private Optional status = Optional.empty(); + @JsonAnySetter private Map additionalProperties = new HashMap<>(); @@ -140,6 +158,7 @@ public Builder from(TenantsList200ResponseTenantsItem other) { id(other.getId()); name(other.getName()); autoProvisioned(other.getAutoProvisioned()); + status(other.getStatus()); createdAt(other.getCreatedAt()); return this; } @@ -172,9 +191,23 @@ public _FinalStage createdAt(double createdAt) { return this; } + @java.lang.Override + public _FinalStage status(TenantsList200ResponseTenantsItemStatus status) { + this.status = Optional.ofNullable(status); + return this; + } + + @java.lang.Override + @JsonSetter(value = "status", nulls = Nulls.SKIP) + public _FinalStage status(Optional status) { + this.status = status; + return this; + } + @java.lang.Override public TenantsList200ResponseTenantsItem build() { - return new TenantsList200ResponseTenantsItem(id, name, autoProvisioned, createdAt, additionalProperties); + return new TenantsList200ResponseTenantsItem( + id, name, autoProvisioned, status, createdAt, additionalProperties); } @java.lang.Override diff --git a/src/main/java/api/types/TenantsList200ResponseTenantsItemStatus.java b/src/main/java/api/types/TenantsList200ResponseTenantsItemStatus.java new file mode 100644 index 0000000..c4d982f --- /dev/null +++ b/src/main/java/api/types/TenantsList200ResponseTenantsItemStatus.java @@ -0,0 +1,86 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + +public final class TenantsList200ResponseTenantsItemStatus { + public static final TenantsList200ResponseTenantsItemStatus SUSPENDED = + new TenantsList200ResponseTenantsItemStatus(Value.SUSPENDED, "suspended"); + + public static final TenantsList200ResponseTenantsItemStatus ACTIVE = + new TenantsList200ResponseTenantsItemStatus(Value.ACTIVE, "active"); + + private final Value value; + + private final String string; + + TenantsList200ResponseTenantsItemStatus(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 TenantsList200ResponseTenantsItemStatus + && this.string.equals(((TenantsList200ResponseTenantsItemStatus) other).string)); + } + + @java.lang.Override + public int hashCode() { + return this.string.hashCode(); + } + + public T visit(Visitor visitor) { + switch (value) { + case SUSPENDED: + return visitor.visitSuspended(); + case ACTIVE: + return visitor.visitActive(); + case UNKNOWN: + default: + return visitor.visitUnknown(string); + } + } + + @JsonCreator(mode = JsonCreator.Mode.DELEGATING) + public static TenantsList200ResponseTenantsItemStatus valueOf(String value) { + switch (value) { + case "suspended": + return SUSPENDED; + case "active": + return ACTIVE; + default: + return new TenantsList200ResponseTenantsItemStatus(Value.UNKNOWN, value); + } + } + + public enum Value { + ACTIVE, + + SUSPENDED, + + UNKNOWN + } + + public interface Visitor { + T visitActive(); + + T visitSuspended(); + + T visitUnknown(String unknownType); + } +} diff --git a/src/main/java/api/types/TenantsResumeResponse.java b/src/main/java/api/types/TenantsResumeResponse.java new file mode 100644 index 0000000..6971923 --- /dev/null +++ b/src/main/java/api/types/TenantsResumeResponse.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsResumeResponse.Builder.class) +public final class TenantsResumeResponse { + private final TenantsResumeResponseError error; + + private final Map additionalProperties; + + private TenantsResumeResponse(TenantsResumeResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public TenantsResumeResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsResumeResponse && equalTo((TenantsResumeResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsResumeResponse other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull TenantsResumeResponseError error); + + Builder from(TenantsResumeResponse other); + } + + public interface _FinalStage { + TenantsResumeResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private TenantsResumeResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsResumeResponse other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull TenantsResumeResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public TenantsResumeResponse build() { + return new TenantsResumeResponse(error, 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/api/types/TenantsResumeResponseError.java b/src/main/java/api/types/TenantsResumeResponseError.java new file mode 100644 index 0000000..961b34f --- /dev/null +++ b/src/main/java/api/types/TenantsResumeResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsResumeResponseError.Builder.class) +public final class TenantsResumeResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private TenantsResumeResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsResumeResponseError && equalTo((TenantsResumeResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsResumeResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(TenantsResumeResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + TenantsResumeResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsResumeResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public TenantsResumeResponseError build() { + return new TenantsResumeResponseError(code, message, 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/api/types/TenantsSuspendResponse.java b/src/main/java/api/types/TenantsSuspendResponse.java new file mode 100644 index 0000000..054b403 --- /dev/null +++ b/src/main/java/api/types/TenantsSuspendResponse.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsSuspendResponse.Builder.class) +public final class TenantsSuspendResponse { + private final TenantsSuspendResponseError error; + + private final Map additionalProperties; + + private TenantsSuspendResponse(TenantsSuspendResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public TenantsSuspendResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsSuspendResponse && equalTo((TenantsSuspendResponse) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsSuspendResponse other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull TenantsSuspendResponseError error); + + Builder from(TenantsSuspendResponse other); + } + + public interface _FinalStage { + TenantsSuspendResponse build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private TenantsSuspendResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsSuspendResponse other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull TenantsSuspendResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public TenantsSuspendResponse build() { + return new TenantsSuspendResponse(error, 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/api/types/TenantsSuspendResponseError.java b/src/main/java/api/types/TenantsSuspendResponseError.java new file mode 100644 index 0000000..335c061 --- /dev/null +++ b/src/main/java/api/types/TenantsSuspendResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsSuspendResponseError.Builder.class) +public final class TenantsSuspendResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private TenantsSuspendResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsSuspendResponseError && equalTo((TenantsSuspendResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsSuspendResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(TenantsSuspendResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + TenantsSuspendResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsSuspendResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public TenantsSuspendResponseError build() { + return new TenantsSuspendResponseError(code, message, 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/api/types/TenantsUsage200Response.java b/src/main/java/api/types/TenantsUsage200Response.java new file mode 100644 index 0000000..7461163 --- /dev/null +++ b/src/main/java/api/types/TenantsUsage200Response.java @@ -0,0 +1,193 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsUsage200Response.Builder.class) +public final class TenantsUsage200Response { + private final String tenantId; + + private final String periodStart; + + private final String periodEnd; + + private final TenantsUsage200ResponseMetrics metrics; + + private final Map additionalProperties; + + private TenantsUsage200Response( + String tenantId, + String periodStart, + String periodEnd, + TenantsUsage200ResponseMetrics metrics, + Map additionalProperties) { + this.tenantId = tenantId; + this.periodStart = periodStart; + this.periodEnd = periodEnd; + this.metrics = metrics; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("tenantId") + public String getTenantId() { + return tenantId; + } + + @JsonProperty("periodStart") + public String getPeriodStart() { + return periodStart; + } + + @JsonProperty("periodEnd") + public String getPeriodEnd() { + return periodEnd; + } + + @JsonProperty("metrics") + public TenantsUsage200ResponseMetrics getMetrics() { + return metrics; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsUsage200Response && equalTo((TenantsUsage200Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsUsage200Response other) { + return tenantId.equals(other.tenantId) + && periodStart.equals(other.periodStart) + && periodEnd.equals(other.periodEnd) + && metrics.equals(other.metrics); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.tenantId, this.periodStart, this.periodEnd, this.metrics); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static TenantIdStage builder() { + return new Builder(); + } + + public interface TenantIdStage { + PeriodStartStage tenantId(@NotNull String tenantId); + + Builder from(TenantsUsage200Response other); + } + + public interface PeriodStartStage { + PeriodEndStage periodStart(@NotNull String periodStart); + } + + public interface PeriodEndStage { + MetricsStage periodEnd(@NotNull String periodEnd); + } + + public interface MetricsStage { + _FinalStage metrics(@NotNull TenantsUsage200ResponseMetrics metrics); + } + + public interface _FinalStage { + TenantsUsage200Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder + implements TenantIdStage, PeriodStartStage, PeriodEndStage, MetricsStage, _FinalStage { + private String tenantId; + + private String periodStart; + + private String periodEnd; + + private TenantsUsage200ResponseMetrics metrics; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsUsage200Response other) { + tenantId(other.getTenantId()); + periodStart(other.getPeriodStart()); + periodEnd(other.getPeriodEnd()); + metrics(other.getMetrics()); + return this; + } + + @java.lang.Override + @JsonSetter("tenantId") + public PeriodStartStage tenantId(@NotNull String tenantId) { + this.tenantId = Objects.requireNonNull(tenantId, "tenantId must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("periodStart") + public PeriodEndStage periodStart(@NotNull String periodStart) { + this.periodStart = Objects.requireNonNull(periodStart, "periodStart must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("periodEnd") + public MetricsStage periodEnd(@NotNull String periodEnd) { + this.periodEnd = Objects.requireNonNull(periodEnd, "periodEnd must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("metrics") + public _FinalStage metrics(@NotNull TenantsUsage200ResponseMetrics metrics) { + this.metrics = Objects.requireNonNull(metrics, "metrics must not be null"); + return this; + } + + @java.lang.Override + public TenantsUsage200Response build() { + return new TenantsUsage200Response(tenantId, periodStart, periodEnd, metrics, 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/api/types/TenantsUsage200ResponseMetrics.java b/src/main/java/api/types/TenantsUsage200ResponseMetrics.java new file mode 100644 index 0000000..c3dd67b --- /dev/null +++ b/src/main/java/api/types/TenantsUsage200ResponseMetrics.java @@ -0,0 +1,162 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsUsage200ResponseMetrics.Builder.class) +public final class TenantsUsage200ResponseMetrics { + private final double pdfViews; + + private final double pdfUploads; + + private final double storageBytes; + + private final Map additionalProperties; + + private TenantsUsage200ResponseMetrics( + double pdfViews, double pdfUploads, double storageBytes, Map additionalProperties) { + this.pdfViews = pdfViews; + this.pdfUploads = pdfUploads; + this.storageBytes = storageBytes; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("pdf.views") + public double getPdfViews() { + return pdfViews; + } + + @JsonProperty("pdf.uploads") + public double getPdfUploads() { + return pdfUploads; + } + + @JsonProperty("storage.bytes") + public double getStorageBytes() { + return storageBytes; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsUsage200ResponseMetrics && equalTo((TenantsUsage200ResponseMetrics) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsUsage200ResponseMetrics other) { + return pdfViews == other.pdfViews && pdfUploads == other.pdfUploads && storageBytes == other.storageBytes; + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.pdfViews, this.pdfUploads, this.storageBytes); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static PdfViewsStage builder() { + return new Builder(); + } + + public interface PdfViewsStage { + PdfUploadsStage pdfViews(double pdfViews); + + Builder from(TenantsUsage200ResponseMetrics other); + } + + public interface PdfUploadsStage { + StorageBytesStage pdfUploads(double pdfUploads); + } + + public interface StorageBytesStage { + _FinalStage storageBytes(double storageBytes); + } + + public interface _FinalStage { + TenantsUsage200ResponseMetrics build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements PdfViewsStage, PdfUploadsStage, StorageBytesStage, _FinalStage { + private double pdfViews; + + private double pdfUploads; + + private double storageBytes; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsUsage200ResponseMetrics other) { + pdfViews(other.getPdfViews()); + pdfUploads(other.getPdfUploads()); + storageBytes(other.getStorageBytes()); + return this; + } + + @java.lang.Override + @JsonSetter("pdf.views") + public PdfUploadsStage pdfViews(double pdfViews) { + this.pdfViews = pdfViews; + return this; + } + + @java.lang.Override + @JsonSetter("pdf.uploads") + public StorageBytesStage pdfUploads(double pdfUploads) { + this.pdfUploads = pdfUploads; + return this; + } + + @java.lang.Override + @JsonSetter("storage.bytes") + public _FinalStage storageBytes(double storageBytes) { + this.storageBytes = storageBytes; + return this; + } + + @java.lang.Override + public TenantsUsage200ResponseMetrics build() { + return new TenantsUsage200ResponseMetrics(pdfViews, pdfUploads, storageBytes, 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/api/types/TenantsUsage400Response.java b/src/main/java/api/types/TenantsUsage400Response.java new file mode 100644 index 0000000..a6fcfec --- /dev/null +++ b/src/main/java/api/types/TenantsUsage400Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsUsage400Response.Builder.class) +public final class TenantsUsage400Response { + private final TenantsUsage400ResponseError error; + + private final Map additionalProperties; + + private TenantsUsage400Response(TenantsUsage400ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public TenantsUsage400ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsUsage400Response && equalTo((TenantsUsage400Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsUsage400Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull TenantsUsage400ResponseError error); + + Builder from(TenantsUsage400Response other); + } + + public interface _FinalStage { + TenantsUsage400Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private TenantsUsage400ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsUsage400Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull TenantsUsage400ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public TenantsUsage400Response build() { + return new TenantsUsage400Response(error, 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/api/types/TenantsUsage400ResponseError.java b/src/main/java/api/types/TenantsUsage400ResponseError.java new file mode 100644 index 0000000..5595c5f --- /dev/null +++ b/src/main/java/api/types/TenantsUsage400ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsUsage400ResponseError.Builder.class) +public final class TenantsUsage400ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private TenantsUsage400ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsUsage400ResponseError && equalTo((TenantsUsage400ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsUsage400ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(TenantsUsage400ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + TenantsUsage400ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsUsage400ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public TenantsUsage400ResponseError build() { + return new TenantsUsage400ResponseError(code, message, 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/api/types/TenantsUsage404Response.java b/src/main/java/api/types/TenantsUsage404Response.java new file mode 100644 index 0000000..a9286c4 --- /dev/null +++ b/src/main/java/api/types/TenantsUsage404Response.java @@ -0,0 +1,118 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsUsage404Response.Builder.class) +public final class TenantsUsage404Response { + private final TenantsUsage404ResponseError error; + + private final Map additionalProperties; + + private TenantsUsage404Response(TenantsUsage404ResponseError error, Map additionalProperties) { + this.error = error; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("error") + public TenantsUsage404ResponseError getError() { + return error; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsUsage404Response && equalTo((TenantsUsage404Response) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsUsage404Response other) { + return error.equals(other.error); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.error); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static ErrorStage builder() { + return new Builder(); + } + + public interface ErrorStage { + _FinalStage error(@NotNull TenantsUsage404ResponseError error); + + Builder from(TenantsUsage404Response other); + } + + public interface _FinalStage { + TenantsUsage404Response build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements ErrorStage, _FinalStage { + private TenantsUsage404ResponseError error; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsUsage404Response other) { + error(other.getError()); + return this; + } + + @java.lang.Override + @JsonSetter("error") + public _FinalStage error(@NotNull TenantsUsage404ResponseError error) { + this.error = Objects.requireNonNull(error, "error must not be null"); + return this; + } + + @java.lang.Override + public TenantsUsage404Response build() { + return new TenantsUsage404Response(error, 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/api/types/TenantsUsage404ResponseError.java b/src/main/java/api/types/TenantsUsage404ResponseError.java new file mode 100644 index 0000000..8136db8 --- /dev/null +++ b/src/main/java/api/types/TenantsUsage404ResponseError.java @@ -0,0 +1,140 @@ +/** + * This file was auto-generated by Fern from our API Definition. + */ +package com.cloudpdf.api.types; + +import com.cloudpdf.api.core.ObjectMappers; +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 java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.jetbrains.annotations.NotNull; + +@JsonInclude(JsonInclude.Include.NON_ABSENT) +@JsonDeserialize(builder = TenantsUsage404ResponseError.Builder.class) +public final class TenantsUsage404ResponseError { + private final String code; + + private final String message; + + private final Map additionalProperties; + + private TenantsUsage404ResponseError(String code, String message, Map additionalProperties) { + this.code = code; + this.message = message; + this.additionalProperties = additionalProperties; + } + + @JsonProperty("code") + public String getCode() { + return code; + } + + @JsonProperty("message") + public String getMessage() { + return message; + } + + @java.lang.Override + public boolean equals(Object other) { + if (this == other) return true; + return other instanceof TenantsUsage404ResponseError && equalTo((TenantsUsage404ResponseError) other); + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + private boolean equalTo(TenantsUsage404ResponseError other) { + return code.equals(other.code) && message.equals(other.message); + } + + @java.lang.Override + public int hashCode() { + return Objects.hash(this.code, this.message); + } + + @java.lang.Override + public String toString() { + return ObjectMappers.stringify(this); + } + + public static CodeStage builder() { + return new Builder(); + } + + public interface CodeStage { + MessageStage code(@NotNull String code); + + Builder from(TenantsUsage404ResponseError other); + } + + public interface MessageStage { + _FinalStage message(@NotNull String message); + } + + public interface _FinalStage { + TenantsUsage404ResponseError build(); + + _FinalStage additionalProperty(String key, Object value); + + _FinalStage additionalProperties(Map additionalProperties); + } + + @JsonIgnoreProperties(ignoreUnknown = true) + public static final class Builder implements CodeStage, MessageStage, _FinalStage { + private String code; + + private String message; + + @JsonAnySetter + private Map additionalProperties = new HashMap<>(); + + private Builder() {} + + @java.lang.Override + public Builder from(TenantsUsage404ResponseError other) { + code(other.getCode()); + message(other.getMessage()); + return this; + } + + @java.lang.Override + @JsonSetter("code") + public MessageStage code(@NotNull String code) { + this.code = Objects.requireNonNull(code, "code must not be null"); + return this; + } + + @java.lang.Override + @JsonSetter("message") + public _FinalStage message(@NotNull String message) { + this.message = Objects.requireNonNull(message, "message must not be null"); + return this; + } + + @java.lang.Override + public TenantsUsage404ResponseError build() { + return new TenantsUsage404ResponseError(code, message, 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/api/types/TokensIssueRequestDoc.java b/src/main/java/api/types/TokensIssueRequestDoc.java index c25a0d5..97b7f37 100644 --- a/src/main/java/api/types/TokensIssueRequestDoc.java +++ b/src/main/java/api/types/TokensIssueRequestDoc.java @@ -39,6 +39,8 @@ public final class TokensIssueRequestDoc { private final Optional> groups; + private final Optional> origins; + private final int expiresIn; private final Map additionalProperties; @@ -52,6 +54,7 @@ private TokensIssueRequestDoc( Optional displayName, Optional groupId, Optional> groups, + Optional> origins, int expiresIn, Map additionalProperties) { this.sub = sub; @@ -62,6 +65,7 @@ private TokensIssueRequestDoc( this.displayName = displayName; this.groupId = groupId; this.groups = groups; + this.origins = origins; this.expiresIn = expiresIn; this.additionalProperties = additionalProperties; } @@ -106,6 +110,11 @@ public Optional> getGroups() { return groups; } + @JsonProperty("origins") + public Optional> getOrigins() { + return origins; + } + @JsonProperty("expiresIn") public int getExpiresIn() { return expiresIn; @@ -131,6 +140,7 @@ private boolean equalTo(TokensIssueRequestDoc other) { && displayName.equals(other.displayName) && groupId.equals(other.groupId) && groups.equals(other.groups) + && origins.equals(other.origins) && expiresIn == other.expiresIn; } @@ -145,6 +155,7 @@ public int hashCode() { this.displayName, this.groupId, this.groups, + this.origins, this.expiresIn); } @@ -203,6 +214,10 @@ public interface _FinalStage { _FinalStage groups(Optional> groups); _FinalStage groups(List groups); + + _FinalStage origins(Optional> origins); + + _FinalStage origins(List origins); } @JsonIgnoreProperties(ignoreUnknown = true) @@ -213,6 +228,8 @@ public static final class Builder implements SubStage, DocIdStage, ExpiresInStag private int expiresIn; + private Optional> origins = Optional.empty(); + private Optional> groups = Optional.empty(); private Optional groupId = Optional.empty(); @@ -240,6 +257,7 @@ public Builder from(TokensIssueRequestDoc other) { displayName(other.getDisplayName()); groupId(other.getGroupId()); groups(other.getGroups()); + origins(other.getOrigins()); expiresIn(other.getExpiresIn()); return this; } @@ -265,6 +283,19 @@ public _FinalStage expiresIn(int expiresIn) { return this; } + @java.lang.Override + public _FinalStage origins(List origins) { + this.origins = Optional.ofNullable(origins); + return this; + } + + @java.lang.Override + @JsonSetter(value = "origins", nulls = Nulls.SKIP) + public _FinalStage origins(Optional> origins) { + this.origins = origins; + return this; + } + @java.lang.Override public _FinalStage groups(List groups) { this.groups = Optional.ofNullable(groups); @@ -365,6 +396,7 @@ public TokensIssueRequestDoc build() { displayName, groupId, groups, + origins, expiresIn, additionalProperties); } diff --git a/src/main/java/api/types/TokensIssueRequestTenantScopeItemOne.java b/src/main/java/api/types/TokensIssueRequestTenantScopeItemOne.java index ebe16ee..d23ec0e 100644 --- a/src/main/java/api/types/TokensIssueRequestTenantScopeItemOne.java +++ b/src/main/java/api/types/TokensIssueRequestTenantScopeItemOne.java @@ -7,6 +7,9 @@ import com.fasterxml.jackson.annotation.JsonValue; public final class TokensIssueRequestTenantScopeItemOne { + public static final TokensIssueRequestTenantScopeItemOne SHARES_MANAGE = + new TokensIssueRequestTenantScopeItemOne(Value.SHARES_MANAGE, "shares.manage"); + public static final TokensIssueRequestTenantScopeItemOne TOKENS_REVOKE = new TokensIssueRequestTenantScopeItemOne(Value.TOKENS_REVOKE, "tokens.revoke"); @@ -55,6 +58,8 @@ public int hashCode() { public T visit(Visitor visitor) { switch (value) { + case SHARES_MANAGE: + return visitor.visitSharesManage(); case TOKENS_REVOKE: return visitor.visitTokensRevoke(); case DOCS_CREATE: @@ -74,6 +79,8 @@ public T visit(Visitor visitor) { @JsonCreator(mode = JsonCreator.Mode.DELEGATING) public static TokensIssueRequestTenantScopeItemOne valueOf(String value) { switch (value) { + case "shares.manage": + return SHARES_MANAGE; case "tokens.revoke": return TOKENS_REVOKE; case "docs.create": @@ -100,6 +107,8 @@ public enum Value { TOKENS_REVOKE, + SHARES_MANAGE, + UNKNOWN } @@ -114,6 +123,8 @@ public interface Visitor { T visitTokensRevoke(); + T visitSharesManage(); + T visitUnknown(String unknownType); } }