Skip to content

Commit 063723d

Browse files
Add PageOrDatabase property in search response
1 parent 37a7125 commit 063723d

File tree

10 files changed

+25
-8
lines changed

10 files changed

+25
-8
lines changed

Src/Notion.Client/Api/Search/ISearchClient.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@ public interface ISearchClient
1111
/// Searches all original pages, databases, and child pages/databases that are shared with the integration.
1212
/// It will not return linked databases, since these duplicate their source databases.
1313
/// </summary>
14-
/// <param name="parameters">Search filters and body parameters</param>
14+
/// <param name="request">Search filters and body parameters</param>
15+
/// <param name="cancellationToken"></param>
1516
/// <returns>
1617
/// <see cref="PaginatedList{IObject}" />
1718
/// </returns>
18-
Task<PaginatedList<IObject>> SearchAsync(SearchParameters parameters, CancellationToken cancellationToken = default);
19+
Task<SearchResponse> SearchAsync(
20+
SearchRequest request,
21+
CancellationToken cancellationToken = default
22+
);
1923
}
2024
}

Src/Notion.Client/Api/Search/Parameters/ISearchBodyParameters.cs renamed to Src/Notion.Client/Api/Search/Request/ISearchBodyParameters.cs

File renamed without changes.

Src/Notion.Client/Api/Search/Parameters/SearchDirection.cs renamed to Src/Notion.Client/Api/Search/Request/SearchDirection.cs

File renamed without changes.

Src/Notion.Client/Api/Search/Parameters/SearchFilter.cs renamed to Src/Notion.Client/Api/Search/Request/SearchFilter.cs

File renamed without changes.

Src/Notion.Client/Api/Search/Parameters/SearchObjectType.cs renamed to Src/Notion.Client/Api/Search/Request/SearchObjectType.cs

File renamed without changes.

Src/Notion.Client/Api/Search/Parameters/SearchParameters.cs renamed to Src/Notion.Client/Api/Search/Request/SearchRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
namespace Notion.Client
22
{
3-
public class SearchParameters : ISearchBodyParameters
3+
public class SearchRequest : ISearchBodyParameters
44
{
55
public string Query { get; set; }
66

File renamed without changes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
4+
namespace Notion.Client
5+
{
6+
public class SearchResponse : PaginatedList<IObject>
7+
{
8+
[JsonProperty("page_or_database")]
9+
public Dictionary<string, object> PageOrDatabase { get; set; }
10+
}
11+
}

Src/Notion.Client/Api/Search/SearchClient.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace Notion.Client
66
{
7-
public class SearchClient : ISearchClient
7+
public sealed class SearchClient : ISearchClient
88
{
99
private readonly IRestClient _client;
1010

@@ -13,13 +13,15 @@ public SearchClient(IRestClient client)
1313
_client = client;
1414
}
1515

16-
public async Task<PaginatedList<IObject>> SearchAsync(SearchParameters parameters, CancellationToken cancellationToken = default)
16+
public async Task<SearchResponse> SearchAsync(
17+
SearchRequest request,
18+
CancellationToken cancellationToken = default)
1719
{
1820
var url = SearchApiUrls.Search();
1921

20-
var body = (ISearchBodyParameters)parameters;
22+
var body = (ISearchBodyParameters)request;
2123

22-
return await _client.PostAsync<PaginatedList<IObject>>(url, body, cancellationToken: cancellationToken);
24+
return await _client.PostAsync<SearchResponse>(url, body, cancellationToken: cancellationToken);
2325
}
2426
}
2527
}

Test/Notion.UnitTests/SearchClientTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public async Task Search()
3030
.WithBody(jsonData)
3131
);
3232

33-
var searchParameters = new SearchParameters
33+
var searchParameters = new SearchRequest
3434
{
3535
Query = "External tasks",
3636
Sort = new SearchSort

0 commit comments

Comments
 (0)