
com.squidex.api.resources.plans.PlansClient Maven / Gradle / Ivy
package com.squidex.api.resources.plans;
import com.squidex.api.core.ClientOptions;
import com.squidex.api.core.ObjectMappers;
import com.squidex.api.core.RequestOptions;
import com.squidex.api.types.ChangePlanDto;
import com.squidex.api.types.PlanChangedDto;
import com.squidex.api.types.PlansDto;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class PlansClient {
protected final ClientOptions clientOptions;
public PlansClient(ClientOptions clientOptions) {
this.clientOptions = clientOptions;
}
public PlansDto getPlans() {
return getPlans(null);
}
public PlansDto getPlans(RequestOptions requestOptions) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/apps")
.addPathSegment(clientOptions.appName())
.addPathSegments("plans")
.build();
Request _request = new Request.Builder()
.url(_httpUrl)
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.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(), PlansDto.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public PlanChangedDto putPlan(ChangePlanDto request) {
return putPlan(request, null);
}
public PlanChangedDto putPlan(ChangePlanDto request, RequestOptions requestOptions) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/apps")
.addPathSegment(clientOptions.appName())
.addPathSegments("plan")
.build();
RequestBody _requestBody;
try {
_requestBody = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaType.parse("application/json"));
} catch (Exception e) {
throw new RuntimeException(e);
}
Request _request = new Request.Builder()
.url(_httpUrl)
.method("PUT", _requestBody)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.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(), PlanChangedDto.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public PlansDto getTeamPlans(String team) {
return getTeamPlans(team, null);
}
public PlansDto getTeamPlans(String team, RequestOptions requestOptions) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/teams")
.addPathSegment(team)
.addPathSegments("plans")
.build();
Request _request = new Request.Builder()
.url(_httpUrl)
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.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(), PlansDto.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public PlanChangedDto putTeamPlan(String team, ChangePlanDto request) {
return putTeamPlan(team, request, null);
}
public PlanChangedDto putTeamPlan(String team, ChangePlanDto request, RequestOptions requestOptions) {
HttpUrl _httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/teams")
.addPathSegment(team)
.addPathSegments("plan")
.build();
RequestBody _requestBody;
try {
_requestBody = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaType.parse("application/json"));
} catch (Exception e) {
throw new RuntimeException(e);
}
Request _request = new Request.Builder()
.url(_httpUrl)
.method("PUT", _requestBody)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.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(), PlanChangedDto.class);
}
throw new RuntimeException();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy