tgstation-server 6.8.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
PostSetupServices.cs
Go to the documentation of this file.
1using System;
2
3using Microsoft.Extensions.Logging;
4using Microsoft.Extensions.Options;
5
8
10{
12 sealed class PostSetupServices<TLoggerType> : IPostSetupServices<TLoggerType>
13 {
16
18 public ILogger<TLoggerType> Logger { get; }
19
22
25
28
31
34
37
41 readonly IOptions<GeneralConfiguration> generalConfigurationOptions;
42
46 readonly IOptions<DatabaseConfiguration> databaseConfigurationOptions;
47
51 readonly IOptions<SecurityConfiguration> securityConfigurationOptions;
52
56 readonly IOptions<FileLoggingConfiguration> fileLoggingConfigurationOptions;
57
61 readonly IOptions<ElasticsearchConfiguration> elasticsearchConfigurationOptions;
62
66 readonly IOptions<InternalConfiguration> internalConfigurationOptions;
67
80 IPlatformIdentifier platformIdentifier,
81 ILoggerFactory loggerFactory,
82 IOptions<GeneralConfiguration> generalConfigurationOptions,
83 IOptions<DatabaseConfiguration> databaseConfigurationOptions,
84 IOptions<SecurityConfiguration> securityConfigurationOptions,
85 IOptions<FileLoggingConfiguration> fileLoggingConfigurationOptions,
86 IOptions<ElasticsearchConfiguration> elasticsearchConfigurationOptions,
87 IOptions<InternalConfiguration> internalConfigurationOptions)
88 {
89 PlatformIdentifier = platformIdentifier ?? throw new ArgumentNullException(nameof(platformIdentifier));
90 ArgumentNullException.ThrowIfNull(loggerFactory);
91
92 Logger = loggerFactory.CreateLogger<TLoggerType>();
93 this.generalConfigurationOptions = generalConfigurationOptions ?? throw new ArgumentNullException(nameof(generalConfigurationOptions));
94 this.databaseConfigurationOptions = databaseConfigurationOptions ?? throw new ArgumentNullException(nameof(databaseConfigurationOptions));
95 this.securityConfigurationOptions = securityConfigurationOptions ?? throw new ArgumentNullException(nameof(securityConfigurationOptions));
96 this.fileLoggingConfigurationOptions = fileLoggingConfigurationOptions ?? throw new ArgumentNullException(nameof(fileLoggingConfigurationOptions));
97 this.elasticsearchConfigurationOptions = elasticsearchConfigurationOptions ?? throw new ArgumentNullException(nameof(elasticsearchConfigurationOptions));
98 this.internalConfigurationOptions = internalConfigurationOptions ?? throw new ArgumentNullException(nameof(internalConfigurationOptions));
99 }
100 }
101}
Configuration options for the Database.DatabaseContext.
Configuration options pertaining to elasticsearch log storage.
Unstable configuration options used internally by TGS.
Configuration options pertaining to user security.
readonly IOptions< ElasticsearchConfiguration > elasticsearchConfigurationOptions
Backing IOptions<TOptions> for ElasticsearchConfiguration.
readonly IOptions< InternalConfiguration > internalConfigurationOptions
Backing IOptions<TOptions> for InternalConfiguration.
readonly IOptions< FileLoggingConfiguration > fileLoggingConfigurationOptions
Backing IOptions<TOptions> for FileLoggingConfiguration.
PostSetupServices(IPlatformIdentifier platformIdentifier, ILoggerFactory loggerFactory, IOptions< GeneralConfiguration > generalConfigurationOptions, IOptions< DatabaseConfiguration > databaseConfigurationOptions, IOptions< SecurityConfiguration > securityConfigurationOptions, IOptions< FileLoggingConfiguration > fileLoggingConfigurationOptions, IOptions< ElasticsearchConfiguration > elasticsearchConfigurationOptions, IOptions< InternalConfiguration > internalConfigurationOptions)
Initializes a new instance of the PostSetupServices<TLoggerType> class.
readonly IOptions< GeneralConfiguration > generalConfigurationOptions
Backing IOptions<TOptions> for GeneralConfiguration.
readonly IOptions< DatabaseConfiguration > databaseConfigurationOptions
Backing IOptions<TOptions> for DatabaseConfiguration.
ILogger< TLoggerType > Logger
The ILogger.
readonly IOptions< SecurityConfiguration > securityConfigurationOptions
Backing IOptions<TOptions> for SecurityConfiguration.
Set of objects needed to configure an Core.Application.
For identifying the current platform.