Don't load all people for search, display series being merged in

This commit is contained in:
Amelia 2025-05-08 13:44:28 +02:00
parent 940fe80609
commit 39b6382467
No known key found for this signature in database
GPG key ID: D6D0ECE365407EAA
6 changed files with 44 additions and 8 deletions

View file

@ -67,6 +67,8 @@ public interface IPersonRepository
/// <returns></returns>
Task<IList<Person>> GetPeopleByNames(List<string> normalizedNames, PersonIncludes includes = PersonIncludes.Aliases);
Task<Person?> GetPersonByAniListId(int aniListId, PersonIncludes includes = PersonIncludes.Aliases);
Task<IList<Person>> SearchPeople(string query, PersonIncludes includes = PersonIncludes.Aliases);
}
public class PersonRepository : IPersonRepository
@ -303,6 +305,15 @@ public class PersonRepository : IPersonRepository
.FirstOrDefaultAsync();
}
public async Task<IList<Person>> SearchPeople(string query, PersonIncludes includes = PersonIncludes.Aliases)
{
return await _context.Person
.Includes(includes)
.Where(p => EF.Functions.Like(p.Name, $"%{query}%")
|| p.Aliases.Any(pa => EF.Functions.Like(pa.Alias, $"%{query}%")))
.ToListAsync();
}
public async Task<IList<Person>> GetAllPeople(PersonIncludes includes = PersonIncludes.Aliases)
{
return await _context.Person