From 03def5b29052749421c650f0243d4cba15f62932 Mon Sep 17 00:00:00 2001 From: pancakes Date: Sat, 22 Feb 2025 11:33:58 +1000 Subject: [PATCH] [backend/api] Add endpoint to search user by username and host --- .../Controllers/Web/SearchController.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Iceshrimp.Backend/Controllers/Web/SearchController.cs b/Iceshrimp.Backend/Controllers/Web/SearchController.cs index d93778dd..9f4e8670 100644 --- a/Iceshrimp.Backend/Controllers/Web/SearchController.cs +++ b/Iceshrimp.Backend/Controllers/Web/SearchController.cs @@ -137,4 +137,24 @@ public class SearchController( throw GracefulException.BadRequest("Invalid lookup target"); } + + [HttpGet("acct")] + [ProducesResults(HttpStatusCode.OK)] + public async Task> SearchUserByMention( + [FromQuery] string? username, [FromQuery] string? host + ) + { + var user = HttpContext.GetUser(); + + var users = await db.Users + .IncludeCommonProperties() + .Where(p => p != user + && (username == null || p.UsernameLower.StartsWith(username.ToLower())) + && (host == null || p.Host != null && p.Host.StartsWith(host.ToLower()))) + .OrderByDescending(p => p.NotesCount) + .Take(10) + .ToListAsync(); + + return await userRenderer.RenderManyAsync(users); + } }