From 96d65d1f2003111b13a5c88b83cb81ba5427ecb5 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sun, 25 Jun 2023 19:21:04 -0400 Subject: [PATCH] Do not inject `IGitHubService`, require factory --- .../Controllers/AdministrationController.cs | 11 ++++++----- src/Tgstation.Server.Host/Core/ServerUpdater.cs | 11 ++++++----- .../Extensions/ServiceCollectionExtensions.cs | 1 - .../Utils/GitHub/GitHubClientFactory.cs | 1 - 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Tgstation.Server.Host/Controllers/AdministrationController.cs b/src/Tgstation.Server.Host/Controllers/AdministrationController.cs index 104f1736b9..636aa182a2 100644 --- a/src/Tgstation.Server.Host/Controllers/AdministrationController.cs +++ b/src/Tgstation.Server.Host/Controllers/AdministrationController.cs @@ -41,9 +41,9 @@ namespace Tgstation.Server.Host.Controllers const string OctokitException = "Bad GitHub API response, check configuration!"; /// - /// The for the . + /// The for the . /// - readonly IGitHubService gitHubService; + readonly IGitHubServiceFactory gitHubServiceFactory; /// /// The for the . @@ -85,7 +85,7 @@ namespace Tgstation.Server.Host.Controllers /// /// The for the . /// The for the . - /// The value of . + /// The value of . /// The value of . /// The value of . /// The value of . @@ -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); diff --git a/src/Tgstation.Server.Host/Core/ServerUpdater.cs b/src/Tgstation.Server.Host/Core/ServerUpdater.cs index d04386a9b6..570b613b70 100644 --- a/src/Tgstation.Server.Host/Core/ServerUpdater.cs +++ b/src/Tgstation.Server.Host/Core/ServerUpdater.cs @@ -17,9 +17,9 @@ namespace Tgstation.Server.Host.Core sealed class ServerUpdater : IServerUpdater, IServerUpdateExecutor { /// - /// The for the . + /// The for the . /// - readonly IGitHubService gitHubService; + readonly IGitHubServiceFactory gitHubServiceFactory; /// /// The for the . @@ -64,7 +64,7 @@ namespace Tgstation.Server.Host.Core /// /// Initializes a new instance of the class. /// - /// The value of . + /// The value of . /// The value of . /// The value of . /// The value of . @@ -72,7 +72,7 @@ namespace Tgstation.Server.Host.Core /// The containing the value of . /// The containing the value of . public ServerUpdater( - IGitHubService gitHubService, + IGitHubServiceFactory gitHubServiceFactory, IIOManager ioManager, IFileDownloader fileDownloader, IServerControl serverControl, @@ -80,7 +80,7 @@ namespace Tgstation.Server.Host.Core IOptions generalConfigurationOptions, IOptions 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) { diff --git a/src/Tgstation.Server.Host/Extensions/ServiceCollectionExtensions.cs b/src/Tgstation.Server.Host/Extensions/ServiceCollectionExtensions.cs index d3f70f6a28..b894c78639 100644 --- a/src/Tgstation.Server.Host/Extensions/ServiceCollectionExtensions.cs +++ b/src/Tgstation.Server.Host/Extensions/ServiceCollectionExtensions.cs @@ -105,7 +105,6 @@ namespace Tgstation.Server.Host.Extensions serviceCollection.AddSingleton(); serviceCollection.AddSingleton(typeof(IGitHubServiceFactory), gitHubServiceFactoryType); - serviceCollection.AddSingleton(x => x.GetRequiredService().CreateService()); return serviceCollection; } diff --git a/src/Tgstation.Server.Host/Utils/GitHub/GitHubClientFactory.cs b/src/Tgstation.Server.Host/Utils/GitHub/GitHubClientFactory.cs index 5fbd22f2de..2e9abee967 100644 --- a/src/Tgstation.Server.Host/Utils/GitHub/GitHubClientFactory.cs +++ b/src/Tgstation.Server.Host/Utils/GitHub/GitHubClientFactory.cs @@ -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,