aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Library/SearchProviderQuery.cs
diff options
context:
space:
mode:
authorBond-009 <bond.009@outlook.com>2026-06-07 22:56:51 +0200
committerGitHub <noreply@github.com>2026-06-07 22:56:51 +0200
commit4459147788c0a11d3039723644708f8c8f7cdf2d (patch)
tree2d76561f3f60d62fb4ff1ebff3ee04ac97d35df6 /MediaBrowser.Controller/Library/SearchProviderQuery.cs
parent003f01a99aa7765c5380ff8cff0955addb72d083 (diff)
parentd8d386e88a8bd27ef8e40497e302db184cc02b08 (diff)
Merge pull request #16121 from Shadowghost/search-rebasedHEADmaster
Implement search providers
Diffstat (limited to 'MediaBrowser.Controller/Library/SearchProviderQuery.cs')
-rw-r--r--MediaBrowser.Controller/Library/SearchProviderQuery.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Library/SearchProviderQuery.cs b/MediaBrowser.Controller/Library/SearchProviderQuery.cs
new file mode 100644
index 0000000000..845588c872
--- /dev/null
+++ b/MediaBrowser.Controller/Library/SearchProviderQuery.cs
@@ -0,0 +1,45 @@
+using System;
+using Jellyfin.Data.Enums;
+
+namespace MediaBrowser.Controller.Library;
+
+/// <summary>
+/// Query object for search providers.
+/// </summary>
+public class SearchProviderQuery
+{
+ /// <summary>
+ /// Gets the search term.
+ /// </summary>
+ public required string SearchTerm { get; init; }
+
+ /// <summary>
+ /// Gets the user ID for user-specific searches.
+ /// </summary>
+ public Guid? UserId { get; init; }
+
+ /// <summary>
+ /// Gets the item types to include in the search.
+ /// </summary>
+ public BaseItemKind[] IncludeItemTypes { get; init; } = [];
+
+ /// <summary>
+ /// Gets the item types to exclude from the search.
+ /// </summary>
+ public BaseItemKind[] ExcludeItemTypes { get; init; } = [];
+
+ /// <summary>
+ /// Gets the media types to include in the search.
+ /// </summary>
+ public MediaType[] MediaTypes { get; init; } = [];
+
+ /// <summary>
+ /// Gets the maximum number of results to return.
+ /// </summary>
+ public int? Limit { get; init; }
+
+ /// <summary>
+ /// Gets the parent ID to scope the search.
+ /// </summary>
+ public Guid? ParentId { get; init; }
+}