aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Querying
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Querying')
-rw-r--r--MediaBrowser.Model/Querying/AllThemeMediaResult.cs20
-rw-r--r--MediaBrowser.Model/Querying/EpisodeQuery.cs62
-rw-r--r--MediaBrowser.Model/Querying/ItemCountsQuery.cs21
-rw-r--r--MediaBrowser.Model/Querying/ItemFields.cs222
-rw-r--r--MediaBrowser.Model/Querying/ItemFilter.cs46
-rw-r--r--MediaBrowser.Model/Querying/ItemSortBy.cs81
-rw-r--r--MediaBrowser.Model/Querying/LatestItemsQuery.cs76
-rw-r--r--MediaBrowser.Model/Querying/MovieRecommendationQuery.cs39
-rw-r--r--MediaBrowser.Model/Querying/NextUpQuery.cs67
-rw-r--r--MediaBrowser.Model/Querying/QueryFilters.cs32
-rw-r--r--MediaBrowser.Model/Querying/QueryResult.cs23
-rw-r--r--MediaBrowser.Model/Querying/SessionQuery.cs14
-rw-r--r--MediaBrowser.Model/Querying/SimilarItemsQuery.cs29
-rw-r--r--MediaBrowser.Model/Querying/ThemeMediaResult.cs17
-rw-r--r--MediaBrowser.Model/Querying/UpcomingEpisodesQuery.cs57
-rw-r--r--MediaBrowser.Model/Querying/UserQuery.cs9
16 files changed, 815 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Querying/AllThemeMediaResult.cs b/MediaBrowser.Model/Querying/AllThemeMediaResult.cs
new file mode 100644
index 000000000..89640eb65
--- /dev/null
+++ b/MediaBrowser.Model/Querying/AllThemeMediaResult.cs
@@ -0,0 +1,20 @@
+namespace MediaBrowser.Model.Querying
+{
+ public class AllThemeMediaResult
+ {
+ public ThemeMediaResult ThemeVideosResult { get; set; }
+
+ public ThemeMediaResult ThemeSongsResult { get; set; }
+
+ public ThemeMediaResult SoundtrackSongsResult { get; set; }
+
+ public AllThemeMediaResult()
+ {
+ ThemeVideosResult = new ThemeMediaResult();
+
+ ThemeSongsResult = new ThemeMediaResult();
+
+ SoundtrackSongsResult = new ThemeMediaResult();
+ }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Model/Querying/EpisodeQuery.cs b/MediaBrowser.Model/Querying/EpisodeQuery.cs
new file mode 100644
index 000000000..78fe943e3
--- /dev/null
+++ b/MediaBrowser.Model/Querying/EpisodeQuery.cs
@@ -0,0 +1,62 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ public class EpisodeQuery
+ {
+ /// <summary>
+ /// Gets or sets the user identifier.
+ /// </summary>
+ /// <value>The user identifier.</value>
+ public string UserId { get; set; }
+ /// <summary>
+ /// Gets or sets the season identifier.
+ /// </summary>
+ /// <value>The season identifier.</value>
+ public string SeasonId { get; set; }
+ /// <summary>
+ /// Gets or sets the series identifier.
+ /// </summary>
+ /// <value>The series identifier.</value>
+ public string SeriesId { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is missing.
+ /// </summary>
+ /// <value><c>null</c> if [is missing] contains no value, <c>true</c> if [is missing]; otherwise, <c>false</c>.</value>
+ public bool? IsMissing { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is virtual unaired.
+ /// </summary>
+ /// <value><c>null</c> if [is virtual unaired] contains no value, <c>true</c> if [is virtual unaired]; otherwise, <c>false</c>.</value>
+ public bool? IsVirtualUnaired { get; set; }
+ /// <summary>
+ /// Gets or sets the season number.
+ /// </summary>
+ /// <value>The season number.</value>
+ public int? SeasonNumber { get; set; }
+ /// <summary>
+ /// Gets or sets the fields.
+ /// </summary>
+ /// <value>The fields.</value>
+ public ItemFields[] Fields { get; set; }
+ /// <summary>
+ /// Gets or sets the start index.
+ /// </summary>
+ /// <value>The start index.</value>
+ public int? StartIndex { get; set; }
+ /// <summary>
+ /// Gets or sets the limit.
+ /// </summary>
+ /// <value>The limit.</value>
+ public int? Limit { get; set; }
+ /// <summary>
+ /// Gets or sets the start item identifier.
+ /// </summary>
+ /// <value>The start item identifier.</value>
+ public string StartItemId { get; set; }
+
+ public EpisodeQuery()
+ {
+ Fields = new ItemFields[] { };
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/ItemCountsQuery.cs b/MediaBrowser.Model/Querying/ItemCountsQuery.cs
new file mode 100644
index 000000000..0bf681537
--- /dev/null
+++ b/MediaBrowser.Model/Querying/ItemCountsQuery.cs
@@ -0,0 +1,21 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ /// <summary>
+ /// Class ItemCountsQuery
+ /// </summary>
+ public class ItemCountsQuery
+ {
+ /// <summary>
+ /// Gets or sets the user id.
+ /// </summary>
+ /// <value>The user id.</value>
+ public string UserId { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is favorite.
+ /// </summary>
+ /// <value><c>null</c> if [is favorite] contains no value, <c>true</c> if [is favorite]; otherwise, <c>false</c>.</value>
+ public bool? IsFavorite { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/ItemFields.cs b/MediaBrowser.Model/Querying/ItemFields.cs
new file mode 100644
index 000000000..92fa3822b
--- /dev/null
+++ b/MediaBrowser.Model/Querying/ItemFields.cs
@@ -0,0 +1,222 @@
+namespace MediaBrowser.Model.Querying
+{
+ /// <summary>
+ /// Used to control the data that gets attached to DtoBaseItems
+ /// </summary>
+ public enum ItemFields
+ {
+ /// <summary>
+ /// The air time
+ /// </summary>
+ AirTime,
+
+ /// <summary>
+ /// The can delete
+ /// </summary>
+ CanDelete,
+
+ /// <summary>
+ /// The can download
+ /// </summary>
+ CanDownload,
+
+ /// <summary>
+ /// The channel information
+ /// </summary>
+ ChannelInfo,
+
+ /// <summary>
+ /// The chapters
+ /// </summary>
+ Chapters,
+
+ ChildCount,
+
+ /// <summary>
+ /// The cumulative run time ticks
+ /// </summary>
+ CumulativeRunTimeTicks,
+
+ /// <summary>
+ /// The custom rating
+ /// </summary>
+ CustomRating,
+
+ /// <summary>
+ /// The date created of the item
+ /// </summary>
+ DateCreated,
+
+ /// <summary>
+ /// The date last media added
+ /// </summary>
+ DateLastMediaAdded,
+
+ /// <summary>
+ /// Item display preferences
+ /// </summary>
+ DisplayPreferencesId,
+
+ /// <summary>
+ /// The etag
+ /// </summary>
+ Etag,
+
+ /// <summary>
+ /// The external urls
+ /// </summary>
+ ExternalUrls,
+
+ /// <summary>
+ /// Genres
+ /// </summary>
+ Genres,
+
+ /// <summary>
+ /// The home page URL
+ /// </summary>
+ HomePageUrl,
+
+ /// <summary>
+ /// The item counts
+ /// </summary>
+ ItemCounts,
+
+ /// <summary>
+ /// The media source count
+ /// </summary>
+ MediaSourceCount,
+
+ /// <summary>
+ /// The media versions
+ /// </summary>
+ MediaSources,
+
+ OriginalTitle,
+
+ /// <summary>
+ /// The item overview
+ /// </summary>
+ Overview,
+
+ /// <summary>
+ /// The id of the item's parent
+ /// </summary>
+ ParentId,
+
+ /// <summary>
+ /// The physical path of the item
+ /// </summary>
+ Path,
+
+ /// <summary>
+ /// The list of people for the item
+ /// </summary>
+ People,
+
+ PlayAccess,
+
+ /// <summary>
+ /// The production locations
+ /// </summary>
+ ProductionLocations,
+
+ /// <summary>
+ /// Imdb, tmdb, etc
+ /// </summary>
+ ProviderIds,
+
+ /// <summary>
+ /// The aspect ratio of the primary image
+ /// </summary>
+ PrimaryImageAspectRatio,
+
+ RecursiveItemCount,
+
+ /// <summary>
+ /// The settings
+ /// </summary>
+ Settings,
+
+ /// <summary>
+ /// The screenshot image tags
+ /// </summary>
+ ScreenshotImageTags,
+
+ SeriesPrimaryImage,
+
+ /// <summary>
+ /// The series studio
+ /// </summary>
+ SeriesStudio,
+
+ /// <summary>
+ /// The sort name of the item
+ /// </summary>
+ SortName,
+
+ /// <summary>
+ /// The special episode numbers
+ /// </summary>
+ SpecialEpisodeNumbers,
+
+ /// <summary>
+ /// The studios of the item
+ /// </summary>
+ Studios,
+
+ BasicSyncInfo,
+ /// <summary>
+ /// The synchronize information
+ /// </summary>
+ SyncInfo,
+
+ /// <summary>
+ /// The taglines of the item
+ /// </summary>
+ Taglines,
+
+ /// <summary>
+ /// The tags
+ /// </summary>
+ Tags,
+
+ /// <summary>
+ /// The trailer url of the item
+ /// </summary>
+ RemoteTrailers,
+
+ /// <summary>
+ /// The media streams
+ /// </summary>
+ MediaStreams,
+
+ /// <summary>
+ /// The season user data
+ /// </summary>
+ SeasonUserData,
+
+ /// <summary>
+ /// The service name
+ /// </summary>
+ ServiceName,
+ ThemeSongIds,
+ ThemeVideoIds,
+ ExternalEtag,
+ PresentationUniqueKey,
+ InheritedParentalRatingValue,
+ ExternalSeriesId,
+ SeriesPresentationUniqueKey,
+ DateLastRefreshed,
+ DateLastSaved,
+ RefreshState,
+ ChannelImage,
+ EnableMediaSourceDisplay,
+ Width,
+ Height,
+ ExtraIds,
+ LocalTrailerCount,
+ IsHD,
+ SpecialFeatureCount
+ }
+}
diff --git a/MediaBrowser.Model/Querying/ItemFilter.cs b/MediaBrowser.Model/Querying/ItemFilter.cs
new file mode 100644
index 000000000..ff28bd08c
--- /dev/null
+++ b/MediaBrowser.Model/Querying/ItemFilter.cs
@@ -0,0 +1,46 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ /// <summary>
+ /// Enum ItemFilter
+ /// </summary>
+ public enum ItemFilter
+ {
+ /// <summary>
+ /// The item is a folder
+ /// </summary>
+ IsFolder = 1,
+ /// <summary>
+ /// The item is not folder
+ /// </summary>
+ IsNotFolder = 2,
+ /// <summary>
+ /// The item is unplayed
+ /// </summary>
+ IsUnplayed = 3,
+ /// <summary>
+ /// The item is played
+ /// </summary>
+ IsPlayed = 4,
+ /// <summary>
+ /// The item is a favorite
+ /// </summary>
+ IsFavorite = 5,
+ /// <summary>
+ /// The item is resumable
+ /// </summary>
+ IsResumable = 7,
+ /// <summary>
+ /// The likes
+ /// </summary>
+ Likes = 8,
+ /// <summary>
+ /// The dislikes
+ /// </summary>
+ Dislikes = 9,
+ /// <summary>
+ /// The is favorite or likes
+ /// </summary>
+ IsFavoriteOrLikes = 10
+ }
+}
diff --git a/MediaBrowser.Model/Querying/ItemSortBy.cs b/MediaBrowser.Model/Querying/ItemSortBy.cs
new file mode 100644
index 000000000..66bdc8aa5
--- /dev/null
+++ b/MediaBrowser.Model/Querying/ItemSortBy.cs
@@ -0,0 +1,81 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ /// <summary>
+ /// These represent sort orders that are known by the core
+ /// </summary>
+ public static class ItemSortBy
+ {
+ public const string AiredEpisodeOrder = "AiredEpisodeOrder";
+ /// <summary>
+ /// The album
+ /// </summary>
+ public const string Album = "Album";
+ /// <summary>
+ /// The album artist
+ /// </summary>
+ public const string AlbumArtist = "AlbumArtist";
+ /// <summary>
+ /// The artist
+ /// </summary>
+ public const string Artist = "Artist";
+ /// <summary>
+ /// The date created
+ /// </summary>
+ public const string DateCreated = "DateCreated";
+ /// <summary>
+ /// The official rating
+ /// </summary>
+ public const string OfficialRating = "OfficialRating";
+ /// <summary>
+ /// The date played
+ /// </summary>
+ public const string DatePlayed = "DatePlayed";
+ /// <summary>
+ /// The premiere date
+ /// </summary>
+ public const string PremiereDate = "PremiereDate";
+ public const string StartDate = "StartDate";
+ /// <summary>
+ /// The sort name
+ /// </summary>
+ public const string SortName = "SortName";
+ public const string Name = "Name";
+ /// <summary>
+ /// The random
+ /// </summary>
+ public const string Random = "Random";
+ /// <summary>
+ /// The runtime
+ /// </summary>
+ public const string Runtime = "Runtime";
+ /// <summary>
+ /// The community rating
+ /// </summary>
+ public const string CommunityRating = "CommunityRating";
+ /// <summary>
+ /// The production year
+ /// </summary>
+ public const string ProductionYear = "ProductionYear";
+ /// <summary>
+ /// The play count
+ /// </summary>
+ public const string PlayCount = "PlayCount";
+ /// <summary>
+ /// The critic rating
+ /// </summary>
+ public const string CriticRating = "CriticRating";
+ public const string IsFolder = "IsFolder";
+ public const string IsUnplayed = "IsUnplayed";
+ public const string IsPlayed = "IsPlayed";
+ public const string SeriesSortName = "SeriesSortName";
+ public const string VideoBitRate = "VideoBitRate";
+ public const string AirTime = "AirTime";
+ public const string Studio = "Studio";
+ public const string Players = "Players";
+ public const string GameSystem = "GameSystem";
+ public const string IsFavoriteOrLiked = "IsFavoriteOrLiked";
+ public const string DateLastContentAdded = "DateLastContentAdded";
+ public const string SeriesDatePlayed = "SeriesDatePlayed";
+ }
+}
diff --git a/MediaBrowser.Model/Querying/LatestItemsQuery.cs b/MediaBrowser.Model/Querying/LatestItemsQuery.cs
new file mode 100644
index 000000000..88b079595
--- /dev/null
+++ b/MediaBrowser.Model/Querying/LatestItemsQuery.cs
@@ -0,0 +1,76 @@
+using System;
+using MediaBrowser.Model.Entities;
+
+namespace MediaBrowser.Model.Querying
+{
+ public class LatestItemsQuery
+ {
+ /// <summary>
+ /// The user to localize search results for
+ /// </summary>
+ /// <value>The user id.</value>
+ public Guid UserId { get; set; }
+
+ /// <summary>
+ /// Specify this to localize the search to a specific item or folder. Omit to use the root.
+ /// </summary>
+ /// <value>The parent id.</value>
+ public Guid ParentId { get; set; }
+
+ /// <summary>
+ /// Skips over a given number of items within the results. Use for paging.
+ /// </summary>
+ /// <value>The start index.</value>
+ public int? StartIndex { get; set; }
+
+ /// <summary>
+ /// The maximum number of items to return
+ /// </summary>
+ /// <value>The limit.</value>
+ public int? Limit { get; set; }
+
+ /// <summary>
+ /// Fields to return within the items, in addition to basic information
+ /// </summary>
+ /// <value>The fields.</value>
+ public ItemFields[] Fields { get; set; }
+
+ /// <summary>
+ /// Gets or sets the include item types.
+ /// </summary>
+ /// <value>The include item types.</value>
+ public string[] IncludeItemTypes { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is played.
+ /// </summary>
+ /// <value><c>null</c> if [is played] contains no value, <c>true</c> if [is played]; otherwise, <c>false</c>.</value>
+ public bool? IsPlayed { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether [group items].
+ /// </summary>
+ /// <value><c>true</c> if [group items]; otherwise, <c>false</c>.</value>
+ public bool GroupItems { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether [enable images].
+ /// </summary>
+ /// <value><c>null</c> if [enable images] contains no value, <c>true</c> if [enable images]; otherwise, <c>false</c>.</value>
+ public bool? EnableImages { get; set; }
+ /// <summary>
+ /// Gets or sets the image type limit.
+ /// </summary>
+ /// <value>The image type limit.</value>
+ public int? ImageTypeLimit { get; set; }
+ /// <summary>
+ /// Gets or sets the enable image types.
+ /// </summary>
+ /// <value>The enable image types.</value>
+ public ImageType[] EnableImageTypes { get; set; }
+
+ public LatestItemsQuery()
+ {
+ EnableImageTypes = new ImageType[] {};
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/MovieRecommendationQuery.cs b/MediaBrowser.Model/Querying/MovieRecommendationQuery.cs
new file mode 100644
index 000000000..91417a4a7
--- /dev/null
+++ b/MediaBrowser.Model/Querying/MovieRecommendationQuery.cs
@@ -0,0 +1,39 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ public class MovieRecommendationQuery
+ {
+ /// <summary>
+ /// Gets or sets the user identifier.
+ /// </summary>
+ /// <value>The user identifier.</value>
+ public string UserId { get; set; }
+ /// <summary>
+ /// Gets or sets the parent identifier.
+ /// </summary>
+ /// <value>The parent identifier.</value>
+ public string ParentId { get; set; }
+ /// <summary>
+ /// Gets or sets the item limit.
+ /// </summary>
+ /// <value>The item limit.</value>
+ public int ItemLimit { get; set; }
+ /// <summary>
+ /// Gets or sets the category limit.
+ /// </summary>
+ /// <value>The category limit.</value>
+ public int CategoryLimit { get; set; }
+ /// <summary>
+ /// Gets or sets the fields.
+ /// </summary>
+ /// <value>The fields.</value>
+ public ItemFields[] Fields { get; set; }
+
+ public MovieRecommendationQuery()
+ {
+ ItemLimit = 10;
+ CategoryLimit = 6;
+ Fields = new ItemFields[] { };
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/NextUpQuery.cs b/MediaBrowser.Model/Querying/NextUpQuery.cs
new file mode 100644
index 000000000..d20ff99c2
--- /dev/null
+++ b/MediaBrowser.Model/Querying/NextUpQuery.cs
@@ -0,0 +1,67 @@
+using MediaBrowser.Model.Entities;
+using System;
+
+namespace MediaBrowser.Model.Querying
+{
+ public class NextUpQuery
+ {
+ /// <summary>
+ /// Gets or sets the user id.
+ /// </summary>
+ /// <value>The user id.</value>
+ public Guid UserId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the parent identifier.
+ /// </summary>
+ /// <value>The parent identifier.</value>
+ public string ParentId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the series id.
+ /// </summary>
+ /// <value>The series id.</value>
+ public string SeriesId { get; set; }
+
+ /// <summary>
+ /// Skips over a given number of items within the results. Use for paging.
+ /// </summary>
+ /// <value>The start index.</value>
+ public int? StartIndex { get; set; }
+
+ /// <summary>
+ /// The maximum number of items to return
+ /// </summary>
+ /// <value>The limit.</value>
+ public int? Limit { get; set; }
+
+ /// <summary>
+ /// Fields to return within the items, in addition to basic information
+ /// </summary>
+ /// <value>The fields.</value>
+ public ItemFields[] Fields { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether [enable images].
+ /// </summary>
+ /// <value><c>null</c> if [enable images] contains no value, <c>true</c> if [enable images]; otherwise, <c>false</c>.</value>
+ public bool? EnableImages { get; set; }
+ /// <summary>
+ /// Gets or sets the image type limit.
+ /// </summary>
+ /// <value>The image type limit.</value>
+ public int? ImageTypeLimit { get; set; }
+ /// <summary>
+ /// Gets or sets the enable image types.
+ /// </summary>
+ /// <value>The enable image types.</value>
+ public ImageType[] EnableImageTypes { get; set; }
+
+ public bool EnableTotalRecordCount { get; set; }
+
+ public NextUpQuery()
+ {
+ EnableImageTypes = new ImageType[] {};
+ EnableTotalRecordCount = true;
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/QueryFilters.cs b/MediaBrowser.Model/Querying/QueryFilters.cs
new file mode 100644
index 000000000..992bba303
--- /dev/null
+++ b/MediaBrowser.Model/Querying/QueryFilters.cs
@@ -0,0 +1,32 @@
+using MediaBrowser.Model.Dto;
+using System;
+
+namespace MediaBrowser.Model.Querying
+{
+ public class QueryFiltersLegacy
+ {
+ public string[] Genres { get; set; }
+ public string[] Tags { get; set; }
+ public string[] OfficialRatings { get; set; }
+ public int[] Years { get; set; }
+
+ public QueryFiltersLegacy()
+ {
+ Genres = new string[] {};
+ Tags = new string[] {};
+ OfficialRatings = new string[] {};
+ Years = new int[] { };
+ }
+ }
+ public class QueryFilters
+ {
+ public NameGuidPair[] Genres { get; set; }
+ public string[] Tags { get; set; }
+
+ public QueryFilters()
+ {
+ Tags = new string[] {};
+ Genres = new NameGuidPair[] { };
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/QueryResult.cs b/MediaBrowser.Model/Querying/QueryResult.cs
new file mode 100644
index 000000000..6f9923d08
--- /dev/null
+++ b/MediaBrowser.Model/Querying/QueryResult.cs
@@ -0,0 +1,23 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ public class QueryResult<T>
+ {
+ /// <summary>
+ /// Gets or sets the items.
+ /// </summary>
+ /// <value>The items.</value>
+ public T[] Items { get; set; }
+
+ /// <summary>
+ /// The total number of records available
+ /// </summary>
+ /// <value>The total record count.</value>
+ public int TotalRecordCount { get; set; }
+
+ public QueryResult()
+ {
+ Items = new T[] { };
+ }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/SessionQuery.cs b/MediaBrowser.Model/Querying/SessionQuery.cs
new file mode 100644
index 000000000..fa7df315c
--- /dev/null
+++ b/MediaBrowser.Model/Querying/SessionQuery.cs
@@ -0,0 +1,14 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ /// <summary>
+ /// Class SessionQuery
+ /// </summary>
+ public class SessionQuery
+ {
+ /// <summary>
+ /// Filter by sessions that are allowed to be controlled by a given user
+ /// </summary>
+ public string ControllableByUserId { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/SimilarItemsQuery.cs b/MediaBrowser.Model/Querying/SimilarItemsQuery.cs
new file mode 100644
index 000000000..0dd491550
--- /dev/null
+++ b/MediaBrowser.Model/Querying/SimilarItemsQuery.cs
@@ -0,0 +1,29 @@
+namespace MediaBrowser.Model.Querying
+{
+ public class SimilarItemsQuery
+ {
+ /// <summary>
+ /// The user to localize search results for
+ /// </summary>
+ /// <value>The user id.</value>
+ public string UserId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the id.
+ /// </summary>
+ /// <value>The id.</value>
+ public string Id { get; set; }
+
+ /// <summary>
+ /// The maximum number of items to return
+ /// </summary>
+ /// <value>The limit.</value>
+ public int? Limit { get; set; }
+
+ /// <summary>
+ /// Fields to return within the items, in addition to basic information
+ /// </summary>
+ /// <value>The fields.</value>
+ public ItemFields[] Fields { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/ThemeMediaResult.cs b/MediaBrowser.Model/Querying/ThemeMediaResult.cs
new file mode 100644
index 000000000..eae102bae
--- /dev/null
+++ b/MediaBrowser.Model/Querying/ThemeMediaResult.cs
@@ -0,0 +1,17 @@
+using MediaBrowser.Model.Dto;
+using System;
+
+namespace MediaBrowser.Model.Querying
+{
+ /// <summary>
+ /// Class ThemeMediaResult
+ /// </summary>
+ public class ThemeMediaResult : QueryResult<BaseItemDto>
+ {
+ /// <summary>
+ /// Gets or sets the owner id.
+ /// </summary>
+ /// <value>The owner id.</value>
+ public Guid OwnerId { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Querying/UpcomingEpisodesQuery.cs b/MediaBrowser.Model/Querying/UpcomingEpisodesQuery.cs
new file mode 100644
index 000000000..665b980eb
--- /dev/null
+++ b/MediaBrowser.Model/Querying/UpcomingEpisodesQuery.cs
@@ -0,0 +1,57 @@
+using MediaBrowser.Model.Entities;
+
+namespace MediaBrowser.Model.Querying
+{
+ public class UpcomingEpisodesQuery
+ {
+ /// <summary>
+ /// Gets or sets the user id.
+ /// </summary>
+ /// <value>The user id.</value>
+ public string UserId { get; set; }
+
+ /// <summary>
+ /// Gets or sets the parent identifier.
+ /// </summary>
+ /// <value>The parent identifier.</value>
+ public string ParentId { get; set; }
+
+ /// <summary>
+ /// Skips over a given number of items within the results. Use for paging.
+ /// </summary>
+ /// <value>The start index.</value>
+ public int? StartIndex { get; set; }
+
+ /// <summary>
+ /// The maximum number of items to return
+ /// </summary>
+ /// <value>The limit.</value>
+ public int? Limit { get; set; }
+
+ /// <summary>
+ /// Fields to return within the items, in addition to basic information
+ /// </summary>
+ /// <value>The fields.</value>
+ public ItemFields[] Fields { get; set; }
+ /// <summary>
+ /// Gets or sets a value indicating whether [enable images].
+ /// </summary>
+ /// <value><c>null</c> if [enable images] contains no value, <c>true</c> if [enable images]; otherwise, <c>false</c>.</value>
+ public bool? EnableImages { get; set; }
+ /// <summary>
+ /// Gets or sets the image type limit.
+ /// </summary>
+ /// <value>The image type limit.</value>
+ public int? ImageTypeLimit { get; set; }
+ /// <summary>
+ /// Gets or sets the enable image types.
+ /// </summary>
+ /// <value>The enable image types.</value>
+ public ImageType[] EnableImageTypes { get; set; }
+
+ public UpcomingEpisodesQuery()
+ {
+ EnableImageTypes = new ImageType[] {};
+ }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Model/Querying/UserQuery.cs b/MediaBrowser.Model/Querying/UserQuery.cs
new file mode 100644
index 000000000..48dbd30aa
--- /dev/null
+++ b/MediaBrowser.Model/Querying/UserQuery.cs
@@ -0,0 +1,9 @@
+
+namespace MediaBrowser.Model.Querying
+{
+ public class UserQuery
+ {
+ public bool? IsHidden { get; set; }
+ public bool? IsDisabled { get; set; }
+ }
+}