Iceshrimp.NET/Iceshrimp.Frontend/Core/ControllerModels/SearchControllerModel.cs
2024-11-20 00:48:29 +01:00

19 lines
No EOL
849 B
C#

using Iceshrimp.Frontend.Core.Miscellaneous;
using Iceshrimp.Frontend.Core.Services;
using Iceshrimp.Shared.Schemas.Web;
namespace Iceshrimp.Frontend.Core.ControllerModels;
internal class SearchControllerModel(ApiClient api)
{
[LinkPagination(20, 80)]
public Task<List<NoteResponse>> SearchNotesAsync(string query, PaginationQuery pq) =>
api.CallAsync<List<NoteResponse>>(HttpMethod.Get, "/search/notes", QueryString.Create("q", query) + pq);
[LinkPagination(20, 80)]
public Task<List<UserResponse>> SearchUsersAsync(string query, PaginationQuery pq) =>
api.CallAsync<List<UserResponse>>(HttpMethod.Get, "/search/users", QueryString.Create("q", query) + pq);
public Task<RedirectResponse?> LookupAsync(string target) =>
api.CallNullableAsync<RedirectResponse>(HttpMethod.Get, "/search/lookup", QueryString.Create("target", target));
}