added missing WidgetsBundleController APIs to RestClient

This commit is contained in:
ShvaykaD 2024-01-10 12:42:53 +02:00
parent 523651b71c
commit 29289baeb4

View File

@ -2715,15 +2715,33 @@ public class RestClient implements Closeable {
return restTemplate.postForEntity(baseURL + "/api/widgetsBundle", widgetsBundle, WidgetsBundle.class).getBody(); return restTemplate.postForEntity(baseURL + "/api/widgetsBundle", widgetsBundle, WidgetsBundle.class).getBody();
} }
public void updateWidgetsBundleWidgetTypes(WidgetsBundleId widgetsBundleId, List<WidgetTypeId> widgetTypeIds) {
var httpEntity = new HttpEntity<>(widgetTypeIds.stream()
.map(widgetTypeId -> widgetTypeId.getId().toString())
.collect(Collectors.toList()));
restTemplate.exchange(baseURL + "/api/widgetsBundle/{widgetsBundleId}/widgetTypes",
HttpMethod.POST, httpEntity, Void.class, widgetsBundleId.getId());
}
public void updateWidgetsBundleWidgetFqns(WidgetsBundleId widgetsBundleId, List<String> widgetTypeFqns) {
restTemplate.exchange(baseURL + "/api/widgetsBundle/{widgetsBundleId}/widgetTypeFqns",
HttpMethod.POST, new HttpEntity<>(widgetTypeFqns), Void.class, widgetsBundleId.getId());
}
public void deleteWidgetsBundle(WidgetsBundleId widgetsBundleId) { public void deleteWidgetsBundle(WidgetsBundleId widgetsBundleId) {
restTemplate.delete(baseURL + "/api/widgetsBundle/{widgetsBundleId}", widgetsBundleId.getId()); restTemplate.delete(baseURL + "/api/widgetsBundle/{widgetsBundleId}", widgetsBundleId.getId());
} }
public PageData<WidgetsBundle> getWidgetsBundles(PageLink pageLink) { public PageData<WidgetsBundle> getWidgetsBundles(PageLink pageLink) {
return getWidgetsBundles(pageLink, null, null);
}
public PageData<WidgetsBundle> getWidgetsBundles(PageLink pageLink, Boolean tenantOnly, Boolean fullSearch) {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
addPageLinkToParam(params, pageLink); addPageLinkToParam(params, pageLink);
addTenantOnlyAndFullSearchToParams(tenantOnly, fullSearch, params);
return restTemplate.exchange( return restTemplate.exchange(
baseURL + "/api/widgetsBundles?" + getUrlParams(pageLink), baseURL + "/api/widgetsBundles?" + getUrlParams(pageLink) + getWidgetsBundlePageRequestUrlParams(tenantOnly, fullSearch),
HttpMethod.GET, HttpMethod.GET,
HttpEntity.EMPTY, HttpEntity.EMPTY,
new ParameterizedTypeReference<PageData<WidgetsBundle>>() { new ParameterizedTypeReference<PageData<WidgetsBundle>>() {
@ -3758,6 +3776,17 @@ public class RestClient implements Closeable {
return urlParams; return urlParams;
} }
private String getWidgetsBundlePageRequestUrlParams(Boolean tenantOnly, Boolean fullSearch) {
String urlParams = "";
if (tenantOnly != null) {
urlParams = "&tenantOnly={tenantOnly}";
}
if (fullSearch != null) {
urlParams += "&fullSearch={fullSearch}";
}
return urlParams;
}
private String getWidgetTypeInfoPageRequestUrlParams(Boolean tenantOnly, Boolean fullSearch, private String getWidgetTypeInfoPageRequestUrlParams(Boolean tenantOnly, Boolean fullSearch,
DeprecatedFilter deprecatedFilter, DeprecatedFilter deprecatedFilter,
List<String> widgetTypeList) { List<String> widgetTypeList) {
@ -3801,12 +3830,7 @@ public class RestClient implements Closeable {
private void addWidgetInfoFiltersToParams(Boolean tenantOnly, Boolean fullSearch, DeprecatedFilter deprecatedFilter, private void addWidgetInfoFiltersToParams(Boolean tenantOnly, Boolean fullSearch, DeprecatedFilter deprecatedFilter,
List<String> widgetTypeList, Map<String, String> params) { List<String> widgetTypeList, Map<String, String> params) {
if (tenantOnly != null) { addTenantOnlyAndFullSearchToParams(tenantOnly, fullSearch, params);
params.put("tenantOnly", tenantOnly.toString());
}
if (fullSearch != null) {
params.put("fullSearch", fullSearch.toString());
}
if (deprecatedFilter != null) { if (deprecatedFilter != null) {
params.put("deprecatedFilter", deprecatedFilter.name()); params.put("deprecatedFilter", deprecatedFilter.name());
} }
@ -3815,6 +3839,15 @@ public class RestClient implements Closeable {
} }
} }
private void addTenantOnlyAndFullSearchToParams(Boolean tenantOnly, Boolean fullSearch, Map<String, String> params) {
if (tenantOnly != null) {
params.put("tenantOnly", tenantOnly.toString());
}
if (fullSearch != null) {
params.put("fullSearch", fullSearch.toString());
}
}
private String listToString(List<String> list) { private String listToString(List<String> list) {
return String.join(",", list); return String.join(",", list);
} }