
com.flexport.api.resources.companyentity.CompanyEntityClient Maven / Gradle / Ivy
The newest version!
package com.flexport.api.resources.companyentity;
import com.flexport.api.core.ClientOptions;
import com.flexport.api.core.ObjectMappers;
import com.flexport.api.resources.companyentity.requests.CompanyEntityListRequest;
import com.flexport.api.resources.companyentity.requests.CreateCompanyEntity;
import com.flexport.api.resources.companyentity.requests.UpdateCompanyEntity;
import com.flexport.api.types.CompanyEntityListResponse;
import com.flexport.api.types.NetworkCompanyEntityCreateResponse;
import com.flexport.api.types.NetworkCompanyEntityRetrieveResponse;
import com.flexport.api.types.NetworkCompanyEntityUpdateResponse;
import java.util.HashMap;
import java.util.Map;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class CompanyEntityClient {
protected final ClientOptions clientOptions;
public CompanyEntityClient(ClientOptions clientOptions) {
this.clientOptions = clientOptions;
}
public CompanyEntityListResponse companyEntityList(CompanyEntityListRequest request) {
HttpUrl.Builder _httpUrl = HttpUrl.parse(
this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("network/company_entities");
if (request.getPage().isPresent()) {
_httpUrl.addQueryParameter("page", request.getPage().get().toString());
}
if (request.getPer().isPresent()) {
_httpUrl.addQueryParameter("per", request.getPer().get().toString());
}
if (request.getFRef().isPresent()) {
_httpUrl.addQueryParameter("f.ref", request.getFRef().get());
}
if (request.getFCompanyId().isPresent()) {
_httpUrl.addQueryParameter("f.company_id", request.getFCompanyId().get());
}
if (request.getFCompanyRef().isPresent()) {
_httpUrl.addQueryParameter("f.company_ref", request.getFCompanyRef().get());
}
RequestBody _requestBody = null;
Request.Builder _requestBuilder = new Request.Builder()
.url(_httpUrl.build())
.method("GET", _requestBody)
.headers(Headers.of(clientOptions.headers()))
.addHeader("Content-Type", "application/json");
Request _request = _requestBuilder.build();
try {
Response _response = clientOptions.httpClient().newCall(_request).execute();
if (_response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(_response.body().string(), CompanyEntityListResponse.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public NetworkCompanyEntityCreateResponse networkCompanyEntityCreate(CreateCompanyEntity request) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("network/company_entities")
.build();
Map _requestBodyProperties = new HashMap<>();
_requestBodyProperties.put("name", request.getName());
_requestBodyProperties.put("company_id", request.getCompanyId());
_requestBodyProperties.put("company_ref", request.getCompanyRef());
_requestBodyProperties.put("mailing_address", request.getMailingAddress());
_requestBodyProperties.put("ref", request.getRef());
_requestBodyProperties.put("vat_numbers", request.getVatNumbers());
RequestBody _requestBody;
try {
_requestBody = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(_requestBodyProperties),
MediaType.parse("application/json"));
} catch (Exception e) {
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
.url(_httpUrl)
.method("POST", _requestBody)
.headers(Headers.of(clientOptions.headers()))
.addHeader("Content-Type", "application/json");
Request _request = _requestBuilder.build();
try {
Response _response = clientOptions.httpClient().newCall(_request).execute();
if (_response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(
_response.body().string(), NetworkCompanyEntityCreateResponse.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public NetworkCompanyEntityRetrieveResponse networkCompanyEntityRetrieve(String id) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("network/company_entities")
.addPathSegment(id)
.build();
Request _request = new Request.Builder()
.url(_httpUrl)
.method("GET", null)
.headers(Headers.of(clientOptions.headers()))
.addHeader("Content-Type", "application/json")
.build();
try {
Response _response = clientOptions.httpClient().newCall(_request).execute();
if (_response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(
_response.body().string(), NetworkCompanyEntityRetrieveResponse.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public NetworkCompanyEntityUpdateResponse networkCompanyEntityUpdate(String id, UpdateCompanyEntity request) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("network/company_entities")
.addPathSegment(id)
.build();
Map _requestBodyProperties = new HashMap<>();
_requestBodyProperties.put("name", request.getName());
_requestBodyProperties.put("mailing_address", request.getMailingAddress());
_requestBodyProperties.put("ref", request.getRef());
_requestBodyProperties.put("vat_numbers", request.getVatNumbers());
RequestBody _requestBody;
try {
_requestBody = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(_requestBodyProperties),
MediaType.parse("application/json"));
} catch (Exception e) {
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
.url(_httpUrl)
.method("PATCH", _requestBody)
.headers(Headers.of(clientOptions.headers()))
.addHeader("Content-Type", "application/json");
Request _request = _requestBuilder.build();
try {
Response _response = clientOptions.httpClient().newCall(_request).execute();
if (_response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(
_response.body().string(), NetworkCompanyEntityUpdateResponse.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy