< Summary - Jellyfin

Information
Class: Jellyfin.Server.Migrations.Routines.ReaddDefaultPluginRepository
Assembly: jellyfin
File(s): /srv/git/jellyfin/Jellyfin.Server/Migrations/Routines/ReaddDefaultPluginRepository.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 14
Coverable lines: 14
Total lines: 49
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
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%620%

File(s)

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

#LineLine coverage
 1using System;
 2using MediaBrowser.Controller.Configuration;
 3using MediaBrowser.Model.Updates;
 4
 5namespace Jellyfin.Server.Migrations.Routines
 6{
 7    /// <summary>
 8    /// Migration to initialize system configuration with the default plugin repository.
 9    /// </summary>
 10    public class ReaddDefaultPluginRepository : IMigrationRoutine
 11    {
 12        private readonly IServerConfigurationManager _serverConfigurationManager;
 13
 014        private readonly RepositoryInfo _defaultRepositoryInfo = new RepositoryInfo
 015        {
 016            Name = "Jellyfin Stable",
 017            Url = "https://repo.jellyfin.org/releases/plugin/manifest-stable.json"
 018        };
 19
 20        /// <summary>
 21        /// Initializes a new instance of the <see cref="ReaddDefaultPluginRepository"/> class.
 22        /// </summary>
 23        /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/> interface
 24        public ReaddDefaultPluginRepository(IServerConfigurationManager serverConfigurationManager)
 25        {
 026            _serverConfigurationManager = serverConfigurationManager;
 027        }
 28
 29        /// <inheritdoc/>
 030        public Guid Id => Guid.Parse("5F86E7F6-D966-4C77-849D-7A7B40B68C4E");
 31
 32        /// <inheritdoc/>
 033        public string Name => "ReaddDefaultPluginRepository";
 34
 35        /// <inheritdoc/>
 036        public bool PerformOnNewInstall => true;
 37
 38        /// <inheritdoc/>
 39        public void Perform()
 40        {
 41            // Only add if repository list is empty
 042            if (_serverConfigurationManager.Configuration.PluginRepositories.Length == 0)
 43            {
 044                _serverConfigurationManager.Configuration.PluginRepositories = new[] { _defaultRepositoryInfo };
 045                _serverConfigurationManager.SaveConfiguration();
 46            }
 047        }
 48    }
 49}