mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-30 11:38:32 -07:00
Added the ability to filter the main search bar
This commit is contained in:
parent
1eae6647db
commit
7ba63a33ce
13 changed files with 132 additions and 36 deletions
|
@ -36,7 +36,7 @@ namespace Ombi.Core.Engine.V2
|
|||
private readonly IMusicBrainzApi _musicApi;
|
||||
|
||||
|
||||
public async Task<List<MultiSearchResult>> MultiSearch(string searchTerm, CancellationToken cancellationToken)
|
||||
public async Task<List<MultiSearchResult>> MultiSearch(string searchTerm, MultiSearchFilter filter, CancellationToken cancellationToken)
|
||||
{
|
||||
var lang = await DefaultLanguageCode(null);
|
||||
var model = new List<MultiSearchResult>();
|
||||
|
@ -44,7 +44,7 @@ namespace Ombi.Core.Engine.V2
|
|||
var movieDbData = (await _movieDbApi.MultiSearch(searchTerm, lang, cancellationToken)).results;
|
||||
|
||||
var lidarrSettings = await _lidarrSettings.GetSettingsAsync();
|
||||
if (lidarrSettings.Enabled)
|
||||
if (lidarrSettings.Enabled && filter.Music)
|
||||
{
|
||||
var artistResult = await _musicApi.SearchArtist(searchTerm);
|
||||
foreach (var artist in artistResult)
|
||||
|
@ -66,7 +66,7 @@ namespace Ombi.Core.Engine.V2
|
|||
Poster = multiSearch.poster_path
|
||||
};
|
||||
|
||||
if (multiSearch.media_type.Equals("movie", StringComparison.InvariantCultureIgnoreCase))
|
||||
if (multiSearch.media_type.Equals("movie", StringComparison.InvariantCultureIgnoreCase) && filter.Movies)
|
||||
{
|
||||
if (multiSearch.release_date.HasValue() && DateTime.TryParse(multiSearch.release_date, out var releaseDate))
|
||||
{
|
||||
|
@ -78,7 +78,7 @@ namespace Ombi.Core.Engine.V2
|
|||
}
|
||||
}
|
||||
|
||||
if (multiSearch.media_type.Equals("tv", StringComparison.InvariantCultureIgnoreCase))
|
||||
else if (multiSearch.media_type.Equals("tv", StringComparison.InvariantCultureIgnoreCase) && filter.TvShows)
|
||||
{
|
||||
if (multiSearch.release_date.HasValue() && DateTime.TryParse(multiSearch.release_date, out var releaseDate))
|
||||
{
|
||||
|
@ -89,11 +89,14 @@ namespace Ombi.Core.Engine.V2
|
|||
result.Title = multiSearch.name;
|
||||
}
|
||||
}
|
||||
|
||||
if (multiSearch.media_type.Equals("person", StringComparison.InvariantCultureIgnoreCase))
|
||||
else if (multiSearch.media_type.Equals("person", StringComparison.InvariantCultureIgnoreCase) && filter.People)
|
||||
{
|
||||
result.Title = multiSearch.name;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
result.Id = multiSearch.id.ToString();
|
||||
model.Add(result);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue