Files
jellyfin-multilang/src/Jellyfin.Plugin.Multilang/PluginServiceRegistrator.cs
T
ajp_anton e36775f1a3 Release 0.2.5: harden proxy and streamline metadata fetching
Remove obsolete rule formats, batch SQLite work, preserve artwork source URLs, and coordinate refresh workers with maintenance. Add regression coverage and document backup format changes.
2026-09-09 01:18:43 +00:00

44 lines
1.9 KiB
C#

using Jellyfin.Plugin.Multilang.Data;
using Jellyfin.Plugin.Multilang.ScheduledTasks;
using Jellyfin.Plugin.Multilang.Services;
using Jellyfin.Plugin.Multilang.Services.Assets;
using Jellyfin.Plugin.Multilang.Services.Backup;
using Jellyfin.Plugin.Multilang.Services.Providers;
using Jellyfin.Plugin.Multilang.Services.Refresh;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Plugins;
using MediaBrowser.Model.Tasks;
using Microsoft.Extensions.DependencyInjection;
namespace Jellyfin.Plugin.Multilang;
public sealed class PluginServiceRegistrator : IPluginServiceRegistrator
{
public void RegisterServices(IServiceCollection services, IServerApplicationHost applicationHost)
{
services.AddMvc().AddApplicationPart(typeof(Plugin).Assembly);
services.AddHttpClient("Multilang.Jellyfin")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler { AllowAutoRedirect = false });
services.AddSingleton<TranslationStore>();
services.AddSingleton<ProviderCatalog>();
services.AddSingleton<SortArticleCatalog>();
services.AddSingleton<TmdbClient>();
services.AddSingleton<FanartClient>();
services.AddSingleton<RefreshCoordinator>();
services.AddSingleton<RefreshService>();
services.AddSingleton<ItemFetcher>();
services.AddSingleton<ItemsProxyCache>();
services.AddHostedService<ItemsProxyInvalidationService>();
services.AddSingleton<ItemsProxyRequestCoalescer>();
services.AddSingleton<ItemsProxyPrecacheService>();
services.AddSingleton<ItemsProxyTransformer>();
services.AddSingleton<AssetStorageService>();
services.AddSingleton<MultilangBackupService>();
services.AddSingleton<IScheduledTask, InjectStartupTask>();
services.AddSingleton<IScheduledTask, RefreshMissingTask>();
services.AddSingleton<IScheduledTask, RefreshFullTask>();
}
}