< Summary - Jellyfin

Information
Class: Jellyfin.Server.Migrations.Routines.UpdateDefaultPluginRepository
Assembly: jellyfin
File(s): /srv/git/jellyfin/Jellyfin.Server/Migrations/Routines/UpdateDefaultPluginRepository.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 13
Coverable lines: 13
Total lines: 52
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 6
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%210%
get_Id()100%210%
get_Name()100%210%
get_PerformOnNewInstall()100%210%
Perform()0%4260%

File(s)

/srv/git/jellyfin/Jellyfin.Server/Migrations/Routines/UpdateDefaultPluginRepository.cs

#LineLine coverage
 1using System;
 2using MediaBrowser.Controller.Configuration;
 3
 4namespace Jellyfin.Server.Migrations.Routines;
 5
 6/// <summary>
 7/// Migration to update the default Jellyfin plugin repository.
 8/// </summary>
 9public class UpdateDefaultPluginRepository : IMigrationRoutine
 10{
 11    private const string NewRepositoryUrl = "https://repo.jellyfin.org/files/plugin/manifest.json";
 12    private const string OldRepositoryUrl = "https://repo.jellyfin.org/releases/plugin/manifest-stable.json";
 13
 14    private readonly IServerConfigurationManager _serverConfigurationManager;
 15
 16    /// <summary>
 17    /// Initializes a new instance of the <see cref="UpdateDefaultPluginRepository"/> class.
 18    /// </summary>
 19    /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/> interface.</p
 20    public UpdateDefaultPluginRepository(IServerConfigurationManager serverConfigurationManager)
 21    {
 022        _serverConfigurationManager = serverConfigurationManager;
 023    }
 24
 25    /// <inheritdoc />
 026    public Guid Id => new("852816E0-2712-49A9-9240-C6FC5FCAD1A8");
 27
 28    /// <inheritdoc />
 029    public string Name => "UpdateDefaultPluginRepository10.9";
 30
 31    /// <inheritdoc />
 032    public bool PerformOnNewInstall => true;
 33
 34    /// <inheritdoc />
 35    public void Perform()
 36    {
 037        var updated = false;
 038        foreach (var repo in _serverConfigurationManager.Configuration.PluginRepositories)
 39        {
 040            if (string.Equals(repo.Url, OldRepositoryUrl, StringComparison.OrdinalIgnoreCase))
 41            {
 042                repo.Url = NewRepositoryUrl;
 043                updated = true;
 44            }
 45        }
 46
 047        if (updated)
 48        {
 049            _serverConfigurationManager.SaveConfiguration();
 50        }
 051    }
 52}