Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
import java.util.concurrent.CompletableFuture;

Expand Down Expand Up @@ -49,7 +49,7 @@ public AsyncRawCompaniesClient withRawResponse() {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompletableFuture<CompanyList> retrieve() {
public CompletableFuture<CompaniesRetrieveResponse> retrieve() {
return this.rawClient.retrieve().thenApply(response -> response.body());
}

Expand All @@ -61,7 +61,7 @@ public CompletableFuture<CompanyList> retrieve() {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompletableFuture<CompanyList> retrieve(RetrieveCompanyRequest request) {
public CompletableFuture<CompaniesRetrieveResponse> retrieve(RetrieveCompanyRequest request) {
return this.rawClient.retrieve(request).thenApply(response -> response.body());
}

Expand All @@ -73,7 +73,8 @@ public CompletableFuture<CompanyList> retrieve(RetrieveCompanyRequest request) {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompletableFuture<CompanyList> retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
public CompletableFuture<CompaniesRetrieveResponse> retrieve(
RetrieveCompanyRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(request, requestOptions).thenApply(response -> response.body());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -65,7 +66,7 @@ public AsyncRawCompaniesClient(ClientOptions clientOptions) {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompletableFuture<IntercomHttpResponse<CompanyList>> retrieve() {
public CompletableFuture<IntercomHttpResponse<CompaniesRetrieveResponse>> retrieve() {
return retrieve(RetrieveCompanyRequest.builder().build());
}

Expand All @@ -77,7 +78,7 @@ public CompletableFuture<IntercomHttpResponse<CompanyList>> retrieve() {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompletableFuture<IntercomHttpResponse<CompanyList>> retrieve(RetrieveCompanyRequest request) {
public CompletableFuture<IntercomHttpResponse<CompaniesRetrieveResponse>> retrieve(RetrieveCompanyRequest request) {
return retrieve(request, null);
}

Expand All @@ -89,7 +90,7 @@ public CompletableFuture<IntercomHttpResponse<CompanyList>> retrieve(RetrieveCom
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompletableFuture<IntercomHttpResponse<CompanyList>> retrieve(
public CompletableFuture<IntercomHttpResponse<CompaniesRetrieveResponse>> retrieve(
RetrieveCompanyRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
Expand Down Expand Up @@ -129,14 +130,15 @@ public CompletableFuture<IntercomHttpResponse<CompanyList>> retrieve(
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
}
CompletableFuture<IntercomHttpResponse<CompanyList>> future = new CompletableFuture<>();
CompletableFuture<IntercomHttpResponse<CompaniesRetrieveResponse>> 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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -48,7 +48,7 @@ public RawCompaniesClient withRawResponse() {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompanyList retrieve() {
public CompaniesRetrieveResponse retrieve() {
return this.rawClient.retrieve().body();
}

Expand All @@ -60,7 +60,7 @@ public CompanyList retrieve() {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompanyList retrieve(RetrieveCompanyRequest request) {
public CompaniesRetrieveResponse retrieve(RetrieveCompanyRequest request) {
return this.rawClient.retrieve(request).body();
}

Expand All @@ -72,7 +72,7 @@ public CompanyList retrieve(RetrieveCompanyRequest request) {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public CompanyList retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
public CompaniesRetrieveResponse retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
return this.rawClient.retrieve(request, requestOptions).body();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -60,7 +61,7 @@ public RawCompaniesClient(ClientOptions clientOptions) {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public IntercomHttpResponse<CompanyList> retrieve() {
public IntercomHttpResponse<CompaniesRetrieveResponse> retrieve() {
return retrieve(RetrieveCompanyRequest.builder().build());
}

Expand All @@ -72,7 +73,7 @@ public IntercomHttpResponse<CompanyList> retrieve() {
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public IntercomHttpResponse<CompanyList> retrieve(RetrieveCompanyRequest request) {
public IntercomHttpResponse<CompaniesRetrieveResponse> retrieve(RetrieveCompanyRequest request) {
return retrieve(request, null);
}

Expand All @@ -84,7 +85,8 @@ public IntercomHttpResponse<CompanyList> retrieve(RetrieveCompanyRequest request
* <p><code>https://api.intercom.io/companies?tag_id={tag_id}</code></p>
* <p><code>https://api.intercom.io/companies?segment_id={segment_id}</code></p>
*/
public IntercomHttpResponse<CompanyList> retrieve(RetrieveCompanyRequest request, RequestOptions requestOptions) {
public IntercomHttpResponse<CompaniesRetrieveResponse> retrieve(
RetrieveCompanyRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("companies");
Expand Down Expand Up @@ -127,7 +129,8 @@ public IntercomHttpResponse<CompanyList> 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 {
Expand Down
Original file line number Diff line number Diff line change
@@ -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> T visit(Visitor<T> 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<Company> getCompany() {
if (isCompany()) {
return Optional.of(((CompanyValue) value).value);
}
return Optional.empty();
}

public Optional<CompanyList> getList() {
if (isList()) {
return Optional.of(((ListValue) value).value);
}
return Optional.empty();
}

public Optional<Object> _getUnknown() {
if (_isUnknown()) {
return Optional.of(((_UnknownValue) value).value);
}
return Optional.empty();
}

@JsonValue
private Value getValue() {
return this.value;
}

public interface Visitor<T> {
T visitCompany(Company company);

T visitList(CompanyList list);

T _visitUnknown(Object unknownType);
}

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", visible = true, defaultImpl = _UnknownValue.class)
@JsonSubTypes({@JsonSubTypes.Type(CompanyValue.class), @JsonSubTypes.Type(ListValue.class)})
@JsonIgnoreProperties(ignoreUnknown = true)
private interface Value {
<T> T visit(Visitor<T> visitor);
}

@JsonTypeName("company")
@JsonIgnoreProperties("type")
private static final class CompanyValue implements Value {
@JsonUnwrapped
private Company value;

@JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
private CompanyValue() {}

private CompanyValue(Company value) {
this.value = value;
}

@java.lang.Override
public <T> T visit(Visitor<T> visitor) {
return visitor.visitCompany(value);
}

@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
return other instanceof CompanyValue && equalTo((CompanyValue) other);
}

private boolean equalTo(CompanyValue other) {
return value.equals(other.value);
}

@java.lang.Override
public int hashCode() {
return Objects.hash(this.value);
}

@java.lang.Override
public String toString() {
return "CompaniesRetrieveResponse{" + "value: " + value + "}";
}
}

@JsonTypeName("list")
@JsonIgnoreProperties("type")
private static final class ListValue implements Value {
@JsonUnwrapped
private CompanyList value;

@JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
private ListValue() {}

private ListValue(CompanyList value) {
this.value = value;
}

@java.lang.Override
public <T> T visit(Visitor<T> visitor) {
return visitor.visitList(value);
}

@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
return other instanceof ListValue && equalTo((ListValue) other);
}

private boolean equalTo(ListValue other) {
return value.equals(other.value);
}

@java.lang.Override
public int hashCode() {
return Objects.hash(this.value);
}

@java.lang.Override
public String toString() {
return "CompaniesRetrieveResponse{" + "value: " + value + "}";
}
}

@JsonIgnoreProperties("type")
private static final class _UnknownValue implements Value {
private String type;

@JsonValue
private Object value;

@JsonCreator(mode = JsonCreator.Mode.PROPERTIES)
private _UnknownValue(@JsonProperty("value") Object value) {}

@java.lang.Override
public <T> T visit(Visitor<T> visitor) {
return visitor._visitUnknown(value);
}

@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
return other instanceof _UnknownValue && equalTo((_UnknownValue) other);
}

private boolean equalTo(_UnknownValue other) {
return type.equals(other.type) && value.equals(other.value);
}

@java.lang.Override
public int hashCode() {
return Objects.hash(this.type, this.value);
}

@java.lang.Override
public String toString() {
return "CompaniesRetrieveResponse{" + "type: " + type + ", value: " + value + "}";
}
}
}
Loading