nextBackoff(Response response) {
+ if (retryNumber >= maxNumRetries) {
return Optional.empty();
}
- int upperBound = (int) Math.pow(2, retryNumber);
- return Optional.of(ONE_SECOND.multipliedBy(random.nextInt(upperBound)));
+ Duration delay = getRetryDelayFromHeaders(response, retryNumber);
+ retryNumber += 1;
+ return Optional.of(delay);
}
}
}
diff --git a/src/main/java/com/pipedream/api/core/pagination/AsyncCustomPager.java b/src/main/java/com/pipedream/api/core/pagination/AsyncCustomPager.java
new file mode 100644
index 0000000..c96dc34
--- /dev/null
+++ b/src/main/java/com/pipedream/api/core/pagination/AsyncCustomPager.java
@@ -0,0 +1,164 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.core.pagination;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Optional;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionStage;
+
+/**
+ * Skeleton implementation for custom asynchronous bidirectional pagination.
+ *
+ * THIS CLASS MUST BE IMPLEMENTED BY THE USER.
+ *
+ * This file is added to .fernignore and will not be regenerated.
+ * Replace this skeleton implementation with your custom async pagination logic
+ * that handles your API's specific pagination structure (e.g., HATEOAS links).
+ *
+ * Example implementation for HATEOAS-style async pagination:
+ * {@code
+ * public class AsyncCustomPager implements BiDirectionalPage {
+ * private final List items;
+ * private final String nextUrl;
+ * private final String previousUrl;
+ * private final AsyncHttpClient client;
+ *
+ * public AsyncCustomPager(Response response, AsyncHttpClient client, ...) {
+ * this.items = response.getData();
+ * this.nextUrl = response.getLinks().getNext();
+ * this.previousUrl = response.getLinks().getPrevious();
+ * // ... store other needed context
+ * }
+ *
+ * @Override
+ * public boolean hasNext() {
+ * return nextUrl != null;
+ * }
+ *
+ * @Override
+ * public CompletableFuture> nextPageAsync() {
+ * if (!hasNext()) {
+ * CompletableFuture> future = new CompletableFuture<>();
+ * future.completeExceptionally(new NoSuchElementException("No next page available"));
+ * return future;
+ * }
+ * // Make async HTTP request to nextUrl
+ * return client.getAsync(nextUrl)
+ * .thenApply(response -> new AsyncCustomPager<>(response, client, ...));
+ * }
+ *
+ * // ... implement other methods
+ * }
+ * }
+ *
+ * @param The type of items in the page
+ */
+public class AsyncCustomPager implements BiDirectionalPage {
+
+ /**
+ * Create an AsyncCustomPager from an initial response.
+ *
+ * @param initialResponse The first page response from the API
+ * @param client The async HTTP client to use for subsequent requests
+ * @param requestOptions Request options for authentication, headers, etc.
+ * @return A CompletableFuture containing the new AsyncCustomPager instance
+ */
+ public static CompletableFuture> createAsync(
+ Object initialResponse, okhttp3.OkHttpClient client, Object requestOptions) {
+ throw new UnsupportedOperationException("AsyncCustomPager must be implemented. "
+ + "Please implement this class in core/AsyncCustomPager.java to define your async pagination logic. "
+ + "This file has been added to .fernignore and will not be overwritten. "
+ + "See the class documentation for implementation examples.");
+ }
+
+ @Override
+ public boolean hasNext() {
+ throw new UnsupportedOperationException("AsyncCustomPager.hasNext() must be implemented. "
+ + "This method should return true if a next page is available.");
+ }
+
+ @Override
+ public boolean hasPrevious() {
+ throw new UnsupportedOperationException("AsyncCustomPager.hasPrevious() must be implemented. "
+ + "This method should return true if a previous page is available.");
+ }
+
+ /**
+ * Asynchronously fetch the next page.
+ *
+ * @return A CompletableFuture that completes with the next page
+ * @throws java.util.NoSuchElementException if no next page exists (wrapped in CompletableFuture)
+ */
+ public CompletableFuture> nextPageAsync() {
+ CompletableFuture> future = new CompletableFuture<>();
+ future.completeExceptionally(
+ new UnsupportedOperationException("AsyncCustomPager.nextPageAsync() must be implemented. "
+ + "This method should asynchronously fetch and return the next page of results."));
+ return future;
+ }
+
+ /**
+ * Asynchronously fetch the previous page.
+ *
+ * @return A CompletableFuture that completes with the previous page
+ * @throws java.util.NoSuchElementException if no previous page exists (wrapped in CompletableFuture)
+ */
+ public CompletableFuture> previousPageAsync() {
+ CompletableFuture> future = new CompletableFuture<>();
+ future.completeExceptionally(
+ new UnsupportedOperationException("AsyncCustomPager.previousPageAsync() must be implemented. "
+ + "This method should asynchronously fetch and return the previous page of results."));
+ return future;
+ }
+
+ @Override
+ public BiDirectionalPage nextPage() throws IOException {
+ throw new UnsupportedOperationException("AsyncCustomPager.nextPage() must be implemented. "
+ + "Consider using nextPageAsync() for async operations, or implement synchronous blocking version.");
+ }
+
+ @Override
+ public BiDirectionalPage previousPage() throws IOException {
+ throw new UnsupportedOperationException(
+ "AsyncCustomPager.previousPage() must be implemented. "
+ + "Consider using previousPageAsync() for async operations, or implement synchronous blocking version.");
+ }
+
+ @Override
+ public List getItems() {
+ throw new UnsupportedOperationException("AsyncCustomPager.getItems() must be implemented. "
+ + "This method should return the items in the current page.");
+ }
+
+ @Override
+ public Optional getResponse() {
+ throw new UnsupportedOperationException("AsyncCustomPager.getResponse() must be implemented. "
+ + "This method should return the full response object for accessing pagination metadata.");
+ }
+
+ /**
+ * Asynchronously iterate through all pages starting from current.
+ * Returns a CompletableFuture that completes with all items from all pages.
+ *
+ * @return CompletableFuture containing all items across all pages
+ */
+ public CompletableFuture> getAllItemsAsync() {
+ throw new UnsupportedOperationException("AsyncCustomPager.getAllItemsAsync() must be implemented. "
+ + "This method should asynchronously fetch all pages and return all items.");
+ }
+
+ /**
+ * Process each page asynchronously as it arrives.
+ *
+ * @param pageProcessor Function to process each page
+ * @return CompletableFuture that completes when all pages are processed
+ */
+ public CompletableFuture forEachPageAsync(
+ java.util.function.Function, CompletionStage> pageProcessor) {
+ throw new UnsupportedOperationException("AsyncCustomPager.forEachPageAsync() must be implemented. "
+ + "This method should asynchronously process each page with the given function.");
+ }
+}
diff --git a/src/main/java/com/pipedream/api/core/pagination/BiDirectionalPage.java b/src/main/java/com/pipedream/api/core/pagination/BiDirectionalPage.java
new file mode 100644
index 0000000..2d21d7c
--- /dev/null
+++ b/src/main/java/com/pipedream/api/core/pagination/BiDirectionalPage.java
@@ -0,0 +1,60 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.core.pagination;
+
+import java.util.List;
+
+/**
+ * Interface for pages that support bidirectional pagination (both forward and backward navigation).
+ * This is used for custom pagination scenarios where the API provides both next and previous page links.
+ *
+ * @param The type of items in the page
+ */
+public interface BiDirectionalPage {
+ /**
+ * Returns whether there is a next page available.
+ *
+ * @return true if next page exists and can be fetched
+ */
+ boolean hasNext();
+
+ /**
+ * Returns whether there is a previous page available.
+ *
+ * @return true if previous page exists and can be fetched
+ */
+ boolean hasPrevious();
+
+ /**
+ * Fetches and returns the next page.
+ *
+ * @return the next page
+ * @throws java.util.NoSuchElementException if no next page exists
+ * @throws java.io.IOException if the HTTP request fails
+ */
+ BiDirectionalPage nextPage() throws java.io.IOException;
+
+ /**
+ * Fetches and returns the previous page.
+ *
+ * @return the previous page
+ * @throws java.util.NoSuchElementException if no previous page exists
+ * @throws java.io.IOException if the HTTP request fails
+ */
+ BiDirectionalPage previousPage() throws java.io.IOException;
+
+ /**
+ * Returns the items in the current page.
+ *
+ * @return list of items in this page
+ */
+ List getItems();
+
+ /**
+ * Returns the full response object for accessing pagination metadata.
+ *
+ * @return Optional containing the response, or empty if unavailable
+ */
+ java.util.Optional getResponse();
+}
diff --git a/src/main/java/com/pipedream/api/core/pagination/CustomPager.java b/src/main/java/com/pipedream/api/core/pagination/CustomPager.java
new file mode 100644
index 0000000..41d53cd
--- /dev/null
+++ b/src/main/java/com/pipedream/api/core/pagination/CustomPager.java
@@ -0,0 +1,117 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.core.pagination;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * Skeleton implementation for custom bidirectional pagination.
+ *
+ * THIS CLASS MUST BE IMPLEMENTED BY THE USER.
+ *
+ * This file is added to .fernignore and will not be regenerated.
+ * Replace this skeleton implementation with your custom pagination logic
+ * that handles your API's specific pagination structure (e.g., HATEOAS links).
+ *
+ * Example implementation for HATEOAS-style pagination:
+ * {@code
+ * public class CustomPager implements BiDirectionalPage, Iterable {
+ * private final List items;
+ * private final String nextUrl;
+ * private final String previousUrl;
+ * private final OkHttpClient client;
+ * private final TypeReference> responseType;
+ *
+ * public CustomPager(Response response, OkHttpClient client, ...) {
+ * this.items = response.getData();
+ * this.nextUrl = response.getLinks().getNext();
+ * this.previousUrl = response.getLinks().getPrevious();
+ * // ... store other needed context
+ * }
+ *
+ * @Override
+ * public boolean hasNext() {
+ * return nextUrl != null;
+ * }
+ *
+ * @Override
+ * public CustomPager nextPage() throws IOException {
+ * if (!hasNext()) {
+ * throw new NoSuchElementException("No next page available");
+ * }
+ * // Make HTTP request to nextUrl
+ * // Parse response
+ * // Return new CustomPager instance
+ * }
+ *
+ * // ... implement other methods
+ * }
+ * }
+ *
+ * @param The type of items in the page
+ */
+public class CustomPager implements BiDirectionalPage, Iterable {
+
+ /**
+ * Create a CustomPager from an initial response.
+ *
+ * @param initialResponse The first page response from the API
+ * @param client The HTTP client to use for subsequent requests
+ * @param requestOptions Request options for authentication, headers, etc.
+ * @return A new CustomPager instance
+ * @throws IOException if the request fails
+ */
+ public static CustomPager create(Object initialResponse, okhttp3.OkHttpClient client, Object requestOptions)
+ throws IOException {
+ throw new UnsupportedOperationException("CustomPager must be implemented. "
+ + "Please implement this class in core/CustomPager.java to define your pagination logic. "
+ + "This file has been added to .fernignore and will not be overwritten. "
+ + "See the class documentation for implementation examples.");
+ }
+
+ @Override
+ public boolean hasNext() {
+ throw new UnsupportedOperationException("CustomPager.hasNext() must be implemented. "
+ + "This method should return true if a next page is available.");
+ }
+
+ @Override
+ public boolean hasPrevious() {
+ throw new UnsupportedOperationException("CustomPager.hasPrevious() must be implemented. "
+ + "This method should return true if a previous page is available.");
+ }
+
+ @Override
+ public BiDirectionalPage nextPage() throws IOException {
+ throw new UnsupportedOperationException("CustomPager.nextPage() must be implemented. "
+ + "This method should fetch and return the next page of results.");
+ }
+
+ @Override
+ public BiDirectionalPage previousPage() throws IOException {
+ throw new UnsupportedOperationException("CustomPager.previousPage() must be implemented. "
+ + "This method should fetch and return the previous page of results.");
+ }
+
+ @Override
+ public List getItems() {
+ throw new UnsupportedOperationException("CustomPager.getItems() must be implemented. "
+ + "This method should return the items in the current page.");
+ }
+
+ @Override
+ public Optional getResponse() {
+ throw new UnsupportedOperationException("CustomPager.getResponse() must be implemented. "
+ + "This method should return the full response object for accessing pagination metadata.");
+ }
+
+ @Override
+ public Iterator iterator() {
+ throw new UnsupportedOperationException("CustomPager.iterator() must be implemented. "
+ + "This method should return an iterator that traverses all items across all pages.");
+ }
+}
diff --git a/src/main/java/com/pipedream/api/errors/BadRequestError.java b/src/main/java/com/pipedream/api/errors/BadRequestError.java
new file mode 100644
index 0000000..073c0ed
--- /dev/null
+++ b/src/main/java/com/pipedream/api/errors/BadRequestError.java
@@ -0,0 +1,32 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.errors;
+
+import com.pipedream.api.core.BaseClientApiException;
+import okhttp3.Response;
+
+public final class BadRequestError extends BaseClientApiException {
+ /**
+ * The body of the response that triggered the exception.
+ */
+ private final Object body;
+
+ public BadRequestError(Object body) {
+ super("BadRequestError", 400, body);
+ this.body = body;
+ }
+
+ public BadRequestError(Object body, Response rawResponse) {
+ super("BadRequestError", 400, body, rawResponse);
+ this.body = body;
+ }
+
+ /**
+ * @return the body
+ */
+ @java.lang.Override
+ public Object body() {
+ return this.body;
+ }
+}
diff --git a/src/main/java/com/pipedream/api/errors/NotFoundError.java b/src/main/java/com/pipedream/api/errors/NotFoundError.java
new file mode 100644
index 0000000..fd17c14
--- /dev/null
+++ b/src/main/java/com/pipedream/api/errors/NotFoundError.java
@@ -0,0 +1,32 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.errors;
+
+import com.pipedream.api.core.BaseClientApiException;
+import okhttp3.Response;
+
+public final class NotFoundError extends BaseClientApiException {
+ /**
+ * The body of the response that triggered the exception.
+ */
+ private final Object body;
+
+ public NotFoundError(Object body) {
+ super("NotFoundError", 404, body);
+ this.body = body;
+ }
+
+ public NotFoundError(Object body, Response rawResponse) {
+ super("NotFoundError", 404, body, rawResponse);
+ this.body = body;
+ }
+
+ /**
+ * @return the body
+ */
+ @java.lang.Override
+ public Object body() {
+ return this.body;
+ }
+}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/AccountsClient.java b/src/main/java/com/pipedream/api/resources/accounts/AccountsClient.java
index 328225d..12cecc4 100644
--- a/src/main/java/com/pipedream/api/resources/accounts/AccountsClient.java
+++ b/src/main/java/com/pipedream/api/resources/accounts/AccountsClient.java
@@ -6,9 +6,11 @@
import com.pipedream.api.core.ClientOptions;
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
-import com.pipedream.api.resources.accounts.requests.AccountsListRequest;
-import com.pipedream.api.resources.accounts.requests.AccountsRetrieveRequest;
import com.pipedream.api.resources.accounts.requests.CreateAccountOpts;
+import com.pipedream.api.resources.accounts.requests.DeleteAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.DeleteByAppAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.ListAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.RetrieveAccountsRequest;
import com.pipedream.api.types.Account;
public class AccountsClient {
@@ -38,14 +40,14 @@ public SyncPagingIterable list() {
/**
* Retrieve all connected accounts for the project with optional filtering
*/
- public SyncPagingIterable list(AccountsListRequest request) {
+ public SyncPagingIterable list(ListAccountsRequest request) {
return this.rawClient.list(request).body();
}
/**
* Retrieve all connected accounts for the project with optional filtering
*/
- public SyncPagingIterable list(AccountsListRequest request, RequestOptions requestOptions) {
+ public SyncPagingIterable list(ListAccountsRequest request, RequestOptions requestOptions) {
return this.rawClient.list(request, requestOptions).body();
}
@@ -73,14 +75,14 @@ public Account retrieve(String accountId) {
/**
* Get the details for a specific connected account
*/
- public Account retrieve(String accountId, AccountsRetrieveRequest request) {
+ public Account retrieve(String accountId, RetrieveAccountsRequest request) {
return this.rawClient.retrieve(accountId, request).body();
}
/**
* Get the details for a specific connected account
*/
- public Account retrieve(String accountId, AccountsRetrieveRequest request, RequestOptions requestOptions) {
+ public Account retrieve(String accountId, RetrieveAccountsRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(accountId, request, requestOptions).body();
}
@@ -94,8 +96,15 @@ public void delete(String accountId) {
/**
* Remove a connected account and its associated credentials
*/
- public void delete(String accountId, RequestOptions requestOptions) {
- this.rawClient.delete(accountId, requestOptions).body();
+ public void delete(String accountId, DeleteAccountsRequest request) {
+ this.rawClient.delete(accountId, request).body();
+ }
+
+ /**
+ * Remove a connected account and its associated credentials
+ */
+ public void delete(String accountId, DeleteAccountsRequest request, RequestOptions requestOptions) {
+ this.rawClient.delete(accountId, request, requestOptions).body();
}
/**
@@ -108,7 +117,14 @@ public void deleteByApp(String appId) {
/**
* Remove all connected accounts for a specific app
*/
- public void deleteByApp(String appId, RequestOptions requestOptions) {
- this.rawClient.deleteByApp(appId, requestOptions).body();
+ public void deleteByApp(String appId, DeleteByAppAccountsRequest request) {
+ this.rawClient.deleteByApp(appId, request).body();
+ }
+
+ /**
+ * Remove all connected accounts for a specific app
+ */
+ public void deleteByApp(String appId, DeleteByAppAccountsRequest request, RequestOptions requestOptions) {
+ this.rawClient.deleteByApp(appId, request, requestOptions).body();
}
}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/AsyncAccountsClient.java b/src/main/java/com/pipedream/api/resources/accounts/AsyncAccountsClient.java
index da3e9be..24e3574 100644
--- a/src/main/java/com/pipedream/api/resources/accounts/AsyncAccountsClient.java
+++ b/src/main/java/com/pipedream/api/resources/accounts/AsyncAccountsClient.java
@@ -6,9 +6,11 @@
import com.pipedream.api.core.ClientOptions;
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
-import com.pipedream.api.resources.accounts.requests.AccountsListRequest;
-import com.pipedream.api.resources.accounts.requests.AccountsRetrieveRequest;
import com.pipedream.api.resources.accounts.requests.CreateAccountOpts;
+import com.pipedream.api.resources.accounts.requests.DeleteAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.DeleteByAppAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.ListAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.RetrieveAccountsRequest;
import com.pipedream.api.types.Account;
import java.util.concurrent.CompletableFuture;
@@ -39,7 +41,7 @@ public CompletableFuture> list() {
/**
* Retrieve all connected accounts for the project with optional filtering
*/
- public CompletableFuture> list(AccountsListRequest request) {
+ public CompletableFuture> list(ListAccountsRequest request) {
return this.rawClient.list(request).thenApply(response -> response.body());
}
@@ -47,7 +49,7 @@ public CompletableFuture> list(AccountsListRequest r
* Retrieve all connected accounts for the project with optional filtering
*/
public CompletableFuture> list(
- AccountsListRequest request, RequestOptions requestOptions) {
+ ListAccountsRequest request, RequestOptions requestOptions) {
return this.rawClient.list(request, requestOptions).thenApply(response -> response.body());
}
@@ -75,7 +77,7 @@ public CompletableFuture retrieve(String accountId) {
/**
* Get the details for a specific connected account
*/
- public CompletableFuture retrieve(String accountId, AccountsRetrieveRequest request) {
+ public CompletableFuture retrieve(String accountId, RetrieveAccountsRequest request) {
return this.rawClient.retrieve(accountId, request).thenApply(response -> response.body());
}
@@ -83,7 +85,7 @@ public CompletableFuture retrieve(String accountId, AccountsRetrieveReq
* Get the details for a specific connected account
*/
public CompletableFuture retrieve(
- String accountId, AccountsRetrieveRequest request, RequestOptions requestOptions) {
+ String accountId, RetrieveAccountsRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(accountId, request, requestOptions).thenApply(response -> response.body());
}
@@ -97,8 +99,16 @@ public CompletableFuture delete(String accountId) {
/**
* Remove a connected account and its associated credentials
*/
- public CompletableFuture delete(String accountId, RequestOptions requestOptions) {
- return this.rawClient.delete(accountId, requestOptions).thenApply(response -> response.body());
+ public CompletableFuture delete(String accountId, DeleteAccountsRequest request) {
+ return this.rawClient.delete(accountId, request).thenApply(response -> response.body());
+ }
+
+ /**
+ * Remove a connected account and its associated credentials
+ */
+ public CompletableFuture delete(
+ String accountId, DeleteAccountsRequest request, RequestOptions requestOptions) {
+ return this.rawClient.delete(accountId, request, requestOptions).thenApply(response -> response.body());
}
/**
@@ -111,7 +121,15 @@ public CompletableFuture deleteByApp(String appId) {
/**
* Remove all connected accounts for a specific app
*/
- public CompletableFuture deleteByApp(String appId, RequestOptions requestOptions) {
- return this.rawClient.deleteByApp(appId, requestOptions).thenApply(response -> response.body());
+ public CompletableFuture deleteByApp(String appId, DeleteByAppAccountsRequest request) {
+ return this.rawClient.deleteByApp(appId, request).thenApply(response -> response.body());
+ }
+
+ /**
+ * Remove all connected accounts for a specific app
+ */
+ public CompletableFuture deleteByApp(
+ String appId, DeleteByAppAccountsRequest request, RequestOptions requestOptions) {
+ return this.rawClient.deleteByApp(appId, request, requestOptions).thenApply(response -> response.body());
}
}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/AsyncRawAccountsClient.java b/src/main/java/com/pipedream/api/resources/accounts/AsyncRawAccountsClient.java
index dd95b5f..0646c18 100644
--- a/src/main/java/com/pipedream/api/resources/accounts/AsyncRawAccountsClient.java
+++ b/src/main/java/com/pipedream/api/resources/accounts/AsyncRawAccountsClient.java
@@ -14,9 +14,11 @@
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
import com.pipedream.api.errors.TooManyRequestsError;
-import com.pipedream.api.resources.accounts.requests.AccountsListRequest;
-import com.pipedream.api.resources.accounts.requests.AccountsRetrieveRequest;
import com.pipedream.api.resources.accounts.requests.CreateAccountOpts;
+import com.pipedream.api.resources.accounts.requests.DeleteAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.DeleteByAppAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.ListAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.RetrieveAccountsRequest;
import com.pipedream.api.types.Account;
import com.pipedream.api.types.ListAccountsResponse;
import java.io.IOException;
@@ -46,13 +48,13 @@ public AsyncRawAccountsClient(ClientOptions clientOptions) {
* Retrieve all connected accounts for the project with optional filtering
*/
public CompletableFuture>> list() {
- return list(AccountsListRequest.builder().build());
+ return list(ListAccountsRequest.builder().build());
}
/**
* Retrieve all connected accounts for the project with optional filtering
*/
- public CompletableFuture>> list(AccountsListRequest request) {
+ public CompletableFuture>> list(ListAccountsRequest request) {
return list(request, null);
}
@@ -60,7 +62,7 @@ public CompletableFuture>> li
* Retrieve all connected accounts for the project with optional filtering
*/
public CompletableFuture>> list(
- AccountsListRequest request, RequestOptions requestOptions) {
+ ListAccountsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -111,12 +113,13 @@ public CompletableFuture>> li
@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()) {
ListAccountsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListAccountsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListAccountsResponse.class);
Optional startingAfter =
parsedResponse.getPageInfo().getEndCursor();
- AccountsListRequest nextRequest = AccountsListRequest.builder()
+ ListAccountsRequest nextRequest = ListAccountsRequest.builder()
.from(request)
.after(startingAfter)
.build();
@@ -135,7 +138,6 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -145,11 +147,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -212,12 +212,12 @@ public CompletableFuture> create(
@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 BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), Account.class), response));
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Account.class), response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -227,11 +227,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -250,14 +248,14 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
* Get the details for a specific connected account
*/
public CompletableFuture> retrieve(String accountId) {
- return retrieve(accountId, AccountsRetrieveRequest.builder().build());
+ return retrieve(accountId, RetrieveAccountsRequest.builder().build());
}
/**
* Get the details for a specific connected account
*/
public CompletableFuture> retrieve(
- String accountId, AccountsRetrieveRequest request) {
+ String accountId, RetrieveAccountsRequest request) {
return retrieve(accountId, request, null);
}
@@ -265,7 +263,7 @@ public CompletableFuture> retrieve(
* Get the details for a specific connected account
*/
public CompletableFuture> retrieve(
- String accountId, AccountsRetrieveRequest request, RequestOptions requestOptions) {
+ String accountId, RetrieveAccountsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -294,12 +292,12 @@ public CompletableFuture> retrieve(
@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 BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), Account.class), response));
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Account.class), response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -309,11 +307,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -332,13 +328,21 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
* Remove a connected account and its associated credentials
*/
public CompletableFuture> delete(String accountId) {
- return delete(accountId, null);
+ return delete(accountId, DeleteAccountsRequest.builder().build());
}
/**
* Remove a connected account and its associated credentials
*/
- public CompletableFuture> delete(String accountId, RequestOptions requestOptions) {
+ public CompletableFuture> delete(String accountId, DeleteAccountsRequest request) {
+ return delete(accountId, request, null);
+ }
+
+ /**
+ * Remove a connected account and its associated credentials
+ */
+ public CompletableFuture> delete(
+ String accountId, DeleteAccountsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -346,12 +350,12 @@ public CompletableFuture> delete(String accountId,
.addPathSegments("accounts")
.addPathSegment(accountId)
.build();
- Request okhttpRequest = new Request.Builder()
+ Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl)
.method("DELETE", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
- .addHeader("Accept", "application/json")
- .build();
+ .addHeader("Accept", "application/json");
+ Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
@@ -375,11 +379,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -398,13 +400,22 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
* Remove all connected accounts for a specific app
*/
public CompletableFuture> deleteByApp(String appId) {
- return deleteByApp(appId, null);
+ return deleteByApp(appId, DeleteByAppAccountsRequest.builder().build());
+ }
+
+ /**
+ * Remove all connected accounts for a specific app
+ */
+ public CompletableFuture> deleteByApp(
+ String appId, DeleteByAppAccountsRequest request) {
+ return deleteByApp(appId, request, null);
}
/**
* Remove all connected accounts for a specific app
*/
- public CompletableFuture> deleteByApp(String appId, RequestOptions requestOptions) {
+ public CompletableFuture> deleteByApp(
+ String appId, DeleteByAppAccountsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -413,12 +424,12 @@ public CompletableFuture> deleteByApp(String appId,
.addPathSegment(appId)
.addPathSegments("accounts")
.build();
- Request okhttpRequest = new Request.Builder()
+ Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl)
.method("DELETE", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
- .addHeader("Accept", "application/json")
- .build();
+ .addHeader("Accept", "application/json");
+ Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
@@ -442,11 +453,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/pipedream/api/resources/accounts/RawAccountsClient.java b/src/main/java/com/pipedream/api/resources/accounts/RawAccountsClient.java
index 777be36..c6aa61d 100644
--- a/src/main/java/com/pipedream/api/resources/accounts/RawAccountsClient.java
+++ b/src/main/java/com/pipedream/api/resources/accounts/RawAccountsClient.java
@@ -14,9 +14,11 @@
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
import com.pipedream.api.errors.TooManyRequestsError;
-import com.pipedream.api.resources.accounts.requests.AccountsListRequest;
-import com.pipedream.api.resources.accounts.requests.AccountsRetrieveRequest;
import com.pipedream.api.resources.accounts.requests.CreateAccountOpts;
+import com.pipedream.api.resources.accounts.requests.DeleteAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.DeleteByAppAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.ListAccountsRequest;
+import com.pipedream.api.resources.accounts.requests.RetrieveAccountsRequest;
import com.pipedream.api.types.Account;
import com.pipedream.api.types.ListAccountsResponse;
import java.io.IOException;
@@ -41,13 +43,13 @@ public RawAccountsClient(ClientOptions clientOptions) {
* Retrieve all connected accounts for the project with optional filtering
*/
public BaseClientHttpResponse> list() {
- return list(AccountsListRequest.builder().build());
+ return list(ListAccountsRequest.builder().build());
}
/**
* Retrieve all connected accounts for the project with optional filtering
*/
- public BaseClientHttpResponse> list(AccountsListRequest request) {
+ public BaseClientHttpResponse> list(ListAccountsRequest request) {
return list(request, null);
}
@@ -55,7 +57,7 @@ public BaseClientHttpResponse> list(AccountsListRequ
* Retrieve all connected accounts for the project with optional filtering
*/
public BaseClientHttpResponse> list(
- AccountsListRequest request, RequestOptions requestOptions) {
+ ListAccountsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -103,11 +105,12 @@ public BaseClientHttpResponse> list(
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListAccountsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListAccountsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListAccountsResponse.class);
Optional startingAfter = parsedResponse.getPageInfo().getEndCursor();
- AccountsListRequest nextRequest = AccountsListRequest.builder()
+ ListAccountsRequest nextRequest = ListAccountsRequest.builder()
.from(request)
.after(startingAfter)
.build();
@@ -118,7 +121,6 @@ public BaseClientHttpResponse> list(
.body()),
response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -127,11 +129,9 @@ public BaseClientHttpResponse> list(
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -181,11 +181,11 @@ public BaseClientHttpResponse create(CreateAccountOpts request, Request
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
return new BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), Account.class), response);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Account.class), response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -194,11 +194,9 @@ public BaseClientHttpResponse create(CreateAccountOpts request, Request
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -208,13 +206,13 @@ public BaseClientHttpResponse create(CreateAccountOpts request, Request
* Get the details for a specific connected account
*/
public BaseClientHttpResponse retrieve(String accountId) {
- return retrieve(accountId, AccountsRetrieveRequest.builder().build());
+ return retrieve(accountId, RetrieveAccountsRequest.builder().build());
}
/**
* Get the details for a specific connected account
*/
- public BaseClientHttpResponse retrieve(String accountId, AccountsRetrieveRequest request) {
+ public BaseClientHttpResponse retrieve(String accountId, RetrieveAccountsRequest request) {
return retrieve(accountId, request, null);
}
@@ -222,7 +220,7 @@ public BaseClientHttpResponse retrieve(String accountId, AccountsRetrie
* Get the details for a specific connected account
*/
public BaseClientHttpResponse retrieve(
- String accountId, AccountsRetrieveRequest request, RequestOptions requestOptions) {
+ String accountId, RetrieveAccountsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -248,11 +246,11 @@ public BaseClientHttpResponse retrieve(
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
return new BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), Account.class), response);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Account.class), response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -261,11 +259,9 @@ public BaseClientHttpResponse retrieve(
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -275,13 +271,21 @@ public BaseClientHttpResponse retrieve(
* Remove a connected account and its associated credentials
*/
public BaseClientHttpResponse delete(String accountId) {
- return delete(accountId, null);
+ return delete(accountId, DeleteAccountsRequest.builder().build());
}
/**
* Remove a connected account and its associated credentials
*/
- public BaseClientHttpResponse delete(String accountId, RequestOptions requestOptions) {
+ public BaseClientHttpResponse delete(String accountId, DeleteAccountsRequest request) {
+ return delete(accountId, request, null);
+ }
+
+ /**
+ * Remove a connected account and its associated credentials
+ */
+ public BaseClientHttpResponse delete(
+ String accountId, DeleteAccountsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -289,12 +293,12 @@ public BaseClientHttpResponse delete(String accountId, RequestOptions requ
.addPathSegments("accounts")
.addPathSegment(accountId)
.build();
- Request okhttpRequest = new Request.Builder()
+ Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl)
.method("DELETE", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
- .addHeader("Accept", "application/json")
- .build();
+ .addHeader("Accept", "application/json");
+ Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
@@ -313,11 +317,9 @@ public BaseClientHttpResponse delete(String accountId, RequestOptions requ
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -327,13 +329,21 @@ public BaseClientHttpResponse delete(String accountId, RequestOptions requ
* Remove all connected accounts for a specific app
*/
public BaseClientHttpResponse deleteByApp(String appId) {
- return deleteByApp(appId, null);
+ return deleteByApp(appId, DeleteByAppAccountsRequest.builder().build());
+ }
+
+ /**
+ * Remove all connected accounts for a specific app
+ */
+ public BaseClientHttpResponse deleteByApp(String appId, DeleteByAppAccountsRequest request) {
+ return deleteByApp(appId, request, null);
}
/**
* Remove all connected accounts for a specific app
*/
- public BaseClientHttpResponse deleteByApp(String appId, RequestOptions requestOptions) {
+ public BaseClientHttpResponse deleteByApp(
+ String appId, DeleteByAppAccountsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -342,12 +352,12 @@ public BaseClientHttpResponse deleteByApp(String appId, RequestOptions req
.addPathSegment(appId)
.addPathSegments("accounts")
.build();
- Request okhttpRequest = new Request.Builder()
+ Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl)
.method("DELETE", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
- .addHeader("Accept", "application/json")
- .build();
+ .addHeader("Accept", "application/json");
+ Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
@@ -366,11 +376,9 @@ public BaseClientHttpResponse deleteByApp(String appId, RequestOptions req
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/requests/DeleteAccountsRequest.java b/src/main/java/com/pipedream/api/resources/accounts/requests/DeleteAccountsRequest.java
new file mode 100644
index 0000000..bac3f70
--- /dev/null
+++ b/src/main/java/com/pipedream/api/resources/accounts/requests/DeleteAccountsRequest.java
@@ -0,0 +1,59 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.resources.accounts.requests;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.pipedream.api.core.ObjectMappers;
+import java.util.HashMap;
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = DeleteAccountsRequest.Builder.class)
+public final class DeleteAccountsRequest {
+ private final Map additionalProperties;
+
+ private DeleteAccountsRequest(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof DeleteAccountsRequest;
+ }
+
+ @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(DeleteAccountsRequest other) {
+ return this;
+ }
+
+ public DeleteAccountsRequest build() {
+ return new DeleteAccountsRequest(additionalProperties);
+ }
+ }
+}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/requests/DeleteByAppAccountsRequest.java b/src/main/java/com/pipedream/api/resources/accounts/requests/DeleteByAppAccountsRequest.java
new file mode 100644
index 0000000..f5d326e
--- /dev/null
+++ b/src/main/java/com/pipedream/api/resources/accounts/requests/DeleteByAppAccountsRequest.java
@@ -0,0 +1,59 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.resources.accounts.requests;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.pipedream.api.core.ObjectMappers;
+import java.util.HashMap;
+import java.util.Map;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = DeleteByAppAccountsRequest.Builder.class)
+public final class DeleteByAppAccountsRequest {
+ private final Map additionalProperties;
+
+ private DeleteByAppAccountsRequest(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof DeleteByAppAccountsRequest;
+ }
+
+ @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(DeleteByAppAccountsRequest other) {
+ return this;
+ }
+
+ public DeleteByAppAccountsRequest build() {
+ return new DeleteByAppAccountsRequest(additionalProperties);
+ }
+ }
+}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/requests/AccountsListRequest.java b/src/main/java/com/pipedream/api/resources/accounts/requests/ListAccountsRequest.java
similarity index 95%
rename from src/main/java/com/pipedream/api/resources/accounts/requests/AccountsListRequest.java
rename to src/main/java/com/pipedream/api/resources/accounts/requests/ListAccountsRequest.java
index bfba211..6d5412e 100644
--- a/src/main/java/com/pipedream/api/resources/accounts/requests/AccountsListRequest.java
+++ b/src/main/java/com/pipedream/api/resources/accounts/requests/ListAccountsRequest.java
@@ -18,8 +18,8 @@
import java.util.Optional;
@JsonInclude(JsonInclude.Include.NON_ABSENT)
-@JsonDeserialize(builder = AccountsListRequest.Builder.class)
-public final class AccountsListRequest {
+@JsonDeserialize(builder = ListAccountsRequest.Builder.class)
+public final class ListAccountsRequest {
private final Optional externalUserId;
private final Optional oauthAppId;
@@ -36,7 +36,7 @@ public final class AccountsListRequest {
private final Map additionalProperties;
- private AccountsListRequest(
+ private ListAccountsRequest(
Optional externalUserId,
Optional oauthAppId,
Optional after,
@@ -111,7 +111,7 @@ public Optional getIncludeCredentials() {
@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
- return other instanceof AccountsListRequest && equalTo((AccountsListRequest) other);
+ return other instanceof ListAccountsRequest && equalTo((ListAccountsRequest) other);
}
@JsonAnyGetter
@@ -119,7 +119,7 @@ public Map getAdditionalProperties() {
return this.additionalProperties;
}
- private boolean equalTo(AccountsListRequest other) {
+ private boolean equalTo(ListAccountsRequest other) {
return externalUserId.equals(other.externalUserId)
&& oauthAppId.equals(other.oauthAppId)
&& after.equals(other.after)
@@ -171,7 +171,7 @@ public static final class Builder {
private Builder() {}
- public Builder from(AccountsListRequest other) {
+ public Builder from(ListAccountsRequest other) {
externalUserId(other.getExternalUserId());
oauthAppId(other.getOauthAppId());
after(other.getAfter());
@@ -277,8 +277,8 @@ public Builder includeCredentials(Boolean includeCredentials) {
return this;
}
- public AccountsListRequest build() {
- return new AccountsListRequest(
+ public ListAccountsRequest build() {
+ return new ListAccountsRequest(
externalUserId, oauthAppId, after, before, limit, app, includeCredentials, additionalProperties);
}
}
diff --git a/src/main/java/com/pipedream/api/resources/accounts/requests/AccountsRetrieveRequest.java b/src/main/java/com/pipedream/api/resources/accounts/requests/RetrieveAccountsRequest.java
similarity index 84%
rename from src/main/java/com/pipedream/api/resources/accounts/requests/AccountsRetrieveRequest.java
rename to src/main/java/com/pipedream/api/resources/accounts/requests/RetrieveAccountsRequest.java
index 3844f9d..0f603bc 100644
--- a/src/main/java/com/pipedream/api/resources/accounts/requests/AccountsRetrieveRequest.java
+++ b/src/main/java/com/pipedream/api/resources/accounts/requests/RetrieveAccountsRequest.java
@@ -18,13 +18,13 @@
import java.util.Optional;
@JsonInclude(JsonInclude.Include.NON_ABSENT)
-@JsonDeserialize(builder = AccountsRetrieveRequest.Builder.class)
-public final class AccountsRetrieveRequest {
+@JsonDeserialize(builder = RetrieveAccountsRequest.Builder.class)
+public final class RetrieveAccountsRequest {
private final Optional includeCredentials;
private final Map additionalProperties;
- private AccountsRetrieveRequest(Optional includeCredentials, Map additionalProperties) {
+ private RetrieveAccountsRequest(Optional includeCredentials, Map additionalProperties) {
this.includeCredentials = includeCredentials;
this.additionalProperties = additionalProperties;
}
@@ -40,7 +40,7 @@ public Optional getIncludeCredentials() {
@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
- return other instanceof AccountsRetrieveRequest && equalTo((AccountsRetrieveRequest) other);
+ return other instanceof RetrieveAccountsRequest && equalTo((RetrieveAccountsRequest) other);
}
@JsonAnyGetter
@@ -48,7 +48,7 @@ public Map getAdditionalProperties() {
return this.additionalProperties;
}
- private boolean equalTo(AccountsRetrieveRequest other) {
+ private boolean equalTo(RetrieveAccountsRequest other) {
return includeCredentials.equals(other.includeCredentials);
}
@@ -75,7 +75,7 @@ public static final class Builder {
private Builder() {}
- public Builder from(AccountsRetrieveRequest other) {
+ public Builder from(RetrieveAccountsRequest other) {
includeCredentials(other.getIncludeCredentials());
return this;
}
@@ -94,8 +94,8 @@ public Builder includeCredentials(Boolean includeCredentials) {
return this;
}
- public AccountsRetrieveRequest build() {
- return new AccountsRetrieveRequest(includeCredentials, additionalProperties);
+ public RetrieveAccountsRequest build() {
+ return new RetrieveAccountsRequest(includeCredentials, additionalProperties);
}
}
}
diff --git a/src/main/java/com/pipedream/api/resources/actions/ActionsClient.java b/src/main/java/com/pipedream/api/resources/actions/ActionsClient.java
index 18b750a..7839cc6 100644
--- a/src/main/java/com/pipedream/api/resources/actions/ActionsClient.java
+++ b/src/main/java/com/pipedream/api/resources/actions/ActionsClient.java
@@ -6,13 +6,13 @@
import com.pipedream.api.core.ClientOptions;
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
-import com.pipedream.api.resources.actions.requests.ActionsListRequest;
-import com.pipedream.api.resources.actions.requests.ActionsRetrieveRequest;
+import com.pipedream.api.resources.actions.requests.ConfigurePropActionsRequest;
+import com.pipedream.api.resources.actions.requests.ListActionsRequest;
+import com.pipedream.api.resources.actions.requests.ReloadPropsActionsRequest;
+import com.pipedream.api.resources.actions.requests.RetrieveActionsRequest;
import com.pipedream.api.resources.actions.requests.RunActionOpts;
import com.pipedream.api.types.Component;
-import com.pipedream.api.types.ConfigurePropOpts;
import com.pipedream.api.types.ConfigurePropResponse;
-import com.pipedream.api.types.ReloadPropsOpts;
import com.pipedream.api.types.ReloadPropsResponse;
import com.pipedream.api.types.RunActionResponse;
@@ -43,14 +43,14 @@ public SyncPagingIterable list() {
/**
* Retrieve available actions with optional search and app filtering
*/
- public SyncPagingIterable list(ActionsListRequest request) {
+ public SyncPagingIterable list(ListActionsRequest request) {
return this.rawClient.list(request).body();
}
/**
* Retrieve available actions with optional search and app filtering
*/
- public SyncPagingIterable list(ActionsListRequest request, RequestOptions requestOptions) {
+ public SyncPagingIterable list(ListActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.list(request, requestOptions).body();
}
@@ -64,42 +64,42 @@ public Component retrieve(String componentId) {
/**
* Get detailed configuration for a specific action by its key
*/
- public Component retrieve(String componentId, ActionsRetrieveRequest request) {
+ public Component retrieve(String componentId, RetrieveActionsRequest request) {
return this.rawClient.retrieve(componentId, request).body();
}
/**
* Get detailed configuration for a specific action by its key
*/
- public Component retrieve(String componentId, ActionsRetrieveRequest request, RequestOptions requestOptions) {
+ public Component retrieve(String componentId, RetrieveActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(componentId, request, requestOptions).body();
}
/**
* Retrieve remote options for a given prop for a action
*/
- public ConfigurePropResponse configureProp(ConfigurePropOpts request) {
+ public ConfigurePropResponse configureProp(ConfigurePropActionsRequest request) {
return this.rawClient.configureProp(request).body();
}
/**
* Retrieve remote options for a given prop for a action
*/
- public ConfigurePropResponse configureProp(ConfigurePropOpts request, RequestOptions requestOptions) {
+ public ConfigurePropResponse configureProp(ConfigurePropActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.configureProp(request, requestOptions).body();
}
/**
* Reload the prop definition based on the currently configured props
*/
- public ReloadPropsResponse reloadProps(ReloadPropsOpts request) {
+ public ReloadPropsResponse reloadProps(ReloadPropsActionsRequest request) {
return this.rawClient.reloadProps(request).body();
}
/**
* Reload the prop definition based on the currently configured props
*/
- public ReloadPropsResponse reloadProps(ReloadPropsOpts request, RequestOptions requestOptions) {
+ public ReloadPropsResponse reloadProps(ReloadPropsActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.reloadProps(request, requestOptions).body();
}
diff --git a/src/main/java/com/pipedream/api/resources/actions/AsyncActionsClient.java b/src/main/java/com/pipedream/api/resources/actions/AsyncActionsClient.java
index 442f0b5..db89ee5 100644
--- a/src/main/java/com/pipedream/api/resources/actions/AsyncActionsClient.java
+++ b/src/main/java/com/pipedream/api/resources/actions/AsyncActionsClient.java
@@ -6,13 +6,13 @@
import com.pipedream.api.core.ClientOptions;
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
-import com.pipedream.api.resources.actions.requests.ActionsListRequest;
-import com.pipedream.api.resources.actions.requests.ActionsRetrieveRequest;
+import com.pipedream.api.resources.actions.requests.ConfigurePropActionsRequest;
+import com.pipedream.api.resources.actions.requests.ListActionsRequest;
+import com.pipedream.api.resources.actions.requests.ReloadPropsActionsRequest;
+import com.pipedream.api.resources.actions.requests.RetrieveActionsRequest;
import com.pipedream.api.resources.actions.requests.RunActionOpts;
import com.pipedream.api.types.Component;
-import com.pipedream.api.types.ConfigurePropOpts;
import com.pipedream.api.types.ConfigurePropResponse;
-import com.pipedream.api.types.ReloadPropsOpts;
import com.pipedream.api.types.ReloadPropsResponse;
import com.pipedream.api.types.RunActionResponse;
import java.util.concurrent.CompletableFuture;
@@ -44,7 +44,7 @@ public CompletableFuture> list() {
/**
* Retrieve available actions with optional search and app filtering
*/
- public CompletableFuture> list(ActionsListRequest request) {
+ public CompletableFuture> list(ListActionsRequest request) {
return this.rawClient.list(request).thenApply(response -> response.body());
}
@@ -52,7 +52,7 @@ public CompletableFuture> list(ActionsListRequest
* Retrieve available actions with optional search and app filtering
*/
public CompletableFuture> list(
- ActionsListRequest request, RequestOptions requestOptions) {
+ ListActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.list(request, requestOptions).thenApply(response -> response.body());
}
@@ -66,7 +66,7 @@ public CompletableFuture retrieve(String componentId) {
/**
* Get detailed configuration for a specific action by its key
*/
- public CompletableFuture retrieve(String componentId, ActionsRetrieveRequest request) {
+ public CompletableFuture retrieve(String componentId, RetrieveActionsRequest request) {
return this.rawClient.retrieve(componentId, request).thenApply(response -> response.body());
}
@@ -74,14 +74,14 @@ public CompletableFuture retrieve(String componentId, ActionsRetrieve
* Get detailed configuration for a specific action by its key
*/
public CompletableFuture retrieve(
- String componentId, ActionsRetrieveRequest request, RequestOptions requestOptions) {
+ String componentId, RetrieveActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(componentId, request, requestOptions).thenApply(response -> response.body());
}
/**
* Retrieve remote options for a given prop for a action
*/
- public CompletableFuture configureProp(ConfigurePropOpts request) {
+ public CompletableFuture configureProp(ConfigurePropActionsRequest request) {
return this.rawClient.configureProp(request).thenApply(response -> response.body());
}
@@ -89,21 +89,22 @@ public CompletableFuture configureProp(ConfigurePropOpts
* Retrieve remote options for a given prop for a action
*/
public CompletableFuture configureProp(
- ConfigurePropOpts request, RequestOptions requestOptions) {
+ ConfigurePropActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.configureProp(request, requestOptions).thenApply(response -> response.body());
}
/**
* Reload the prop definition based on the currently configured props
*/
- public CompletableFuture reloadProps(ReloadPropsOpts request) {
+ public CompletableFuture reloadProps(ReloadPropsActionsRequest request) {
return this.rawClient.reloadProps(request).thenApply(response -> response.body());
}
/**
* Reload the prop definition based on the currently configured props
*/
- public CompletableFuture reloadProps(ReloadPropsOpts request, RequestOptions requestOptions) {
+ public CompletableFuture reloadProps(
+ ReloadPropsActionsRequest request, RequestOptions requestOptions) {
return this.rawClient.reloadProps(request, requestOptions).thenApply(response -> response.body());
}
diff --git a/src/main/java/com/pipedream/api/resources/actions/AsyncRawActionsClient.java b/src/main/java/com/pipedream/api/resources/actions/AsyncRawActionsClient.java
index 72dfcab..c5392e3 100644
--- a/src/main/java/com/pipedream/api/resources/actions/AsyncRawActionsClient.java
+++ b/src/main/java/com/pipedream/api/resources/actions/AsyncRawActionsClient.java
@@ -13,16 +13,17 @@
import com.pipedream.api.core.QueryStringMapper;
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
+import com.pipedream.api.errors.BadRequestError;
import com.pipedream.api.errors.TooManyRequestsError;
-import com.pipedream.api.resources.actions.requests.ActionsListRequest;
-import com.pipedream.api.resources.actions.requests.ActionsRetrieveRequest;
+import com.pipedream.api.resources.actions.requests.ConfigurePropActionsRequest;
+import com.pipedream.api.resources.actions.requests.ListActionsRequest;
+import com.pipedream.api.resources.actions.requests.ReloadPropsActionsRequest;
+import com.pipedream.api.resources.actions.requests.RetrieveActionsRequest;
import com.pipedream.api.resources.actions.requests.RunActionOpts;
import com.pipedream.api.types.Component;
-import com.pipedream.api.types.ConfigurePropOpts;
import com.pipedream.api.types.ConfigurePropResponse;
import com.pipedream.api.types.GetComponentResponse;
import com.pipedream.api.types.GetComponentsResponse;
-import com.pipedream.api.types.ReloadPropsOpts;
import com.pipedream.api.types.ReloadPropsResponse;
import com.pipedream.api.types.RunActionResponse;
import java.io.IOException;
@@ -52,13 +53,13 @@ public AsyncRawActionsClient(ClientOptions clientOptions) {
* Retrieve available actions with optional search and app filtering
*/
public CompletableFuture>> list() {
- return list(ActionsListRequest.builder().build());
+ return list(ListActionsRequest.builder().build());
}
/**
* Retrieve available actions with optional search and app filtering
*/
- public CompletableFuture>> list(ActionsListRequest request) {
+ public CompletableFuture>> list(ListActionsRequest request) {
return list(request, null);
}
@@ -66,7 +67,7 @@ public CompletableFuture>>
* Retrieve available actions with optional search and app filtering
*/
public CompletableFuture>> list(
- ActionsListRequest request, RequestOptions requestOptions) {
+ ListActionsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -90,6 +91,10 @@ public CompletableFuture>>
if (request.getApp().isPresent()) {
QueryStringMapper.addQueryParameter(httpUrl, "app", request.getApp().get(), false);
}
+ if (request.getRegistry().isPresent()) {
+ QueryStringMapper.addQueryParameter(
+ httpUrl, "registry", request.getRegistry().get(), false);
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -105,12 +110,13 @@ public CompletableFuture>>
@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()) {
GetComponentsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetComponentsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetComponentsResponse.class);
Optional startingAfter =
parsedResponse.getPageInfo().getEndCursor();
- ActionsListRequest nextRequest = ActionsListRequest.builder()
+ ListActionsRequest nextRequest = ListActionsRequest.builder()
.from(request)
.after(startingAfter)
.build();
@@ -129,21 +135,25 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
- if (response.code() == 429) {
- future.completeExceptionally(new TooManyRequestsError(
- 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 429:
+ future.completeExceptionally(new TooManyRequestsError(
+ 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 BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -162,14 +172,14 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
* Get detailed configuration for a specific action by its key
*/
public CompletableFuture> retrieve(String componentId) {
- return retrieve(componentId, ActionsRetrieveRequest.builder().build());
+ return retrieve(componentId, RetrieveActionsRequest.builder().build());
}
/**
* Get detailed configuration for a specific action by its key
*/
public CompletableFuture> retrieve(
- String componentId, ActionsRetrieveRequest request) {
+ String componentId, RetrieveActionsRequest request) {
return retrieve(componentId, request, null);
}
@@ -177,7 +187,7 @@ public CompletableFuture> retrieve(
* Get detailed configuration for a specific action by its key
*/
public CompletableFuture> retrieve(
- String componentId, ActionsRetrieveRequest request, RequestOptions requestOptions) {
+ String componentId, RetrieveActionsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -203,13 +213,13 @@ public CompletableFuture> retrieve(
@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()) {
GetComponentResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetComponentResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetComponentResponse.class);
future.complete(new BaseClientHttpResponse<>(parsedResponse.getData(), response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -219,11 +229,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -241,7 +249,8 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
/**
* Retrieve remote options for a given prop for a action
*/
- public CompletableFuture> configureProp(ConfigurePropOpts request) {
+ public CompletableFuture> configureProp(
+ ConfigurePropActionsRequest request) {
return configureProp(request, null);
}
@@ -249,17 +258,18 @@ public CompletableFuture> configur
* Retrieve remote options for a given prop for a action
*/
public CompletableFuture> configureProp(
- ConfigurePropOpts request, RequestOptions requestOptions) {
+ ConfigurePropActionsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
.addPathSegment(clientOptions.projectId())
- .addPathSegments("actions/configure")
+ .addPathSegments("actions")
+ .addPathSegments("configure")
.build();
RequestBody body;
try {
body = RequestBody.create(
- ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
+ ObjectMappers.JSON_MAPPER.writeValueAsBytes(request.getBody()), MediaTypes.APPLICATION_JSON);
} catch (JsonProcessingException e) {
throw new BaseClientException("Failed to serialize request", e);
}
@@ -279,13 +289,13 @@ public CompletableFuture> configur
@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 BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ConfigurePropResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ConfigurePropResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -295,11 +305,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -317,7 +325,8 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
/**
* Reload the prop definition based on the currently configured props
*/
- public CompletableFuture> reloadProps(ReloadPropsOpts request) {
+ public CompletableFuture> reloadProps(
+ ReloadPropsActionsRequest request) {
return reloadProps(request, null);
}
@@ -325,17 +334,18 @@ public CompletableFuture> reloadProp
* Reload the prop definition based on the currently configured props
*/
public CompletableFuture> reloadProps(
- ReloadPropsOpts request, RequestOptions requestOptions) {
+ ReloadPropsActionsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
.addPathSegment(clientOptions.projectId())
- .addPathSegments("actions/props")
+ .addPathSegments("actions")
+ .addPathSegments("props")
.build();
RequestBody body;
try {
body = RequestBody.create(
- ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
+ ObjectMappers.JSON_MAPPER.writeValueAsBytes(request.getBody()), MediaTypes.APPLICATION_JSON);
} catch (JsonProcessingException e) {
throw new BaseClientException("Failed to serialize request", e);
}
@@ -355,13 +365,13 @@ public CompletableFuture> reloadProp
@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 BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ReloadPropsResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ReloadPropsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -371,11 +381,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
@@ -406,7 +414,8 @@ public CompletableFuture> run(
.newBuilder()
.addPathSegments("v1/connect")
.addPathSegment(clientOptions.projectId())
- .addPathSegments("actions/run")
+ .addPathSegments("actions")
+ .addPathSegments("run")
.build();
RequestBody body;
try {
@@ -431,13 +440,13 @@ public CompletableFuture> run(
@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 BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), RunActionResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, RunActionResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
future.completeExceptionally(new TooManyRequestsError(
@@ -447,11 +456,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new BaseClientException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/pipedream/api/resources/actions/RawActionsClient.java b/src/main/java/com/pipedream/api/resources/actions/RawActionsClient.java
index 249368b..f97e022 100644
--- a/src/main/java/com/pipedream/api/resources/actions/RawActionsClient.java
+++ b/src/main/java/com/pipedream/api/resources/actions/RawActionsClient.java
@@ -13,16 +13,17 @@
import com.pipedream.api.core.QueryStringMapper;
import com.pipedream.api.core.RequestOptions;
import com.pipedream.api.core.pagination.SyncPagingIterable;
+import com.pipedream.api.errors.BadRequestError;
import com.pipedream.api.errors.TooManyRequestsError;
-import com.pipedream.api.resources.actions.requests.ActionsListRequest;
-import com.pipedream.api.resources.actions.requests.ActionsRetrieveRequest;
+import com.pipedream.api.resources.actions.requests.ConfigurePropActionsRequest;
+import com.pipedream.api.resources.actions.requests.ListActionsRequest;
+import com.pipedream.api.resources.actions.requests.ReloadPropsActionsRequest;
+import com.pipedream.api.resources.actions.requests.RetrieveActionsRequest;
import com.pipedream.api.resources.actions.requests.RunActionOpts;
import com.pipedream.api.types.Component;
-import com.pipedream.api.types.ConfigurePropOpts;
import com.pipedream.api.types.ConfigurePropResponse;
import com.pipedream.api.types.GetComponentResponse;
import com.pipedream.api.types.GetComponentsResponse;
-import com.pipedream.api.types.ReloadPropsOpts;
import com.pipedream.api.types.ReloadPropsResponse;
import com.pipedream.api.types.RunActionResponse;
import java.io.IOException;
@@ -47,13 +48,13 @@ public RawActionsClient(ClientOptions clientOptions) {
* Retrieve available actions with optional search and app filtering
*/
public BaseClientHttpResponse> list() {
- return list(ActionsListRequest.builder().build());
+ return list(ListActionsRequest.builder().build());
}
/**
* Retrieve available actions with optional search and app filtering
*/
- public BaseClientHttpResponse> list(ActionsListRequest request) {
+ public BaseClientHttpResponse> list(ListActionsRequest request) {
return list(request, null);
}
@@ -61,7 +62,7 @@ public BaseClientHttpResponse> list(ActionsListReq
* Retrieve available actions with optional search and app filtering
*/
public BaseClientHttpResponse> list(
- ActionsListRequest request, RequestOptions requestOptions) {
+ ListActionsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -85,6 +86,10 @@ public BaseClientHttpResponse> list(
if (request.getApp().isPresent()) {
QueryStringMapper.addQueryParameter(httpUrl, "app", request.getApp().get(), false);
}
+ if (request.getRegistry().isPresent()) {
+ QueryStringMapper.addQueryParameter(
+ httpUrl, "registry", request.getRegistry().get(), false);
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -97,11 +102,12 @@ public BaseClientHttpResponse> list(
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
GetComponentsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetComponentsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetComponentsResponse.class);
Optional startingAfter = parsedResponse.getPageInfo().getEndCursor();
- ActionsListRequest nextRequest = ActionsListRequest.builder()
+ ListActionsRequest nextRequest = ListActionsRequest.builder()
.from(request)
.after(startingAfter)
.build();
@@ -112,20 +118,21 @@ public BaseClientHttpResponse> list(
.body()),
response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
- if (response.code() == 429) {
- throw new TooManyRequestsError(
- 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 429:
+ throw new TooManyRequestsError(
+ 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 BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -135,13 +142,13 @@ public BaseClientHttpResponse> list(
* Get detailed configuration for a specific action by its key
*/
public BaseClientHttpResponse retrieve(String componentId) {
- return retrieve(componentId, ActionsRetrieveRequest.builder().build());
+ return retrieve(componentId, RetrieveActionsRequest.builder().build());
}
/**
* Get detailed configuration for a specific action by its key
*/
- public BaseClientHttpResponse retrieve(String componentId, ActionsRetrieveRequest request) {
+ public BaseClientHttpResponse retrieve(String componentId, RetrieveActionsRequest request) {
return retrieve(componentId, request, null);
}
@@ -149,7 +156,7 @@ public BaseClientHttpResponse retrieve(String componentId, ActionsRet
* Get detailed configuration for a specific action by its key
*/
public BaseClientHttpResponse retrieve(
- String componentId, ActionsRetrieveRequest request, RequestOptions requestOptions) {
+ String componentId, RetrieveActionsRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
@@ -172,12 +179,12 @@ public BaseClientHttpResponse retrieve(
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
GetComponentResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetComponentResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetComponentResponse.class);
return new BaseClientHttpResponse<>(parsedResponse.getData(), response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -186,11 +193,9 @@ public BaseClientHttpResponse retrieve(
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -199,7 +204,7 @@ public BaseClientHttpResponse retrieve(
/**
* Retrieve remote options for a given prop for a action
*/
- public BaseClientHttpResponse configureProp(ConfigurePropOpts request) {
+ public BaseClientHttpResponse configureProp(ConfigurePropActionsRequest request) {
return configureProp(request, null);
}
@@ -207,17 +212,18 @@ public BaseClientHttpResponse configureProp(ConfigureProp
* Retrieve remote options for a given prop for a action
*/
public BaseClientHttpResponse configureProp(
- ConfigurePropOpts request, RequestOptions requestOptions) {
+ ConfigurePropActionsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
.addPathSegment(clientOptions.projectId())
- .addPathSegments("actions/configure")
+ .addPathSegments("actions")
+ .addPathSegments("configure")
.build();
RequestBody body;
try {
body = RequestBody.create(
- ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
+ ObjectMappers.JSON_MAPPER.writeValueAsBytes(request.getBody()), MediaTypes.APPLICATION_JSON);
} catch (JsonProcessingException e) {
throw new BaseClientException("Failed to serialize request", e);
}
@@ -234,12 +240,11 @@ public BaseClientHttpResponse configureProp(
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
return new BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ConfigurePropResponse.class),
- response);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ConfigurePropResponse.class), response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -248,11 +253,9 @@ public BaseClientHttpResponse configureProp(
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -261,7 +264,7 @@ public BaseClientHttpResponse configureProp(
/**
* Reload the prop definition based on the currently configured props
*/
- public BaseClientHttpResponse reloadProps(ReloadPropsOpts request) {
+ public BaseClientHttpResponse reloadProps(ReloadPropsActionsRequest request) {
return reloadProps(request, null);
}
@@ -269,17 +272,18 @@ public BaseClientHttpResponse reloadProps(ReloadPropsOpts r
* Reload the prop definition based on the currently configured props
*/
public BaseClientHttpResponse reloadProps(
- ReloadPropsOpts request, RequestOptions requestOptions) {
+ ReloadPropsActionsRequest request, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v1/connect")
.addPathSegment(clientOptions.projectId())
- .addPathSegments("actions/props")
+ .addPathSegments("actions")
+ .addPathSegments("props")
.build();
RequestBody body;
try {
body = RequestBody.create(
- ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
+ ObjectMappers.JSON_MAPPER.writeValueAsBytes(request.getBody()), MediaTypes.APPLICATION_JSON);
} catch (JsonProcessingException e) {
throw new BaseClientException("Failed to serialize request", e);
}
@@ -296,12 +300,11 @@ public BaseClientHttpResponse reloadProps(
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
return new BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ReloadPropsResponse.class),
- response);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ReloadPropsResponse.class), response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -310,11 +313,9 @@ public BaseClientHttpResponse reloadProps(
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
@@ -335,7 +336,8 @@ public BaseClientHttpResponse run(RunActionOpts request, Requ
.newBuilder()
.addPathSegments("v1/connect")
.addPathSegment(clientOptions.projectId())
- .addPathSegments("actions/run")
+ .addPathSegments("actions")
+ .addPathSegments("run")
.build();
RequestBody body;
try {
@@ -357,11 +359,11 @@ public BaseClientHttpResponse run(RunActionOpts request, Requ
}
try (Response response = client.newCall(okhttpRequest).execute()) {
ResponseBody responseBody = response.body();
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
return new BaseClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), RunActionResponse.class), response);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, RunActionResponse.class), response);
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
if (response.code() == 429) {
throw new TooManyRequestsError(
@@ -370,11 +372,9 @@ public BaseClientHttpResponse run(RunActionOpts request, Requ
} catch (JsonProcessingException ignored) {
// unable to map error response, throwing generic error
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
throw new BaseClientApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response);
+ "Error with status code " + response.code(), response.code(), errorBody, response);
} catch (IOException e) {
throw new BaseClientException("Network error executing HTTP request", e);
}
diff --git a/src/main/java/com/pipedream/api/resources/actions/requests/ConfigurePropActionsRequest.java b/src/main/java/com/pipedream/api/resources/actions/requests/ConfigurePropActionsRequest.java
new file mode 100644
index 0000000..f79872b
--- /dev/null
+++ b/src/main/java/com/pipedream/api/resources/actions/requests/ConfigurePropActionsRequest.java
@@ -0,0 +1,103 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.pipedream.api.resources.actions.requests;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.pipedream.api.core.ObjectMappers;
+import com.pipedream.api.types.ConfigurePropOpts;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+import org.jetbrains.annotations.NotNull;
+
+@JsonInclude(JsonInclude.Include.NON_ABSENT)
+@JsonDeserialize(builder = ConfigurePropActionsRequest.Builder.class)
+public final class ConfigurePropActionsRequest {
+ private final ConfigurePropOpts body;
+
+ private final Map additionalProperties;
+
+ private ConfigurePropActionsRequest(ConfigurePropOpts body, Map additionalProperties) {
+ this.body = body;
+ this.additionalProperties = additionalProperties;
+ }
+
+ @JsonProperty("body")
+ public ConfigurePropOpts getBody() {
+ return body;
+ }
+
+ @java.lang.Override
+ public boolean equals(Object other) {
+ if (this == other) return true;
+ return other instanceof ConfigurePropActionsRequest && equalTo((ConfigurePropActionsRequest) other);
+ }
+
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return this.additionalProperties;
+ }
+
+ private boolean equalTo(ConfigurePropActionsRequest other) {
+ return body.equals(other.body);
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ return Objects.hash(this.body);
+ }
+
+ @java.lang.Override
+ public String toString() {
+ return ObjectMappers.stringify(this);
+ }
+
+ public static BodyStage builder() {
+ return new Builder();
+ }
+
+ public interface BodyStage {
+ _FinalStage body(@NotNull ConfigurePropOpts body);
+
+ Builder from(ConfigurePropActionsRequest other);
+ }
+
+ public interface _FinalStage {
+ ConfigurePropActionsRequest build();
+ }
+
+ @JsonIgnoreProperties(ignoreUnknown = true)
+ public static final class Builder implements BodyStage, _FinalStage {
+ private ConfigurePropOpts body;
+
+ @JsonAnySetter
+ private Map additionalProperties = new HashMap<>();
+
+ private Builder() {}
+
+ @java.lang.Override
+ public Builder from(ConfigurePropActionsRequest other) {
+ body(other.getBody());
+ return this;
+ }
+
+ @java.lang.Override
+ @JsonSetter("body")
+ public _FinalStage body(@NotNull ConfigurePropOpts body) {
+ this.body = Objects.requireNonNull(body, "body must not be null");
+ return this;
+ }
+
+ @java.lang.Override
+ public ConfigurePropActionsRequest build() {
+ return new ConfigurePropActionsRequest(body, additionalProperties);
+ }
+ }
+}
diff --git a/src/main/java/com/pipedream/api/resources/actions/requests/ActionsListRequest.java b/src/main/java/com/pipedream/api/resources/actions/requests/ListActionsRequest.java
similarity index 76%
rename from src/main/java/com/pipedream/api/resources/actions/requests/ActionsListRequest.java
rename to src/main/java/com/pipedream/api/resources/actions/requests/ListActionsRequest.java
index 60f1e37..6fbccf8 100644
--- a/src/main/java/com/pipedream/api/resources/actions/requests/ActionsListRequest.java
+++ b/src/main/java/com/pipedream/api/resources/actions/requests/ListActionsRequest.java
@@ -12,14 +12,15 @@
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.pipedream.api.core.ObjectMappers;
+import com.pipedream.api.resources.actions.types.ListActionsRequestRegistry;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
@JsonInclude(JsonInclude.Include.NON_ABSENT)
-@JsonDeserialize(builder = ActionsListRequest.Builder.class)
-public final class ActionsListRequest {
+@JsonDeserialize(builder = ListActionsRequest.Builder.class)
+public final class ListActionsRequest {
private final Optional after;
private final Optional before;
@@ -30,20 +31,24 @@ public final class ActionsListRequest {
private final Optional app;
+ private final Optional registry;
+
private final Map additionalProperties;
- private ActionsListRequest(
+ private ListActionsRequest(
Optional after,
Optional before,
Optional limit,
Optional q,
Optional app,
+ Optional registry,
Map additionalProperties) {
this.after = after;
this.before = before;
this.limit = limit;
this.q = q;
this.app = app;
+ this.registry = registry;
this.additionalProperties = additionalProperties;
}
@@ -87,10 +92,18 @@ public Optional getApp() {
return app;
}
+ /**
+ * @return The registry to retrieve actions from. Defaults to 'all' ('public', 'private', or 'all')
+ */
+ @JsonProperty("registry")
+ public Optional getRegistry() {
+ return registry;
+ }
+
@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
- return other instanceof ActionsListRequest && equalTo((ActionsListRequest) other);
+ return other instanceof ListActionsRequest && equalTo((ListActionsRequest) other);
}
@JsonAnyGetter
@@ -98,17 +111,18 @@ public Map getAdditionalProperties() {
return this.additionalProperties;
}
- private boolean equalTo(ActionsListRequest other) {
+ private boolean equalTo(ListActionsRequest other) {
return after.equals(other.after)
&& before.equals(other.before)
&& limit.equals(other.limit)
&& q.equals(other.q)
- && app.equals(other.app);
+ && app.equals(other.app)
+ && registry.equals(other.registry);
}
@java.lang.Override
public int hashCode() {
- return Objects.hash(this.after, this.before, this.limit, this.q, this.app);
+ return Objects.hash(this.after, this.before, this.limit, this.q, this.app, this.registry);
}
@java.lang.Override
@@ -132,17 +146,20 @@ public static final class Builder {
private Optional