Skip to content

Commit 1d66ab9

Browse files
authored
Merge pull request #238 from crowdin/string-list-updates
feat: string list params update
2 parents 5e63230 + 113940a commit 1d66ab9

File tree

4 files changed

+72
-1
lines changed

4 files changed

+72
-1
lines changed

src/main/java/com/crowdin/client/core/http/HttpRequestConfig.java

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,4 +129,35 @@ public static <T extends Optional> Map<String, T> buildUrlParams(String k1, T v1
129129
put(k9, v9);
130130
}};
131131
}
132+
133+
public static <T extends Optional> Map<String, T> buildUrlParams(String k1, T v1, String k2, T v2, String k3, T v3, String k4, T v4, String k5, T v5, String k6, T v6, String k7, T v7, String k8, T v8, String k9, T v9, String k10, T v10) {
134+
return new HashMap<String, T>() {{
135+
put(k1, v1);
136+
put(k2, v2);
137+
put(k3, v3);
138+
put(k4, v4);
139+
put(k5, v5);
140+
put(k6, v6);
141+
put(k7, v7);
142+
put(k8, v8);
143+
put(k9, v9);
144+
put(k10, v10);
145+
}};
146+
}
147+
148+
public static <T extends Optional> Map<String, T> buildUrlParams(String k1, T v1, String k2, T v2, String k3, T v3, String k4, T v4, String k5, T v5, String k6, T v6, String k7, T v7, String k8, T v8, String k9, T v9, String k10, T v10, String k11, T v11) {
149+
return new HashMap<String, T>() {{
150+
put(k1, v1);
151+
put(k2, v2);
152+
put(k3, v3);
153+
put(k4, v4);
154+
put(k5, v5);
155+
put(k6, v6);
156+
put(k7, v7);
157+
put(k8, v8);
158+
put(k9, v9);
159+
put(k10, v10);
160+
put(k11, v11);
161+
}};
162+
}
132163
}

src/main/java/com/crowdin/client/sourcestrings/SourceStringsApi.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public ResponseObject<UploadStringsProgress> uploadStrings(Long projectId, Uploa
5555
* <li><a href="https://developer.crowdin.com/enterprise/api/v2/#operation/api.projects.strings.getMany" target="_blank"><b>Enterprise API Documentation</b></a></li>
5656
* </ul>
5757
*/
58+
@Deprecated
5859
public ResponseList<SourceString> listSourceStrings(Long projectId, Long fileId, Integer denormalizePlaceholders, Long branchId, String labelIds, String croql, String filter, String scope, Integer limit, Integer offset) throws HttpException, HttpBadRequestException {
5960
Map<String, Optional<Object>> queryParams = HttpRequestConfig.buildUrlParams(
6061
"fileId", Optional.ofNullable(fileId),
@@ -71,6 +72,24 @@ public ResponseList<SourceString> listSourceStrings(Long projectId, Long fileId,
7172
return SourceStringResponseList.to(sourceStringResponseList);
7273
}
7374

75+
public ResponseList<SourceString> listSourceStrings(Long projectId, ListSourceStringsParams params) throws HttpException, HttpBadRequestException {
76+
Map<String, Optional<Object>> queryParams = HttpRequestConfig.buildUrlParams(
77+
"orderBy", Optional.ofNullable(params.getOrderBy()),
78+
"denormalizePlaceholders", Optional.ofNullable(params.getDenormalizePlaceholders()),
79+
"labelIds", Optional.ofNullable(params.getLabelIds()),
80+
"fileId", Optional.ofNullable(params.getFileId()),
81+
"branchId", Optional.ofNullable(params.getBranchId()),
82+
"directoryId", Optional.ofNullable(params.getDirectoryId()),
83+
"croql", Optional.ofNullable(params.getCroql()),
84+
"filter", Optional.ofNullable(params.getFilter()),
85+
"scope", Optional.ofNullable(params.getScope()),
86+
"limit", Optional.ofNullable(params.getLimit()),
87+
"offset", Optional.ofNullable(params.getOffset())
88+
);
89+
SourceStringResponseList sourceStringResponseList = this.httpClient.get(this.url + "/projects/" + projectId + "/strings", new HttpRequestConfig(queryParams), SourceStringResponseList.class);
90+
return SourceStringResponseList.to(sourceStringResponseList);
91+
}
92+
7493
/**
7594
* @param projectId project identifier
7695
* @param request request object
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.crowdin.client.sourcestrings.model;
2+
3+
import lombok.Builder;
4+
import lombok.Data;
5+
6+
@Data
7+
@Builder
8+
public class ListSourceStringsParams {
9+
10+
private String orderBy;
11+
private Integer denormalizePlaceholders;
12+
private String labelIds;
13+
private Long fileId;
14+
private Long branchId;
15+
private Long directoryId;
16+
private String croql;
17+
private String filter;
18+
private String scope;
19+
private Integer limit;
20+
private Integer offset;
21+
}

src/test/java/com/crowdin/client/sourcestrings/SourceStringsApiTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void uploadStringsTest() {
7272

7373
@Test
7474
public void listStringsTest() {
75-
ResponseList<SourceString> sourceStringResponseList = this.getSourceStringsApi().listSourceStrings(projectId, null, null, null, null, null, null, null, null, null);
75+
ResponseList<SourceString> sourceStringResponseList = this.getSourceStringsApi().listSourceStrings(projectId, ListSourceStringsParams.builder().build());
7676
assertEquals(sourceStringResponseList.getData().size(), 1);
7777
assertEquals(sourceStringResponseList.getData().get(0).getData().getId(), id);
7878
assertEquals(sourceStringResponseList.getData().get(0).getData().getText(), text);

0 commit comments

Comments
 (0)