mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-23 04:57:17 +01:00
Do not inject IGitHubService, require factory
This commit is contained in:
@@ -41,9 +41,9 @@ namespace Tgstation.Server.Host.Controllers
|
||||
const string OctokitException = "Bad GitHub API response, check configuration!";
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="IGitHubService"/> for the <see cref="AdministrationController"/>.
|
||||
/// The <see cref="IGitHubServiceFactory"/> for the <see cref="AdministrationController"/>.
|
||||
/// </summary>
|
||||
readonly IGitHubService gitHubService;
|
||||
readonly IGitHubServiceFactory gitHubServiceFactory;
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="IServerControl"/> for the <see cref="AdministrationController"/>.
|
||||
@@ -85,7 +85,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
/// </summary>
|
||||
/// <param name="databaseContext">The <see cref="IDatabaseContext"/> for the <see cref="ApiController"/>.</param>
|
||||
/// <param name="authenticationContextFactory">The <see cref="IAuthenticationContextFactory"/> for the <see cref="ApiController"/>.</param>
|
||||
/// <param name="gitHubService">The value of <see cref="gitHubService"/>.</param>
|
||||
/// <param name="gitHubServiceFactory">The value of <see cref="gitHubServiceFactory"/>.</param>
|
||||
/// <param name="serverControl">The value of <see cref="serverControl"/>.</param>
|
||||
/// <param name="serverUpdateInitiator">The value of <see cref="serverUpdateInitiator"/>.</param>
|
||||
/// <param name="assemblyInformationProvider">The value of <see cref="assemblyInformationProvider"/>.</param>
|
||||
@@ -97,7 +97,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
public AdministrationController(
|
||||
IDatabaseContext databaseContext,
|
||||
IAuthenticationContextFactory authenticationContextFactory,
|
||||
IGitHubService gitHubService,
|
||||
IGitHubServiceFactory gitHubServiceFactory,
|
||||
IServerControl serverControl,
|
||||
IServerUpdateInitiator serverUpdateInitiator,
|
||||
IAssemblyInformationProvider assemblyInformationProvider,
|
||||
@@ -112,7 +112,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
logger,
|
||||
true)
|
||||
{
|
||||
this.gitHubService = gitHubService ?? throw new ArgumentNullException(nameof(gitHubService));
|
||||
this.gitHubServiceFactory = gitHubServiceFactory ?? throw new ArgumentNullException(nameof(gitHubServiceFactory));
|
||||
this.serverControl = serverControl ?? throw new ArgumentNullException(nameof(serverControl));
|
||||
this.serverUpdateInitiator = serverUpdateInitiator ?? throw new ArgumentNullException(nameof(serverUpdateInitiator));
|
||||
this.assemblyInformationProvider = assemblyInformationProvider ?? throw new ArgumentNullException(nameof(assemblyInformationProvider));
|
||||
@@ -143,6 +143,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
Uri repoUrl = null;
|
||||
try
|
||||
{
|
||||
var gitHubService = gitHubServiceFactory.CreateService();
|
||||
var repositoryUrlTask = gitHubService.GetUpdatesRepositoryUrl(cancellationToken);
|
||||
var releases = await gitHubService.GetTgsReleases(cancellationToken);
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@ namespace Tgstation.Server.Host.Core
|
||||
sealed class ServerUpdater : IServerUpdater, IServerUpdateExecutor
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="IGitHubService"/> for the <see cref="ServerUpdater"/>.
|
||||
/// The <see cref="IGitHubServiceFactory"/> for the <see cref="ServerUpdater"/>.
|
||||
/// </summary>
|
||||
readonly IGitHubService gitHubService;
|
||||
readonly IGitHubServiceFactory gitHubServiceFactory;
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="IIOManager"/> for the <see cref="ServerUpdater"/>.
|
||||
@@ -64,7 +64,7 @@ namespace Tgstation.Server.Host.Core
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ServerUpdater"/> class.
|
||||
/// </summary>
|
||||
/// <param name="gitHubService">The value of <see cref="gitHubService"/>.</param>
|
||||
/// <param name="gitHubServiceFactory">The value of <see cref="gitHubServiceFactory"/>.</param>
|
||||
/// <param name="ioManager">The value of <see cref="ioManager"/>.</param>
|
||||
/// <param name="fileDownloader">The value of <see cref="fileDownloader"/>.</param>
|
||||
/// <param name="serverControl">The value of <see cref="serverControl"/>.</param>
|
||||
@@ -72,7 +72,7 @@ namespace Tgstation.Server.Host.Core
|
||||
/// <param name="generalConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing the value of <see cref="generalConfiguration"/>.</param>
|
||||
/// <param name="updatesConfigurationOptions">The <see cref="IOptions{TOptions}"/> containing the value of <see cref="updatesConfiguration"/>.</param>
|
||||
public ServerUpdater(
|
||||
IGitHubService gitHubService,
|
||||
IGitHubServiceFactory gitHubServiceFactory,
|
||||
IIOManager ioManager,
|
||||
IFileDownloader fileDownloader,
|
||||
IServerControl serverControl,
|
||||
@@ -80,7 +80,7 @@ namespace Tgstation.Server.Host.Core
|
||||
IOptions<GeneralConfiguration> generalConfigurationOptions,
|
||||
IOptions<UpdatesConfiguration> updatesConfigurationOptions)
|
||||
{
|
||||
this.gitHubService = gitHubService ?? throw new ArgumentNullException(nameof(gitHubService));
|
||||
this.gitHubServiceFactory = gitHubServiceFactory ?? throw new ArgumentNullException(nameof(gitHubServiceFactory));
|
||||
this.ioManager = ioManager ?? throw new ArgumentNullException(nameof(ioManager));
|
||||
this.fileDownloader = fileDownloader ?? throw new ArgumentNullException(nameof(fileDownloader));
|
||||
this.serverControl = serverControl ?? throw new ArgumentNullException(nameof(serverControl));
|
||||
@@ -288,6 +288,7 @@ namespace Tgstation.Server.Host.Core
|
||||
{
|
||||
logger.LogDebug("Looking for GitHub releases version {version}...", newVersion);
|
||||
|
||||
var gitHubService = gitHubServiceFactory.CreateService();
|
||||
var releases = await gitHubService.GetTgsReleases(cancellationToken);
|
||||
foreach (var kvp in releases)
|
||||
{
|
||||
|
||||
@@ -105,7 +105,6 @@ namespace Tgstation.Server.Host.Extensions
|
||||
|
||||
serviceCollection.AddSingleton<IGitHubClientFactory, GitHubClientFactory>();
|
||||
serviceCollection.AddSingleton(typeof(IGitHubServiceFactory), gitHubServiceFactoryType);
|
||||
serviceCollection.AddSingleton(x => x.GetRequiredService<IGitHubServiceFactory>().CreateService());
|
||||
|
||||
return serviceCollection;
|
||||
}
|
||||
|
||||
@@ -96,7 +96,6 @@ namespace Tgstation.Server.Host.Utils.GitHub
|
||||
var now = DateTimeOffset.UtcNow;
|
||||
if (!cacheHit)
|
||||
{
|
||||
logger.LogTrace("Creating new GitHubClient...");
|
||||
client = new GitHubClient(
|
||||
new ProductHeaderValue(
|
||||
assemblyInformationProvider.ProductInfoHeaderValue.Product.Name,
|
||||
|
||||
Reference in New Issue
Block a user