aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-10-08 01:58:15 -0400
committerGitHub <noreply@github.com>2016-10-08 01:58:15 -0400
commit82c00b079df5ea7d9712f27c94852ba75bd552cc (patch)
tree7f6128a0a9e84ba10fec160600f22b460ec5695b /MediaBrowser.Controller/Entities
parente5bb2baa67d4b2dc216cf9c6b82d0e1c7997454a (diff)
parent5cd3276775461d96d912d47fbae6857b887b98d0 (diff)
Merge pull request #2215 from MediaBrowser/dev
pass requested fields to data layer
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs18
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs9
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs2
-rw-r--r--MediaBrowser.Controller/Entities/IArchivable.cs8
-rw-r--r--MediaBrowser.Controller/Entities/IHasProductionLocations.cs34
-rw-r--r--MediaBrowser.Controller/Entities/IHasTaglines.cs39
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs34
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs4
-rw-r--r--MediaBrowser.Controller/Entities/MusicVideo.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Photo.cs10
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Trailer.cs12
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs18
14 files changed, 45 insertions, 154 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs
index 599e72314..00657370e 100644
--- a/MediaBrowser.Controller/Entities/Audio/Audio.cs
+++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs
@@ -23,8 +23,7 @@ namespace MediaBrowser.Controller.Entities.Audio
IHasMusicGenres,
IHasLookupInfo<SongInfo>,
IHasMediaSources,
- IThemeMedia,
- IArchivable
+ IThemeMedia
{
public List<ChannelMediaInfo> ChannelMediaSources { get; set; }
@@ -84,21 +83,6 @@ namespace MediaBrowser.Controller.Entities.Audio
}
}
- [IgnoreDataMember]
- public bool IsArchive
- {
- get
- {
- if (string.IsNullOrWhiteSpace(Path))
- {
- return false;
- }
- var ext = System.IO.Path.GetExtension(Path) ?? string.Empty;
-
- return new[] { ".zip", ".rar", ".7z" }.Contains(ext, StringComparer.OrdinalIgnoreCase);
- }
- }
-
public override bool CanDownload()
{
var locationType = LocationType;
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index 81d1deaa2..076a7031a 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -16,7 +16,7 @@ namespace MediaBrowser.Controller.Entities.Audio
/// <summary>
/// Class MusicArtist
/// </summary>
- public class MusicArtist : Folder, IMetadataContainer, IItemByName, IHasMusicGenres, IHasDualAccess, IHasProductionLocations, IHasLookupInfo<ArtistInfo>
+ public class MusicArtist : Folder, IMetadataContainer, IItemByName, IHasMusicGenres, IHasDualAccess, IHasLookupInfo<ArtistInfo>
{
[IgnoreDataMember]
public bool IsAccessedByName
@@ -24,8 +24,6 @@ namespace MediaBrowser.Controller.Entities.Audio
get { return ParentId == Guid.Empty; }
}
- public List<string> ProductionLocations { get; set; }
-
[IgnoreDataMember]
public override bool IsFolder
{
@@ -111,11 +109,6 @@ namespace MediaBrowser.Controller.Entities.Audio
return base.ValidateChildrenInternal(progress, cancellationToken, recursive, refreshChildMetadata, refreshOptions, directoryService);
}
- public MusicArtist()
- {
- ProductionLocations = new List<string>();
- }
-
public override List<string> GetUserDataKeys()
{
var list = base.GetUserDataKeys();
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 90a22b217..eb84765fb 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -73,6 +73,8 @@ namespace MediaBrowser.Controller.Entities
public long? Size { get; set; }
public string Container { get; set; }
public string ShortOverview { get; set; }
+ [IgnoreDataMember]
+ public string Tagline { get; set; }
public List<ItemImageInfo> ImageInfos { get; set; }
diff --git a/MediaBrowser.Controller/Entities/IArchivable.cs b/MediaBrowser.Controller/Entities/IArchivable.cs
deleted file mode 100644
index 575d203a7..000000000
--- a/MediaBrowser.Controller/Entities/IArchivable.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-
-namespace MediaBrowser.Controller.Entities
-{
- public interface IArchivable
- {
- bool IsArchive { get; }
- }
-}
diff --git a/MediaBrowser.Controller/Entities/IHasProductionLocations.cs b/MediaBrowser.Controller/Entities/IHasProductionLocations.cs
deleted file mode 100644
index e4652fa8d..000000000
--- a/MediaBrowser.Controller/Entities/IHasProductionLocations.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace MediaBrowser.Controller.Entities
-{
- /// <summary>
- /// Interface IHasProductionLocations
- /// </summary>
- public interface IHasProductionLocations
- {
- /// <summary>
- /// Gets or sets the production locations.
- /// </summary>
- /// <value>The production locations.</value>
- List<string> ProductionLocations { get; set; }
- }
-
- public static class ProductionLocationExtensions
- {
- public static void AddProductionLocation(this IHasProductionLocations item, string name)
- {
- if (string.IsNullOrWhiteSpace(name))
- {
- throw new ArgumentNullException("name");
- }
-
- if (!item.ProductionLocations.Contains(name, StringComparer.OrdinalIgnoreCase))
- {
- item.ProductionLocations.Add(name);
- }
- }
- }
-}
diff --git a/MediaBrowser.Controller/Entities/IHasTaglines.cs b/MediaBrowser.Controller/Entities/IHasTaglines.cs
deleted file mode 100644
index 8025d6b44..000000000
--- a/MediaBrowser.Controller/Entities/IHasTaglines.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace MediaBrowser.Controller.Entities
-{
- /// <summary>
- /// Interface IHasTaglines
- /// </summary>
- public interface IHasTaglines
- {
- /// <summary>
- /// Gets or sets the taglines.
- /// </summary>
- /// <value>The taglines.</value>
- List<string> Taglines { get; set; }
- }
-
- public static class TaglineExtensions
- {
- /// <summary>
- /// Adds the tagline.
- /// </summary>
- /// <param name="tagline">The tagline.</param>
- /// <exception cref="System.ArgumentNullException">tagline</exception>
- public static void AddTagline(this IHasTaglines item, string tagline)
- {
- if (string.IsNullOrWhiteSpace(tagline))
- {
- throw new ArgumentNullException("tagline");
- }
-
- if (!item.Taglines.Contains(tagline, StringComparer.OrdinalIgnoreCase))
- {
- item.Taglines.Add(tagline);
- }
- }
- }
-}
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index 89fe71d3c..0a857a477 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -2,6 +2,8 @@
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Configuration;
+using System.Linq;
+using MediaBrowser.Model.Querying;
namespace MediaBrowser.Controller.Entities
{
@@ -157,11 +159,43 @@ namespace MediaBrowser.Controller.Entities
public DateTime? MinDateCreated { get; set; }
public DateTime? MinDateLastSaved { get; set; }
+ public List<ItemFields> Fields { get; set; }
+
+ public bool HasField(ItemFields name)
+ {
+ switch (name)
+ {
+ case ItemFields.Keywords:
+ case ItemFields.Taglines:
+ case ItemFields.ShortOverview:
+ case ItemFields.CustomRating:
+ case ItemFields.DateCreated:
+ case ItemFields.SortName:
+ case ItemFields.Overview:
+ case ItemFields.OfficialRatingDescription:
+ case ItemFields.HomePageUrl:
+ case ItemFields.VoteCount:
+ case ItemFields.DisplayMediaType:
+ case ItemFields.ServiceName:
+ case ItemFields.Genres:
+ case ItemFields.Studios:
+ case ItemFields.Settings:
+ case ItemFields.OriginalTitle:
+ case ItemFields.Tags:
+ case ItemFields.DateLastMediaAdded:
+ case ItemFields.CriticRatingSummary:
+ return Fields.Count == 0 || Fields.Contains(name);
+ default:
+ return true;
+ }
+ }
+
public InternalItemsQuery()
{
GroupByPresentationUniqueKey = true;
EnableTotalRecordCount = true;
+ Fields = new List<ItemFields>();
AlbumNames = new string[] { };
ArtistNames = new string[] { };
ExcludeArtistIds = new string[] { };
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index e1e336147..8120b0028 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -15,13 +15,12 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class Movie
/// </summary>
- public class Movie : Video, IHasCriticRating, IHasSpecialFeatures, IHasProductionLocations, IHasBudget, IHasTrailers, IHasThemeMedia, IHasTaglines, IHasAwards, IHasMetascore, IHasLookupInfo<MovieInfo>, ISupportsBoxSetGrouping, IHasOriginalTitle
+ public class Movie : Video, IHasCriticRating, IHasSpecialFeatures, IHasBudget, IHasTrailers, IHasThemeMedia, IHasAwards, IHasMetascore, IHasLookupInfo<MovieInfo>, ISupportsBoxSetGrouping, IHasOriginalTitle
{
public List<Guid> SpecialFeatureIds { get; set; }
public List<Guid> ThemeSongIds { get; set; }
public List<Guid> ThemeVideoIds { get; set; }
- public List<string> ProductionLocations { get; set; }
public Movie()
{
@@ -32,7 +31,6 @@ namespace MediaBrowser.Controller.Entities.Movies
ThemeSongIds = new List<Guid>();
ThemeVideoIds = new List<Guid>();
Taglines = new List<string>();
- ProductionLocations = new List<string>();
}
public string AwardSummary { get; set; }
diff --git a/MediaBrowser.Controller/Entities/MusicVideo.cs b/MediaBrowser.Controller/Entities/MusicVideo.cs
index 9254802dd..6e632a26c 100644
--- a/MediaBrowser.Controller/Entities/MusicVideo.cs
+++ b/MediaBrowser.Controller/Entities/MusicVideo.cs
@@ -6,7 +6,7 @@ using System.Runtime.Serialization;
namespace MediaBrowser.Controller.Entities
{
- public class MusicVideo : Video, IHasArtist, IHasMusicGenres, IHasProductionLocations, IHasBudget, IHasLookupInfo<MusicVideoInfo>
+ public class MusicVideo : Video, IHasArtist, IHasMusicGenres, IHasBudget, IHasLookupInfo<MusicVideoInfo>
{
/// <summary>
/// Gets or sets the budget.
@@ -19,12 +19,10 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <value>The revenue.</value>
public double? Revenue { get; set; }
- public List<string> ProductionLocations { get; set; }
public List<string> Artists { get; set; }
public MusicVideo()
{
- ProductionLocations = new List<string>();
Artists = new List<string>();
}
diff --git a/MediaBrowser.Controller/Entities/Photo.cs b/MediaBrowser.Controller/Entities/Photo.cs
index 965616eb5..41e25e406 100644
--- a/MediaBrowser.Controller/Entities/Photo.cs
+++ b/MediaBrowser.Controller/Entities/Photo.cs
@@ -1,19 +1,11 @@
using MediaBrowser.Model.Drawing;
-using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
namespace MediaBrowser.Controller.Entities
{
- public class Photo : BaseItem, IHasTaglines
+ public class Photo : BaseItem
{
- public List<string> Taglines { get; set; }
-
- public Photo()
- {
- Taglines = new List<string>();
- }
-
[IgnoreDataMember]
public override bool SupportsLocalMetadata
{
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 7e8ba0516..39703f67a 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -17,17 +17,14 @@ namespace MediaBrowser.Controller.Entities.TV
/// <summary>
/// Class Series
/// </summary>
- public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo<SeriesInfo>, IHasSpecialFeatures, IMetadataContainer, IHasOriginalTitle
+ public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo<SeriesInfo>, IMetadataContainer, IHasOriginalTitle
{
- public List<Guid> SpecialFeatureIds { get; set; }
-
public int? AnimeSeriesIndex { get; set; }
public Series()
{
AirDays = new List<DayOfWeek>();
- SpecialFeatureIds = new List<Guid>();
RemoteTrailers = new List<MediaUrl>();
LocalTrailerIds = new List<Guid>();
RemoteTrailerIds = new List<Guid>();
diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs
index f68cd2c85..0bcd5c14e 100644
--- a/MediaBrowser.Controller/Entities/Trailer.cs
+++ b/MediaBrowser.Controller/Entities/Trailer.cs
@@ -10,16 +10,12 @@ namespace MediaBrowser.Controller.Entities
/// <summary>
/// Class Trailer
/// </summary>
- public class Trailer : Video, IHasCriticRating, IHasProductionLocations, IHasBudget, IHasTaglines, IHasMetascore, IHasOriginalTitle, IHasLookupInfo<TrailerInfo>
+ public class Trailer : Video, IHasCriticRating, IHasBudget, IHasMetascore, IHasOriginalTitle, IHasLookupInfo<TrailerInfo>
{
- public List<string> ProductionLocations { get; set; }
-
public Trailer()
{
RemoteTrailers = new List<MediaUrl>();
- Taglines = new List<string>();
Keywords = new List<string>();
- ProductionLocations = new List<string>();
TrailerTypes = new List<TrailerType> { TrailerType.LocalTrailer };
}
@@ -36,12 +32,6 @@ namespace MediaBrowser.Controller.Entities
}
/// <summary>
- /// Gets or sets the taglines.
- /// </summary>
- /// <value>The taglines.</value>
- public List<string> Taglines { get; set; }
-
- /// <summary>
/// Gets or sets the budget.
/// </summary>
/// <value>The budget.</value>
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index 9f3acc3fc..8a64be714 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -96,7 +96,7 @@ namespace MediaBrowser.Controller.Entities
Limit = query.Limit,
IsAiring = true
- }, CancellationToken.None).ConfigureAwait(false);
+ }, new Dto.DtoOptions(), CancellationToken.None).ConfigureAwait(false);
return GetResult(result);
}
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index c64cdf57d..b94973e2b 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -25,8 +25,7 @@ namespace MediaBrowser.Controller.Entities
ISupportsPlaceHolders,
IHasMediaSources,
IHasShortOverview,
- IThemeMedia,
- IArchivable
+ IThemeMedia
{
[IgnoreDataMember]
public string PrimaryVersionId { get; set; }
@@ -197,21 +196,6 @@ namespace MediaBrowser.Controller.Entities
get { return LocalAlternateVersions.Count > 0; }
}
- [IgnoreDataMember]
- public bool IsArchive
- {
- get
- {
- if (string.IsNullOrWhiteSpace(Path))
- {
- return false;
- }
- var ext = System.IO.Path.GetExtension(Path) ?? string.Empty;
-
- return new[] { ".zip", ".rar", ".7z" }.Contains(ext, StringComparer.OrdinalIgnoreCase);
- }
- }
-
public IEnumerable<Guid> GetAdditionalPartIds()
{
return AdditionalParts.Select(i => LibraryManager.GetNewItemId(i, typeof(Video)));