> future = new CompletableFuture<>();
client.newCall(okhttpRequest).enqueue(new Callback() {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
if (response.isSuccessful()) {
future.complete(new IntercomHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CompanyList.class),
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBody.string(), CompaniesRetrieveResponse.class),
response));
return;
}
diff --git a/src/main/java/com/intercom/api/resources/companies/CompaniesClient.java b/src/main/java/com/intercom/api/resources/companies/CompaniesClient.java
index 1268935..c3eef41 100644
--- a/src/main/java/com/intercom/api/resources/companies/CompaniesClient.java
+++ b/src/main/java/com/intercom/api/resources/companies/CompaniesClient.java
@@ -17,10 +17,10 @@
import com.intercom.api.resources.companies.requests.RetrieveCompanyRequest;
import com.intercom.api.resources.companies.requests.ScrollCompaniesRequest;
import com.intercom.api.resources.companies.requests.UpdateCompanyRequest;
+import com.intercom.api.resources.companies.types.CompaniesRetrieveResponse;
import com.intercom.api.resources.companies.types.Company;
import com.intercom.api.types.CompanyAttachedContacts;
import com.intercom.api.types.CompanyAttachedSegments;
-import com.intercom.api.types.CompanyList;
import com.intercom.api.types.DeletedCompanyObject;
public class CompaniesClient {
@@ -48,7 +48,7 @@ public RawCompaniesClient withRawResponse() {
* https://api.intercom.io/companies?tag_id={tag_id}
* https://api.intercom.io/companies?segment_id={segment_id}
*/
- public CompanyList retrieve() {
+ public CompaniesRetrieveResponse retrieve() {
return this.rawClient.retrieve().body();
}
@@ -60,7 +60,7 @@ public CompanyList retrieve() {
* https://api.intercom.io/companies?tag_id={tag_id}
* https://api.intercom.io/companies?segment_id={segment_id}
*/
- public CompanyList retrieve(RetrieveCompanyRequest request) {
+ public CompaniesRetrieveResponse retrieve(RetrieveCompanyRequest request) {
return this.rawClient.retrieve(request).body();
}
@@ -72,7 +72,7 @@ public CompanyList retrieve(RetrieveCompanyRequest request) {
* https://api.intercom.io/companies?tag_id={tag_id}
* https://api.intercom.io/companies?segment_id={segment_id}
*/
- public CompanyList retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
+ public CompaniesRetrieveResponse retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(request, requestOptions).body();
}
diff --git a/src/main/java/com/intercom/api/resources/companies/RawCompaniesClient.java b/src/main/java/com/intercom/api/resources/companies/RawCompaniesClient.java
index 3b48b7b..e156a5c 100644
--- a/src/main/java/com/intercom/api/resources/companies/RawCompaniesClient.java
+++ b/src/main/java/com/intercom/api/resources/companies/RawCompaniesClient.java
@@ -27,6 +27,7 @@
import com.intercom.api.resources.companies.requests.RetrieveCompanyRequest;
import com.intercom.api.resources.companies.requests.ScrollCompaniesRequest;
import com.intercom.api.resources.companies.requests.UpdateCompanyRequest;
+import com.intercom.api.resources.companies.types.CompaniesRetrieveResponse;
import com.intercom.api.resources.companies.types.Company;
import com.intercom.api.types.CompanyAttachedContacts;
import com.intercom.api.types.CompanyAttachedSegments;
@@ -60,7 +61,7 @@ public RawCompaniesClient(ClientOptions clientOptions) {
* https://api.intercom.io/companies?tag_id={tag_id}
* https://api.intercom.io/companies?segment_id={segment_id}
*/
- public IntercomHttpResponse retrieve() {
+ public IntercomHttpResponse retrieve() {
return retrieve(RetrieveCompanyRequest.builder().build());
}
@@ -72,7 +73,7 @@ public IntercomHttpResponse retrieve() {
* https://api.intercom.io/companies?tag_id={tag_id}
* https://api.intercom.io/companies?segment_id={segment_id}
*/
- public IntercomHttpResponse retrieve(RetrieveCompanyRequest request) {
+ public IntercomHttpResponse retrieve(RetrieveCompanyRequest request) {
return retrieve(request, null);
}
@@ -84,7 +85,8 @@ public IntercomHttpResponse retrieve(RetrieveCompanyRequest request
* https://api.intercom.io/companies?tag_id={tag_id}
* https://api.intercom.io/companies?segment_id={segment_id}
*/
- public IntercomHttpResponse retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
+ public IntercomHttpResponse retrieve(
+ RetrieveCompanyRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("companies");
@@ -127,7 +129,8 @@ public IntercomHttpResponse retrieve(RetrieveCompanyRequest request
ResponseBody responseBody = response.body();
if (response.isSuccessful()) {
return new IntercomHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CompanyList.class), response);
+ ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CompaniesRetrieveResponse.class),
+ response);
}
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
try {
diff --git a/src/main/java/com/intercom/api/resources/companies/types/CompaniesRetrieveResponse.java b/src/main/java/com/intercom/api/resources/companies/types/CompaniesRetrieveResponse.java
new file mode 100644
index 0000000..80242a3
--- /dev/null
+++ b/src/main/java/com/intercom/api/resources/companies/types/CompaniesRetrieveResponse.java
@@ -0,0 +1,204 @@
+/**
+ * This file was auto-generated by Fern from our API Definition.
+ */
+package com.intercom.api.resources.companies.types;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonUnwrapped;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.intercom.api.types.CompanyList;
+import java.util.Objects;
+import java.util.Optional;
+
+public final class CompaniesRetrieveResponse {
+ private final Value value;
+
+ @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
+ private CompaniesRetrieveResponse(Value value) {
+ this.value = value;
+ }
+
+ public T visit(Visitor visitor) {
+ return value.visit(visitor);
+ }
+
+ public static CompaniesRetrieveResponse company(Company value) {
+ return new CompaniesRetrieveResponse(new CompanyValue(value));
+ }
+
+ public static CompaniesRetrieveResponse list(CompanyList value) {
+ return new CompaniesRetrieveResponse(new ListValue(value));
+ }
+
+ public boolean isCompany() {
+ return value instanceof CompanyValue;
+ }
+
+ public boolean isList() {
+ return value instanceof ListValue;
+ }
+
+ public boolean _isUnknown() {
+ return value instanceof _UnknownValue;
+ }
+
+ public Optional getCompany() {
+ if (isCompany()) {
+ return Optional.of(((CompanyValue) value).value);
+ }
+ return Optional.empty();
+ }
+
+ public Optional getList() {
+ if (isList()) {
+ return Optional.of(((ListValue) value).value);
+ }
+ return Optional.empty();
+ }
+
+ public Optional