Skip to content

Commit 2883777

Browse files
Release 1.6.0
1 parent 6870257 commit 2883777

19 files changed

Lines changed: 1006 additions & 139 deletions

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ publishing {
4646
maven(MavenPublication) {
4747
groupId = 'com.polytomic'
4848
artifactId = 'polytomic-java'
49-
version = '1.5.0'
49+
version = '1.6.0'
5050
from components.java
5151
}
5252
}

src/main/java/com/polytomic/api/Polytomic.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.polytomic.api.resources.modelsync.ModelSyncClient;
1515
import com.polytomic.api.resources.organization.OrganizationClient;
1616
import com.polytomic.api.resources.permissions.PermissionsClient;
17+
import com.polytomic.api.resources.queryrunner.QueryRunnerClient;
1718
import com.polytomic.api.resources.schemas.SchemasClient;
1819
import com.polytomic.api.resources.users.UsersClient;
1920
import com.polytomic.api.resources.webhooks.WebhooksClient;
@@ -26,6 +27,8 @@ public class Polytomic {
2627

2728
protected final Supplier<ConnectionsClient> connectionsClient;
2829

30+
protected final Supplier<QueryRunnerClient> queryRunnerClient;
31+
2932
protected final Supplier<ModelSyncClient> modelSyncClient;
3033

3134
protected final Supplier<SchemasClient> schemasClient;
@@ -50,6 +53,7 @@ public Polytomic(ClientOptions clientOptions) {
5053
this.clientOptions = clientOptions;
5154
this.bulkSyncClient = Suppliers.memoize(() -> new BulkSyncClient(clientOptions));
5255
this.connectionsClient = Suppliers.memoize(() -> new ConnectionsClient(clientOptions));
56+
this.queryRunnerClient = Suppliers.memoize(() -> new QueryRunnerClient(clientOptions));
5357
this.modelSyncClient = Suppliers.memoize(() -> new ModelSyncClient(clientOptions));
5458
this.schemasClient = Suppliers.memoize(() -> new SchemasClient(clientOptions));
5559
this.modelsClient = Suppliers.memoize(() -> new ModelsClient(clientOptions));
@@ -70,6 +74,10 @@ public ConnectionsClient connections() {
7074
return this.connectionsClient.get();
7175
}
7276

77+
public QueryRunnerClient queryRunner() {
78+
return this.queryRunnerClient.get();
79+
}
80+
7381
public ModelSyncClient modelSync() {
7482
return this.modelSyncClient.get();
7583
}

src/main/java/com/polytomic/api/PolytomicBuilder.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public final class PolytomicBuilder {
1111

1212
private String token = null;
1313

14-
private String xPolytomicVersion = null;
14+
private String version = null;
1515

1616
private Environment environment = Environment.DEFAULT;
1717

@@ -24,10 +24,10 @@ public PolytomicBuilder token(String token) {
2424
}
2525

2626
/**
27-
* Sets xPolytomicVersion
27+
* Sets version
2828
*/
29-
public PolytomicBuilder xPolytomicVersion(String xPolytomicVersion) {
30-
this.xPolytomicVersion = xPolytomicVersion;
29+
public PolytomicBuilder version(String version) {
30+
this.version = version;
3131
return this;
3232
}
3333

@@ -46,10 +46,10 @@ public Polytomic build() {
4646
throw new RuntimeException("Please provide token");
4747
}
4848
this.clientOptionsBuilder.addHeader("Authorization", "Bearer " + this.token);
49-
if (xPolytomicVersion == null) {
50-
throw new RuntimeException("Please provide xPolytomicVersion");
49+
if (version == null) {
50+
throw new RuntimeException("Please provide version");
5151
}
52-
this.clientOptionsBuilder.addHeader("X-Polytomic-Version", this.xPolytomicVersion);
52+
this.clientOptionsBuilder.addHeader("X-Polytomic-Version", this.version);
5353
clientOptionsBuilder.environment(this.environment);
5454
return new Polytomic(clientOptionsBuilder.build());
5555
}

src/main/java/com/polytomic/api/core/ClientOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ private ClientOptions(
2929
"X-Fern-SDK-Name",
3030
"com.polytomic.fern:api-sdk",
3131
"X-Fern-SDK-Version",
32-
"1.5.0",
32+
"1.6.0",
3333
"X-Fern-Language",
3434
"JAVA"));
3535
this.headerSuppliers = headerSuppliers;

src/main/java/com/polytomic/api/core/RequestOptions.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,20 @@
99
public final class RequestOptions {
1010
private final String token;
1111

12-
private final String xPolytomicVersion;
12+
private final String version;
1313

14-
private RequestOptions(String token, String xPolytomicVersion) {
14+
private RequestOptions(String token, String version) {
1515
this.token = token;
16-
this.xPolytomicVersion = xPolytomicVersion;
16+
this.version = version;
1717
}
1818

1919
public Map<String, String> getHeaders() {
2020
Map<String, String> headers = new HashMap<>();
2121
if (this.token != null) {
2222
headers.put("Authorization", "Bearer " + this.token);
2323
}
24-
if (this.xPolytomicVersion != null) {
25-
headers.put("X-Polytomic-Version", this.xPolytomicVersion);
24+
if (this.version != null) {
25+
headers.put("X-Polytomic-Version", this.version);
2626
}
2727
return headers;
2828
}
@@ -34,20 +34,20 @@ public static Builder builder() {
3434
public static final class Builder {
3535
private String token = null;
3636

37-
private String xPolytomicVersion = null;
37+
private String version = null;
3838

3939
public Builder token(String token) {
4040
this.token = token;
4141
return this;
4242
}
4343

44-
public Builder xPolytomicVersion(String xPolytomicVersion) {
45-
this.xPolytomicVersion = xPolytomicVersion;
44+
public Builder version(String version) {
45+
this.version = version;
4646
return this;
4747
}
4848

4949
public RequestOptions build() {
50-
return new RequestOptions(token, xPolytomicVersion);
50+
return new RequestOptions(token, version);
5151
}
5252
}
5353
}

src/main/java/com/polytomic/api/resources/bulksync/types/V2CreateBulkSyncRequestSchemasItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1111
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
1212
import com.polytomic.api.core.ObjectMappers;
13+
import com.polytomic.api.types.SchemaConfiguration;
1314
import java.io.IOException;
1415
import java.util.Objects;
1516

src/main/java/com/polytomic/api/resources/bulksync/types/V2UpdateBulkSyncRequestSchemasItem.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
1111
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
1212
import com.polytomic.api.core.ObjectMappers;
13+
import com.polytomic.api.types.SchemaConfiguration;
1314
import java.io.IOException;
1415
import java.util.Objects;
1516

src/main/java/com/polytomic/api/resources/bulksync/types/V2UpdateBulkSyncRequestSchemasItemEnabledFieldsItem.java

Lines changed: 0 additions & 96 deletions
This file was deleted.
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
/**
2+
* This file was auto-generated by Fern from our API Definition.
3+
*/
4+
package com.polytomic.api.resources.queryrunner;
5+
6+
import com.polytomic.api.core.ApiError;
7+
import com.polytomic.api.core.ClientOptions;
8+
import com.polytomic.api.core.MediaTypes;
9+
import com.polytomic.api.core.ObjectMappers;
10+
import com.polytomic.api.core.RequestOptions;
11+
import com.polytomic.api.resources.queryrunner.requests.QueryRunnerGetQueryRequest;
12+
import com.polytomic.api.resources.queryrunner.requests.V4RunQueryRequest;
13+
import com.polytomic.api.types.V4QueryResultsEnvelope;
14+
import com.polytomic.api.types.V4RunQueryEnvelope;
15+
import java.io.IOException;
16+
import java.util.HashMap;
17+
import java.util.Map;
18+
import okhttp3.Headers;
19+
import okhttp3.HttpUrl;
20+
import okhttp3.Request;
21+
import okhttp3.RequestBody;
22+
import okhttp3.Response;
23+
24+
public class QueryRunnerClient {
25+
protected final ClientOptions clientOptions;
26+
27+
public QueryRunnerClient(ClientOptions clientOptions) {
28+
this.clientOptions = clientOptions;
29+
}
30+
31+
public V4RunQueryEnvelope runQuery(String connectionId) {
32+
return runQuery(connectionId, V4RunQueryRequest.builder().build());
33+
}
34+
35+
public V4RunQueryEnvelope runQuery(String connectionId, V4RunQueryRequest request) {
36+
return runQuery(connectionId, request, null);
37+
}
38+
39+
public V4RunQueryEnvelope runQuery(String connectionId, V4RunQueryRequest request, RequestOptions requestOptions) {
40+
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
41+
.newBuilder()
42+
.addPathSegments("api/connections")
43+
.addPathSegment(connectionId)
44+
.addPathSegments("query");
45+
if (request.getQuery().isPresent()) {
46+
httpUrl.addQueryParameter("query", request.getQuery().get());
47+
}
48+
Map<String, Object> properties = new HashMap<>();
49+
if (request.getV4RunQueryRequestQuery().isPresent()) {
50+
properties.put("query", request.getV4RunQueryRequestQuery());
51+
}
52+
RequestBody body;
53+
try {
54+
body = RequestBody.create(
55+
ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON);
56+
} catch (Exception e) {
57+
throw new RuntimeException(e);
58+
}
59+
Request.Builder _requestBuilder = new Request.Builder()
60+
.url(httpUrl.build())
61+
.method("POST", body)
62+
.headers(Headers.of(clientOptions.headers(requestOptions)))
63+
.addHeader("Content-Type", "application/json");
64+
Request okhttpRequest = _requestBuilder.build();
65+
try {
66+
Response response =
67+
clientOptions.httpClient().newCall(okhttpRequest).execute();
68+
if (response.isSuccessful()) {
69+
return ObjectMappers.JSON_MAPPER.readValue(response.body().string(), V4RunQueryEnvelope.class);
70+
}
71+
throw new ApiError(
72+
response.code(),
73+
ObjectMappers.JSON_MAPPER.readValue(response.body().string(), Object.class));
74+
} catch (IOException e) {
75+
throw new RuntimeException(e);
76+
}
77+
}
78+
79+
public V4QueryResultsEnvelope getQuery(String id) {
80+
return getQuery(id, QueryRunnerGetQueryRequest.builder().build());
81+
}
82+
83+
public V4QueryResultsEnvelope getQuery(String id, QueryRunnerGetQueryRequest request) {
84+
return getQuery(id, request, null);
85+
}
86+
87+
public V4QueryResultsEnvelope getQuery(
88+
String id, QueryRunnerGetQueryRequest request, RequestOptions requestOptions) {
89+
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
90+
.newBuilder()
91+
.addPathSegments("api/queries")
92+
.addPathSegment(id);
93+
if (request.getPage().isPresent()) {
94+
httpUrl.addQueryParameter("page", request.getPage().get());
95+
}
96+
Request.Builder _requestBuilder = new Request.Builder()
97+
.url(httpUrl.build())
98+
.method("GET", null)
99+
.headers(Headers.of(clientOptions.headers(requestOptions)))
100+
.addHeader("Content-Type", "application/json");
101+
Request okhttpRequest = _requestBuilder.build();
102+
try {
103+
Response response =
104+
clientOptions.httpClient().newCall(okhttpRequest).execute();
105+
if (response.isSuccessful()) {
106+
return ObjectMappers.JSON_MAPPER.readValue(response.body().string(), V4QueryResultsEnvelope.class);
107+
}
108+
throw new ApiError(
109+
response.code(),
110+
ObjectMappers.JSON_MAPPER.readValue(response.body().string(), Object.class));
111+
} catch (IOException e) {
112+
throw new RuntimeException(e);
113+
}
114+
}
115+
}

0 commit comments

Comments
 (0)