refactor to unify data fetching and define abstract API for re-use
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
using Jellyfin.Plugin.SRFPlay.Api;
|
||||
using Jellyfin.Plugin.SRFPlay.Channels;
|
||||
using Jellyfin.Plugin.SRFPlay.Providers;
|
||||
using Jellyfin.Plugin.SRFPlay.ScheduledTasks;
|
||||
using Jellyfin.Plugin.SRFPlay.Services;
|
||||
using Jellyfin.Plugin.SRFPlay.Services.Interfaces;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Channels;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using MediaBrowser.Model.Tasks;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Jellyfin.Plugin.SRFPlay;
|
||||
|
||||
@@ -19,13 +20,17 @@ public class ServiceRegistrator : IPluginServiceRegistrator
|
||||
/// <inheritdoc />
|
||||
public void RegisterServices(IServiceCollection serviceCollection, IServerApplicationHost applicationHost)
|
||||
{
|
||||
// Register services as singletons
|
||||
serviceCollection.AddSingleton<MetadataCache>();
|
||||
serviceCollection.AddSingleton<StreamUrlResolver>();
|
||||
serviceCollection.AddSingleton<ContentExpirationService>();
|
||||
serviceCollection.AddSingleton<ContentRefreshService>();
|
||||
serviceCollection.AddSingleton<CategoryService>();
|
||||
serviceCollection.AddSingleton<StreamProxyService>(); // Stream proxy service
|
||||
// Register API client factory
|
||||
serviceCollection.AddSingleton<ISRFApiClientFactory, SRFApiClientFactory>();
|
||||
|
||||
// Register core services with interfaces
|
||||
serviceCollection.AddSingleton<IMetadataCache, MetadataCache>();
|
||||
serviceCollection.AddSingleton<IStreamUrlResolver, StreamUrlResolver>();
|
||||
serviceCollection.AddSingleton<IMediaCompositionFetcher, MediaCompositionFetcher>();
|
||||
serviceCollection.AddSingleton<IStreamProxyService, StreamProxyService>();
|
||||
serviceCollection.AddSingleton<IContentExpirationService, ContentExpirationService>();
|
||||
serviceCollection.AddSingleton<IContentRefreshService, ContentRefreshService>();
|
||||
serviceCollection.AddSingleton<ICategoryService, CategoryService>();
|
||||
|
||||
// Register metadata providers
|
||||
serviceCollection.AddSingleton<SRFSeriesProvider>();
|
||||
|
||||
Reference in New Issue
Block a user