mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-03 19:17:24 -05:00 
			
		
		
		
	add more channel feature reporting
This commit is contained in:
		
							parent
							
								
									680ffeebf7
								
							
						
					
					
						commit
						ce8c5a1a3c
					
				@ -1,6 +1,5 @@
 | 
				
			|||||||
using MediaBrowser.Controller.Entities;
 | 
					using MediaBrowser.Controller.Entities;
 | 
				
			||||||
using MediaBrowser.Controller.Providers;
 | 
					using MediaBrowser.Controller.Providers;
 | 
				
			||||||
using MediaBrowser.Model.Channels;
 | 
					 | 
				
			||||||
using MediaBrowser.Model.Entities;
 | 
					using MediaBrowser.Model.Entities;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Threading;
 | 
					using System.Threading;
 | 
				
			||||||
@ -32,7 +31,7 @@ namespace MediaBrowser.Controller.Channels
 | 
				
			|||||||
        /// Gets the channel information.
 | 
					        /// Gets the channel information.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <returns>ChannelFeatures.</returns>
 | 
					        /// <returns>ChannelFeatures.</returns>
 | 
				
			||||||
        ChannelFeatures GetChannelFeatures();
 | 
					        InternalChannelFeatures GetChannelFeatures();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Determines whether [is enabled for] [the specified user].
 | 
					        /// Determines whether [is enabled for] [the specified user].
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										50
									
								
								MediaBrowser.Controller/Channels/InternalChannelFeatures.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								MediaBrowser.Controller/Channels/InternalChannelFeatures.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					using MediaBrowser.Model.Channels;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace MediaBrowser.Controller.Channels
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class InternalChannelFeatures
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Gets or sets a value indicating whether this instance can search.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <value><c>true</c> if this instance can search; otherwise, <c>false</c>.</value>
 | 
				
			||||||
 | 
					        public bool CanSearch { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Gets or sets the media types.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <value>The media types.</value>
 | 
				
			||||||
 | 
					        public List<ChannelMediaType> MediaTypes { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Gets or sets the content types.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <value>The content types.</value>
 | 
				
			||||||
 | 
					        public List<ChannelMediaContentType> ContentTypes { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Represents the maximum number of records the channel allows retrieving at a time
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public int? MaxPageSize { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Gets or sets the default sort orders.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <value>The default sort orders.</value>
 | 
				
			||||||
 | 
					        public List<ChannelItemSortField> DefaultSortFields { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// Indicates if a sort ascending/descending toggle is supported or not.
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        public bool SupportsSortOrderToggle { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public InternalChannelFeatures()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            MediaTypes = new List<ChannelMediaType>();
 | 
				
			||||||
 | 
					            ContentTypes = new List<ChannelMediaContentType>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            DefaultSortFields = new List<ChannelItemSortField>();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
using MediaBrowser.Controller.Entities;
 | 
					using MediaBrowser.Controller.Entities;
 | 
				
			||||||
 | 
					using MediaBrowser.Model.Channels;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace MediaBrowser.Controller.Channels
 | 
					namespace MediaBrowser.Controller.Channels
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -11,15 +12,9 @@ namespace MediaBrowser.Controller.Channels
 | 
				
			|||||||
        public int? StartIndex { get; set; }
 | 
					        public int? StartIndex { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public int? Limit { get; set; }
 | 
					        public int? Limit { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public ChannelItemSortField? SortBy { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool SortDescending { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    public class InternalAllChannelItemsQuery
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        public User User { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public int? StartIndex { get; set; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public int? Limit { get; set; }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -82,6 +82,7 @@
 | 
				
			|||||||
    <Compile Include="Channels\ChannelVideoItem.cs" />
 | 
					    <Compile Include="Channels\ChannelVideoItem.cs" />
 | 
				
			||||||
    <Compile Include="Channels\Channel.cs" />
 | 
					    <Compile Include="Channels\Channel.cs" />
 | 
				
			||||||
    <Compile Include="Channels\IChannelMediaItem.cs" />
 | 
					    <Compile Include="Channels\IChannelMediaItem.cs" />
 | 
				
			||||||
 | 
					    <Compile Include="Channels\InternalChannelFeatures.cs" />
 | 
				
			||||||
    <Compile Include="Channels\InternalChannelItemQuery.cs" />
 | 
					    <Compile Include="Channels\InternalChannelItemQuery.cs" />
 | 
				
			||||||
    <Compile Include="Chapters\ChapterSearchRequest.cs" />
 | 
					    <Compile Include="Chapters\ChapterSearchRequest.cs" />
 | 
				
			||||||
    <Compile Include="Chapters\IChapterProvider.cs" />
 | 
					    <Compile Include="Chapters\IChapterProvider.cs" />
 | 
				
			||||||
 | 
				
			|||||||
@ -39,10 +39,10 @@ namespace MediaBrowser.Model.Channels
 | 
				
			|||||||
        public bool SupportsSortOrderToggle { get; set; }
 | 
					        public bool SupportsSortOrderToggle { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// Gets or sets a value indicating whether the channel content is just a single media list.
 | 
					        /// Gets or sets a value indicating whether this instance can filter.
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
        /// <value><c>true</c> if this instance is single media list; otherwise, <c>false</c>.</value>
 | 
					        /// <value><c>true</c> if this instance can filter; otherwise, <c>false</c>.</value>
 | 
				
			||||||
        public bool IsSingleMediaList { get; set; }
 | 
					        public bool CanFilter { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public ChannelFeatures()
 | 
					        public ChannelFeatures()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -57,9 +57,10 @@ namespace MediaBrowser.Model.Channels
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
        Name = 0,
 | 
					        Name = 0,
 | 
				
			||||||
        CommunityRating = 1,
 | 
					        CommunityRating = 1,
 | 
				
			||||||
        ReleaseDate = 2,
 | 
					        ContentReleaseDate = 2,
 | 
				
			||||||
        Runtime = 3,
 | 
					        DateAdded = 3,
 | 
				
			||||||
        CommunityMostWatched = 4,
 | 
					        Runtime = 4,
 | 
				
			||||||
        UserPlayCount = 5
 | 
					        CommunityMostWatched = 5,
 | 
				
			||||||
 | 
					        UserPlayCount = 6
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -243,7 +243,21 @@ namespace MediaBrowser.Server.Implementations.Channels
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var channelProvider = GetChannelProvider(channel);
 | 
					            var channelProvider = GetChannelProvider(channel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return channelProvider.GetChannelFeatures();
 | 
					            return GetChannelFeaturesDto(channelProvider.GetChannelFeatures());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public ChannelFeatures GetChannelFeaturesDto(InternalChannelFeatures features)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            return new ChannelFeatures
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                CanFilter = !features.MaxPageSize.HasValue,
 | 
				
			||||||
 | 
					                CanSearch = features.CanSearch,
 | 
				
			||||||
 | 
					                ContentTypes = features.ContentTypes,
 | 
				
			||||||
 | 
					                DefaultSortFields = features.DefaultSortFields,
 | 
				
			||||||
 | 
					                MaxPageSize = features.MaxPageSize,
 | 
				
			||||||
 | 
					                MediaTypes = features.MediaTypes,
 | 
				
			||||||
 | 
					                SupportsSortOrderToggle = features.SupportsSortOrderToggle
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private Guid GetInternalChannelId(string name)
 | 
					        private Guid GetInternalChannelId(string name)
 | 
				
			||||||
 | 
				
			|||||||
@ -787,5 +787,7 @@
 | 
				
			|||||||
	"HeaderMetadataManager": "Metadata Manager",
 | 
						"HeaderMetadataManager": "Metadata Manager",
 | 
				
			||||||
	"HeaderPreferences": "Preferences",
 | 
						"HeaderPreferences": "Preferences",
 | 
				
			||||||
	"MessageLoadingChannels": "Loading channel content...",
 | 
						"MessageLoadingChannels": "Loading channel content...",
 | 
				
			||||||
	"ButtonMarkRead": "Mark Read"
 | 
						"ButtonMarkRead": "Mark Read",
 | 
				
			||||||
 | 
						"OptionDefaultSort": "Default",
 | 
				
			||||||
 | 
						"OptionCommunityMostWatchedSort": "Most Watched"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 | 
					<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 | 
				
			||||||
    <metadata>
 | 
					    <metadata>
 | 
				
			||||||
        <id>MediaBrowser.Common.Internal</id>
 | 
					        <id>MediaBrowser.Common.Internal</id>
 | 
				
			||||||
        <version>3.0.382</version>
 | 
					        <version>3.0.384</version>
 | 
				
			||||||
        <title>MediaBrowser.Common.Internal</title>
 | 
					        <title>MediaBrowser.Common.Internal</title>
 | 
				
			||||||
        <authors>Luke</authors>
 | 
					        <authors>Luke</authors>
 | 
				
			||||||
        <owners>ebr,Luke,scottisafool</owners>
 | 
					        <owners>ebr,Luke,scottisafool</owners>
 | 
				
			||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
        <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
 | 
					        <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
 | 
				
			||||||
        <copyright>Copyright © Media Browser 2013</copyright>
 | 
					        <copyright>Copyright © Media Browser 2013</copyright>
 | 
				
			||||||
        <dependencies>
 | 
					        <dependencies>
 | 
				
			||||||
            <dependency id="MediaBrowser.Common" version="3.0.382" />
 | 
					            <dependency id="MediaBrowser.Common" version="3.0.384" />
 | 
				
			||||||
            <dependency id="NLog" version="2.1.0" />
 | 
					            <dependency id="NLog" version="2.1.0" />
 | 
				
			||||||
            <dependency id="SimpleInjector" version="2.5.0" />
 | 
					            <dependency id="SimpleInjector" version="2.5.0" />
 | 
				
			||||||
            <dependency id="sharpcompress" version="0.10.2" />
 | 
					            <dependency id="sharpcompress" version="0.10.2" />
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 | 
					<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 | 
				
			||||||
    <metadata>
 | 
					    <metadata>
 | 
				
			||||||
        <id>MediaBrowser.Common</id>
 | 
					        <id>MediaBrowser.Common</id>
 | 
				
			||||||
        <version>3.0.382</version>
 | 
					        <version>3.0.384</version>
 | 
				
			||||||
        <title>MediaBrowser.Common</title>
 | 
					        <title>MediaBrowser.Common</title>
 | 
				
			||||||
        <authors>Media Browser Team</authors>
 | 
					        <authors>Media Browser Team</authors>
 | 
				
			||||||
        <owners>ebr,Luke,scottisafool</owners>
 | 
					        <owners>ebr,Luke,scottisafool</owners>
 | 
				
			||||||
 | 
				
			|||||||
@ -2,7 +2,7 @@
 | 
				
			|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
 | 
					<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
 | 
				
			||||||
    <metadata>
 | 
					    <metadata>
 | 
				
			||||||
        <id>MediaBrowser.Server.Core</id>
 | 
					        <id>MediaBrowser.Server.Core</id>
 | 
				
			||||||
        <version>3.0.382</version>
 | 
					        <version>3.0.384</version>
 | 
				
			||||||
        <title>Media Browser.Server.Core</title>
 | 
					        <title>Media Browser.Server.Core</title>
 | 
				
			||||||
        <authors>Media Browser Team</authors>
 | 
					        <authors>Media Browser Team</authors>
 | 
				
			||||||
        <owners>ebr,Luke,scottisafool</owners>
 | 
					        <owners>ebr,Luke,scottisafool</owners>
 | 
				
			||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
        <description>Contains core components required to build plugins for Media Browser Server.</description>
 | 
					        <description>Contains core components required to build plugins for Media Browser Server.</description>
 | 
				
			||||||
        <copyright>Copyright © Media Browser 2013</copyright>
 | 
					        <copyright>Copyright © Media Browser 2013</copyright>
 | 
				
			||||||
        <dependencies>
 | 
					        <dependencies>
 | 
				
			||||||
            <dependency id="MediaBrowser.Common" version="3.0.382" />
 | 
					            <dependency id="MediaBrowser.Common" version="3.0.384" />
 | 
				
			||||||
        </dependencies>
 | 
					        </dependencies>
 | 
				
			||||||
    </metadata>
 | 
					    </metadata>
 | 
				
			||||||
    <files>
 | 
					    <files>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user