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.
44 lines
1.9 KiB
C#
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>();
|
|
}
|
|
}
|