Skip to content

Commit e319786

Browse files
committed
added fixes for getFileList
1 parent 1e32ca8 commit e319786

File tree

4 files changed

+79
-53
lines changed

4 files changed

+79
-53
lines changed

README.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -422,20 +422,22 @@ in the [documentation here](https://docs.imagekit.io/api-reference/media-api/lis
422422
correct values to get the results.
423423

424424
```java
425-
Map<String, String> options = new HashMap<>();
426-
List<String> tags = new ArrayList<>();
427-
tags.add("Software");
428-
tags.add("Developer");
429-
tags.add("Engineer");
430-
options.put("skip", "" + 0);
431-
options.put("limit", "" + 1);
432-
options.put("type", "file");
433-
options.put("sort", "ASC_CREATED");
434-
options.put("path", "/");
435-
options.put("fileType", "all");
436-
options.put("searchQuery","createdAt >= '2d' OR size < '2mb' OR format='png'");
437-
options.put("tags", String.valueOf(tags));
438-
ResultList resultList = ImageKit.getInstance().getFileList(options);
425+
String[] tags = new String[3];
426+
tags[0] = "Software";
427+
tags[1] = "Developer";
428+
tags[2] = "Engineer";
429+
GetFileListRequest getFileListRequest = new GetFileListRequest();
430+
getFileListRequest.setType("file");
431+
getFileListRequest.setSort("ASC_CREATED");
432+
getFileListRequest.setPath("/");
433+
getFileListRequest.setSearchQuery("createdAt >= '2d' OR size < '2mb' OR format='png'");
434+
getFileListRequest.setFileType("all");
435+
getFileListRequest.setLimit("4");
436+
getFileListRequest.setSkip("1");
437+
getFileListRequest.setTags(tags);
438+
getFileListRequest.setIncludeFolder(false);
439+
getFileListRequest.setName("new_car.jpg"); // name match is case-sensitive.
440+
ResultList resultList = ImageKit.getInstance().getFileList(getFileListRequest);
439441
System.out.println("======FINAL RESULT=======");
440442
System.out.println(resultList);
441443
System.out.println("Raw Response:");

imagekit-sdk/src/main/java/io/imagekit/sdk/models/GetFileListRequest.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.imagekit.sdk.models;
22

3-
import com.google.gson.JsonArray;
3+
import java.util.Arrays;
44

55
public class GetFileListRequest {
66
public String type;
@@ -11,6 +11,8 @@ public class GetFileListRequest {
1111
public String limit;
1212
public String skip;
1313
public String[] tags;
14+
public Boolean includeFolder;
15+
public String name;
1416

1517
public String getType() {
1618
return type;
@@ -76,6 +78,22 @@ public void setTags(String[] tags) {
7678
this.tags = tags;
7779
}
7880

81+
public Boolean getIncludeFolder() {
82+
return includeFolder;
83+
}
84+
85+
public void setIncludeFolder(Boolean includeFolder) {
86+
this.includeFolder = includeFolder;
87+
}
88+
89+
public String getName() {
90+
return name;
91+
}
92+
93+
public void setName(String name) {
94+
this.name = name;
95+
}
96+
7997
@Override
8098
public String toString() {
8199
return "GetFileListRequest{" +
@@ -86,7 +104,9 @@ public String toString() {
86104
", fileType='" + fileType + '\'' +
87105
", limit='" + limit + '\'' +
88106
", skip='" + skip + '\'' +
89-
", tags=" + tags +
107+
", tags=" + Arrays.toString(tags) +
108+
", includeFolder=" + includeFolder +
109+
", name='" + name + '\'' +
90110
'}';
91111
}
92112
}

imagekit-sdk/src/main/java/io/imagekit/sdk/tasks/RestClient.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,24 +151,25 @@ public ResultList getFileList(GetFileListRequest getFileListRequest) throws Forb
151151
if (getFileListRequest.getTags() != null) {
152152
options.put("tags", Arrays.toString(getFileListRequest.getTags()));
153153
}
154-
System.out.println("options:==> " + options);
154+
if (getFileListRequest.getIncludeFolder() != null) {
155+
options.put("includeFolder", String.valueOf(getFileListRequest.getIncludeFolder()));
156+
}
157+
if (getFileListRequest.getName() != null) {
158+
options.put("name", getFileListRequest.getName());
159+
}
155160
for (Map.Entry<String, String> entry : options.entrySet()) {
156161
queryMaker.put(String.format("%s=%s", entry.getKey(), entry.getValue()));
157162
}
158163

159-
System.out.println("queryMake:--> " + queryMaker.get());
160-
161164
String url = String.format(Locale.US, API_BASE_URL.concat("v1/files?%s"), queryMaker.get());
162165

163-
System.out.println("url:--> " + url);
164166
request = new Request.Builder().url(url).get().headers(Headers.of(headers)).build();
165167

166168
try {
167169
Response response = client.newCall(request).execute();
168170
String respBody = "";
169171
if (response.code() == 200) {
170172
respBody = response.body().string();
171-
System.out.println("respBody:==> " + respBody);
172173
List<BaseFile> files = new Gson().fromJson(respBody,
173174
new TypeToken<List<BaseFile>>() {
174175
}.getType());

imagekit-sdk/src/test/java/io/imagekit/sdk/manage/FileTest.java

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import io.imagekit.sdk.exceptions.UnauthorizedException;
1414
import io.imagekit.sdk.exceptions.UnknownException;
1515
import io.imagekit.sdk.models.FileUpdateRequest;
16+
import io.imagekit.sdk.models.GetFileListRequest;
1617
import io.imagekit.sdk.tasks.RestClient;
1718
import io.imagekit.sdk.utils.Utils;
1819
import okhttp3.mockwebserver.MockResponse;
@@ -287,7 +288,7 @@ public void imageKit_updateDetails_returnTrue()
287288

288289
@Test
289290
public void imageKit_getFileList_returnList()
290-
throws InterruptedException, IOException {
291+
throws InterruptedException, IOException, ForbiddenException, TooManyRequestsException, InternalServerException, UnauthorizedException, BadRequestException, UnknownException, IllegalAccessException, InstantiationException {
291292

292293
MockWebServer server = new MockWebServer();
293294
String responseJson = "[\n" + " {\n" + " \"type\": \"file\",\n"
@@ -310,38 +311,39 @@ public void imageKit_getFileList_returnList()
310311
server.enqueue(new MockResponse().setBody(responseJson));
311312
server.start();
312313
RestClient.API_BASE_URL = server.url("/").toString();
313-
Map<String, String> options = new HashMap<>();
314-
List<String> tags = new ArrayList<>();
315-
tags.add("Software");
316-
tags.add("Developer");
317-
tags.add("Engineer");
318-
options.put("skip", "" + 0);
319-
options.put("limit", "" + 1);
320-
options.put("type", "file");
321-
options.put("sort", "ASC_CREATED");
322-
options.put("path", "/");
323-
options.put("fileType", "all");
324-
options.put("searchQuery", "createdAt >= '2d' OR size < '2mb' OR format='png'");
325-
options.put("tags", String.valueOf(tags));
326-
// SUT.getFileList(options);
314+
String[] tags = new String[3];
315+
tags[0] = "Software";
316+
tags[1] = "Developer";
317+
tags[2] = "Engineer";
318+
GetFileListRequest getFileListRequest = new GetFileListRequest();
319+
getFileListRequest.setType("file");
320+
getFileListRequest.setSort("ASC_CREATED");
321+
getFileListRequest.setPath("/");
322+
getFileListRequest.setSearchQuery("createdAt >= '2d' OR size < '2mb' OR format='png'");
323+
getFileListRequest.setFileType("all");
324+
getFileListRequest.setLimit("1");
325+
getFileListRequest.setSkip("0");
326+
getFileListRequest.setTags(tags);
327+
getFileListRequest.setIncludeFolder(false);
328+
SUT.getFileList(getFileListRequest);
327329

328330
RecordedRequest request = server.takeRequest();
329331
String utf8RequestBody = request.getBody().readUtf8();
330332
assertEquals("", utf8RequestBody);
331333
assertEquals("application/json", request.getHeader("Content-Type"));
332334
assertEquals(
333-
"GET /v1/files?path=/&searchQuery=createdAt%20%3E=%20%272d%27%20OR%20size%20%3C%20%272mb%27%20OR%20format=%27png%27&limit=1&skip=0&sort=ASC_CREATED&type=file&fileType=all&tags=[Software,%20Developer,%20Engineer] HTTP/1.1",
335+
"GET /v1/files?path=/&includeFolder=false&searchQuery=createdAt%20%3E=%20%272d%27%20OR%20size%20%3C%20%272mb%27%20OR%20format=%27png%27&limit=1&skip=0&sort=ASC_CREATED&type=file&fileType=all&tags=[Software,%20Developer,%20Engineer] HTTP/1.1",
334336
request.getRequestLine());
335337
assertEquals(RestClient.API_BASE_URL.concat(
336-
"v1/files?path=/&searchQuery=createdAt%20%3E=%20%272d%27%20OR%20size%20%3C%20%272mb%27%20OR%20format=%27png%27&limit=1&skip=0&sort=ASC_CREATED&type=file&fileType=all&tags=[Software,%20Developer,%20Engineer]"),
338+
"v1/files?path=/&includeFolder=false&searchQuery=createdAt%20%3E=%20%272d%27%20OR%20size%20%3C%20%272mb%27%20OR%20format=%27png%27&limit=1&skip=0&sort=ASC_CREATED&type=file&fileType=all&tags=[Software,%20Developer,%20Engineer]"),
337339
request.getRequestUrl().toString());
338340

339341
}
340342

341343
@Test(expected = BadRequestException.class)
342344
public void imageKit_getFileList_400_expected()
343345
throws InterruptedException, ForbiddenException, TooManyRequestsException, InternalServerException,
344-
UnauthorizedException, BadRequestException, UnknownException, IOException {
346+
UnauthorizedException, BadRequestException, UnknownException, IOException, IllegalAccessException, InstantiationException {
345347

346348
MockWebServer server = new MockWebServer();
347349
String responseJson = "{\n"
@@ -350,20 +352,21 @@ public void imageKit_getFileList_400_expected()
350352
server.enqueue(new MockResponse().setResponseCode(400).setBody(responseJson));
351353
server.start();
352354
RestClient.API_BASE_URL = server.url("/").toString();
353-
Map<String, String> options = new HashMap<>();
354-
List<String> tags = new ArrayList<>();
355-
tags.add("Software");
356-
tags.add("Developer");
357-
tags.add("Engineer");
358-
options.put("skip", "" + 0);
359-
options.put("limit", "" + 1);
360-
options.put("type", "file");
361-
options.put("sort", "ASC_CREATED");
362-
options.put("path", "/");
363-
options.put("fileType", "all");
364-
options.put("searchQuery", "createdAt >= '2days' OR size < '2mb' OR format='png'");
365-
options.put("tags", String.valueOf(tags));
366-
// SUT.getFileList(options);
355+
String[] tags = new String[3];
356+
tags[0] = "Software";
357+
tags[1] = "Developer";
358+
tags[2] = "Engineer";
359+
GetFileListRequest getFileListRequest = new GetFileListRequest();
360+
getFileListRequest.setType("file");
361+
getFileListRequest.setSort("ASC_CREATED");
362+
getFileListRequest.setPath("/");
363+
getFileListRequest.setSearchQuery("createdAt >= '2d' OR size < '2mb' OR format='png'");
364+
getFileListRequest.setFileType("all");
365+
getFileListRequest.setLimit("1");
366+
getFileListRequest.setSkip("0");
367+
getFileListRequest.setTags(tags);
368+
getFileListRequest.setIncludeFolder(true);
369+
SUT.getFileList(getFileListRequest);
367370

368371
server.takeRequest();
369372
}

0 commit comments

Comments
 (0)