aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-05-23 12:43:24 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-05-23 12:43:24 -0400
commit2f93d4498bc50eb36546a94d2ee3c4a0ab502480 (patch)
treec347b284e5faca4fffb92ed75f2d5b5ef3d9622e /MediaBrowser.Controller/Entities
parent54cf0da75826d641b28a34afece7a4cb0eaaaec2 (diff)
update query fields
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs9
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs19
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs36
3 files changed, 43 insertions, 21 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index b18d47a65..f83b2f7bd 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -672,7 +672,7 @@ namespace MediaBrowser.Controller.Entities
{
return ItemRepository.GetItemList(new InternalItemsQuery
{
- ParentId = Id,
+ Parent = this,
GroupByPresentationUniqueKey = false,
DtoOptions = new DtoOptions(true)
});
@@ -692,7 +692,7 @@ namespace MediaBrowser.Controller.Entities
{
Recursive = false,
Limit = 0,
- ParentId = Id,
+ Parent = this,
DtoOptions = new DtoOptions(false)
{
EnableImages = false
@@ -743,7 +743,10 @@ namespace MediaBrowser.Controller.Entities
if (!(this is UserRootFolder) && !(this is AggregateFolder))
{
- query.ParentId = query.ParentId ?? Id;
+ if (!query.ParentId.HasValue)
+ {
+ query.Parent = this;
+ }
}
if (RequiresPostFiltering2(query))
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index d3220f6c1..2186716d7 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -126,9 +126,27 @@ namespace MediaBrowser.Controller.Entities
public bool? IsVirtualItem { get; set; }
public Guid? ParentId { get; set; }
+ public string ParentType { get; set; }
public string[] AncestorIds { get; set; }
public string[] TopParentIds { get; set; }
+ public BaseItem Parent
+ {
+ set
+ {
+ if (value == null)
+ {
+ ParentId = null;
+ ParentType = null;
+ }
+ else
+ {
+ ParentId = value.Id;
+ ParentType = value.GetType().Name;
+ }
+ }
+ }
+
public string[] PresetViews { get; set; }
public SourceType[] SourceTypes { get; set; }
public SourceType[] ExcludeSourceTypes { get; set; }
@@ -156,6 +174,7 @@ namespace MediaBrowser.Controller.Entities
public DateTime? MinDateCreated { get; set; }
public DateTime? MinDateLastSaved { get; set; }
+ public DateTime? MinDateLastSavedForUser { get; set; }
public DtoOptions DtoOptions { get; set; }
public int MinSimilarityScore { get; set; }
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index 801d1d783..b2edb3da8 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -130,7 +130,7 @@ namespace MediaBrowser.Controller.Entities
if (query.Recursive)
{
query.Recursive = true;
- query.ParentId = queryParent.Id;
+ query.Parent = queryParent;
query.SetUser(user);
return _libraryManager.GetItemsResult(query);
@@ -355,7 +355,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetMusicPlaylists(Folder parent, User user, InternalItemsQuery query)
{
- query.ParentId = null;
+ query.Parent = null;
query.IncludeItemTypes = new[] { typeof(Playlist).Name };
query.SetUser(user);
query.Recursive = true;
@@ -366,7 +366,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetMusicAlbums(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IncludeItemTypes = new[] { typeof(MusicAlbum).Name };
@@ -377,7 +377,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetMusicSongs(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IncludeItemTypes = new[] { typeof(Audio.Audio).Name };
@@ -405,7 +405,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetFavoriteSongs(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IsFavorite = true;
query.IncludeItemTypes = new[] { typeof(Audio.Audio).Name };
@@ -416,7 +416,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetFavoriteAlbums(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IsFavorite = true;
query.IncludeItemTypes = new[] { typeof(MusicAlbum).Name };
@@ -466,7 +466,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetFavoriteMovies(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IsFavorite = true;
query.IncludeItemTypes = new[] { typeof(Movie).Name };
@@ -477,7 +477,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetFavoriteSeries(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IsFavorite = true;
query.IncludeItemTypes = new[] { typeof(Series).Name };
@@ -488,7 +488,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetFavoriteEpisodes(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IsFavorite = true;
query.IncludeItemTypes = new[] { typeof(Episode).Name };
@@ -499,7 +499,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetMovieMovies(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IncludeItemTypes = new[] { typeof(Movie).Name };
@@ -518,7 +518,7 @@ namespace MediaBrowser.Controller.Entities
query.SortOrder = SortOrder.Descending;
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.Limit = GetSpecialItemsLimit();
query.IncludeItemTypes = new[] { typeof(Movie).Name };
@@ -532,7 +532,7 @@ namespace MediaBrowser.Controller.Entities
query.SortOrder = SortOrder.Descending;
query.IsResumable = true;
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.Limit = GetSpecialItemsLimit();
query.IncludeItemTypes = new[] { typeof(Movie).Name };
@@ -586,7 +586,7 @@ namespace MediaBrowser.Controller.Entities
private async Task<QueryResult<BaseItem>> GetMovieGenreItems(Folder queryParent, Folder displayParent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = queryParent.Id;
+ query.Parent = queryParent;
query.GenreIds = new[] { displayParent.Id.ToString("N") };
query.SetUser(user);
@@ -602,7 +602,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetBoxsetView(Folder parent, User user, InternalItemsQuery query)
{
- query.ParentId = null;
+ query.Parent = null;
query.IncludeItemTypes = new[] { typeof(BoxSet).Name };
query.SetUser(user);
query.Recursive = true;
@@ -644,7 +644,7 @@ namespace MediaBrowser.Controller.Entities
query.SortOrder = SortOrder.Descending;
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.Limit = GetSpecialItemsLimit();
query.IncludeItemTypes = new[] { typeof(Episode).Name };
@@ -674,7 +674,7 @@ namespace MediaBrowser.Controller.Entities
query.SortOrder = SortOrder.Descending;
query.IsResumable = true;
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.Limit = GetSpecialItemsLimit();
query.IncludeItemTypes = new[] { typeof(Episode).Name };
@@ -685,7 +685,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetTvSeries(Folder parent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = parent.Id;
+ query.Parent = parent;
query.SetUser(user);
query.IncludeItemTypes = new[] { typeof(Series).Name };
@@ -729,7 +729,7 @@ namespace MediaBrowser.Controller.Entities
private QueryResult<BaseItem> GetTvGenreItems(Folder queryParent, Folder displayParent, User user, InternalItemsQuery query)
{
query.Recursive = true;
- query.ParentId = queryParent.Id;
+ query.Parent = queryParent;
query.GenreIds = new[] { displayParent.Id.ToString("N") };
query.SetUser(user);