Skip to content

Commit dd1ca92

Browse files
ankur-dwivediANKUR DWIVEDI
andauthored
added support for Name (#61)
* added support for NAme * added test suite * updated readme --------- Co-authored-by: ANKUR DWIVEDI <[email protected]>
1 parent 906738c commit dd1ca92

File tree

7 files changed

+56
-6
lines changed

7 files changed

+56
-6
lines changed

Imagekit.UnitTests/ImageKitRequestModelValidation.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ public void GetFileListRequest_ModelValidation()
141141
{
142142
GetFileListRequest ob = new GetFileListRequest
143143
{
144+
Name = "Test",
144145
Limit = 10,
145146
Skip = 20,
146147
Type = "Test",
@@ -150,7 +151,7 @@ public void GetFileListRequest_ModelValidation()
150151
FileType = "Test",
151152
Tags = null
152153
};
153-
string param = "sort=Test&path=Test&searchQuery=Test&fileType=Test&limit=10&skip=20";
154+
string param = "sort=Test&path=Test&searchQuery=Test&fileType=Test&name=Test&limit=10&skip=20";
154155
string url = string.Format("https://api.imagekit.io/v1/files/?{0}", param);
155156

156157
var mockHttp = new MockHttpMessageHandler();

Imagekit.UnitTests/ImageKitTestCasesAsync.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,33 @@ public void GetFileRequest_Default()
7070
Assert.Equal(responseObj.Raw, responseObj1);
7171
}
7272
[Fact]
73+
public async void GetFileRequestByNameWithoutSearchQuery()
74+
{
75+
GetFileListRequest ob = new GetFileListRequest
76+
{
77+
78+
Name = "file_name.jpg",
79+
80+
};
81+
var responseObj = TestHelpers.ImagekitResponseFaker.Generate();
82+
83+
var httpResponse = new HttpResponseMessage
84+
{
85+
StatusCode = HttpStatusCode.OK,
86+
Content = new StringContent(JsonConvert.SerializeObject(responseObj))
87+
};
88+
var httpClient = TestHelpers.GetTestHttpClient(httpResponse);
89+
var restClient = new RestClient(GOOD_PUBLICKEY, GOOD_URLENDPOINT, httpClient);
90+
91+
var response = await restClient.GetFileListRequestAsync(ob);
92+
// Console.WriteLine("res",response);
93+
var responseObj1 = JsonConvert.SerializeObject(responseObj.Raw);
94+
responseObj1 = JToken.Parse(responseObj1).ToString();
95+
96+
Assert.Equal(responseObj.Raw, responseObj1);
97+
Console.WriteLine(responseObj.Raw);
98+
}
99+
[Fact]
73100
public void GetFileRequestByName()
74101
{
75102
GetFileListRequest ob = new GetFileListRequest

Imagekit/Helper/GetJsonBody.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,11 @@ public static string GetFileRequestBody(GetFileListRequest getFileListRequest)
383383
options.Add("skip", getFileListRequest.Skip.ToString());
384384
}
385385

386+
if (getFileListRequest.Name != null)
387+
{
388+
options.Add("name", getFileListRequest.Name.ToString());
389+
}
390+
386391
foreach (KeyValuePair<string, string> entry in options)
387392
{
388393
queryMaker.Add(string.Format("{0}={1}", entry.Key, entry.Value));

Imagekit/Imagekit.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
<Description>Library to Integrate Imagekit.io Service.</Description>
1818
<PackageId>Imagekit</PackageId>
1919
<PackOnBuild>true</PackOnBuild>
20-
<ReleaseVersion>4.0.1</ReleaseVersion>
20+
<ReleaseVersion>4.0.2</ReleaseVersion>
2121
<GenerateDocumentationFile>true</GenerateDocumentationFile>
2222
<SynchReleaseVersion>false</SynchReleaseVersion>
23-
<Version>4.0.1</Version>
23+
<Version>4.0.2</Version>
2424
<RepositoryUrl>[email protected]:imagekit-developer/imagekit-dotnet.git</RepositoryUrl>
2525
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
2626
<PackageReleaseNotes>-Fixes</PackageReleaseNotes>

Imagekit/Models/GetFileListRequest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ namespace Imagekit.Models
66
{
77
public class GetFileListRequest
88
{
9+
public string Name { get; set; }
10+
911
public string Type { get; set; }
1012

1113
public string Sort { get; set; }

Imagekit/Util/Constants.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ public static class Constants
2121
public const string UploadApiHost = "dasdasd.sadsdasd.io";
2222
public const string FileApi = "/v1/files";
2323
public const string UploadApi = "/api/v1/files/upload";
24-
public const string SdkVersion = "4.0.1";
24+
public const string SdkVersion = "4.0.2";
2525
}
2626
}

README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,9 @@ The SDK provides a simple interface for all the [media APIs mentioned here](http
375375

376376
Accepts an object specifying the parameters to be used to list and search files. All parameters specified in the [documentation here](https://docs.imagekit.io/api-reference/media-api/list-and-search-files) can be passed as it is with the correct values to get the results.
377377

378+
#### Applying Filters
379+
Filter out the files by specifying the parameters.
380+
378381
```cs
379382
GetFileListRequest model = new GetFileListRequest
380383
{
@@ -383,13 +386,25 @@ GetFileListRequest model = new GetFileListRequest
383386
Limit = 10,
384387
Skip = 0,
385388
Sort = "ASC_CREATED",
386-
SearchQuery = "createdAt >= \"7d\"",
387389
FileType = "image",
388390
Tags = new string[] { "tag1", "tag2" }
389391
};
390-
ResultList resp = await imagekit.GetFileDetail(model);
392+
ResultList res = await imagekit.GetFileListRequestAsync(model);
391393
```
392394

395+
#### Advance Search
396+
In addition, you can fine-tune your query by specifying various filters by generating a query string in a Lucene-like syntax and providing this generated string as the value of the `SearchQuery`.
397+
398+
```cs
399+
GetFileListRequest model = new GetFileListRequest
400+
{
401+
SearchQuery = "createdAt >= '2d' OR size < '2mb' OR format='png'",
402+
};
403+
ResultList res = await imagekit.GetFileListRequestAsync(model);
404+
```
405+
406+
Detailed documentation can be found here for [advance search queries](https://docs.imagekit.io/api-reference/media-api/list-and-search-files#advanced-search-queries).
407+
393408
**2\. Get File Details**
394409

395410
Accepts the file ID and fetches the details as per the [API documentation here](https://docs.imagekit.io/api-reference/media-api/get-file-details).

0 commit comments

Comments
 (0)