diff --git a/build/Version.props b/build/Version.props index 7cc39eb49a..dc9f5daceb 100644 --- a/build/Version.props +++ b/build/Version.props @@ -2,9 +2,9 @@ - 4.4.4 + 4.4.5 2.0.0 - 7.2.1 + 7.2.3 8.2.0 5.2.3 0.4.0 diff --git a/src/Tgstation.Server.Host/.config/dotnet-tools.json b/src/Tgstation.Server.Host/.config/dotnet-tools.json index d6051bacfe..79d13146a3 100644 --- a/src/Tgstation.Server.Host/.config/dotnet-tools.json +++ b/src/Tgstation.Server.Host/.config/dotnet-tools.json @@ -3,10 +3,10 @@ "isRoot": true, "tools": { "dotnet-ef": { - "version": "3.1.5", + "version": "3.1.7", "commands": [ "dotnet-ef" ] } } -} \ No newline at end of file +} diff --git a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs index a660d927d7..1fc24f9760 100644 --- a/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs +++ b/src/Tgstation.Server.Host/Components/Chat/Providers/DiscordProvider.cs @@ -57,7 +57,7 @@ namespace Tgstation.Server.Host.Components.Chat.Providers /// /// The mention provided by the Discord library /// The normalized mention - static string NormalizeMentions(string fromDiscord) => fromDiscord.Replace(" fromDiscord.Replace("<@!", "<@", StringComparison.Ordinal); /// /// Construct a diff --git a/src/Tgstation.Server.Host/Controllers/AdministrationController.cs b/src/Tgstation.Server.Host/Controllers/AdministrationController.cs index d689416fa9..bb68d12467 100644 --- a/src/Tgstation.Server.Host/Controllers/AdministrationController.cs +++ b/src/Tgstation.Server.Host/Controllers/AdministrationController.cs @@ -374,7 +374,7 @@ namespace Tgstation.Server.Host.Controllers /// An IO error occurred while downloading. [HttpGet(Routes.Logs + "/{*path}")] [TgsAuthorize(AdministrationRights.DownloadLogs)] - [ProducesResponseType(typeof(List), 200)] + [ProducesResponseType(typeof(LogFile), 200)] [ProducesResponseType(typeof(ErrorMessage), 409)] public async Task GetLog(string path, CancellationToken cancellationToken) { diff --git a/src/Tgstation.Server.Host/Core/SwaggerConfiguration.cs b/src/Tgstation.Server.Host/Core/SwaggerConfiguration.cs index 674ba28987..2266298ef6 100644 --- a/src/Tgstation.Server.Host/Core/SwaggerConfiguration.cs +++ b/src/Tgstation.Server.Host/Core/SwaggerConfiguration.cs @@ -128,7 +128,18 @@ namespace Tgstation.Server.Host.Core new OpenApiInfo { Title = "TGS API", - Version = ApiHeaders.Version.Semver().ToString() + Version = ApiHeaders.Version.Semver().ToString(), + License = new OpenApiLicense + { + Name = "AGPL-3.0", + Url = new Uri("https://github.com/tgstation/tgstation-server/blob/dev/LICENSE") + }, + Contact = new OpenApiContact + { + Name = "/tg/station 13", + Url = new Uri("https://github.com/tgstation") + }, + Description = "A production scale tool for BYOND server management" }); // Important to do this before applying our own filters @@ -136,6 +147,9 @@ namespace Tgstation.Server.Host.Core swaggerGenOptions.IncludeXmlComments(assemblyDocumentationPath); swaggerGenOptions.IncludeXmlComments(apiDocumentationPath); + // nullable stuff + swaggerGenOptions.UseAllOfToExtendReferenceSchemas(); + swaggerGenOptions.OperationFilter(); swaggerGenOptions.DocumentFilter(); swaggerGenOptions.SchemaFilter(); @@ -337,15 +351,18 @@ namespace Tgstation.Server.Host.Core // Nothing is required schema.Required.Clear(); - if (!schema.Enum?.Any() ?? false) - return; - // Could be nullable type, make sure to get the right one - Type enumType = context.Type.IsConstructedGenericType + Type nonNullableType = context.Type.IsConstructedGenericType ? context.Type.GenericTypeArguments.First() : context.Type; - OpenApiEnumVarNamesExtension.Apply(schema, enumType); + if (nonNullableType != context.Type) + schema.Nullable = true; + + if (!schema.Enum?.Any() ?? false) + return; + + OpenApiEnumVarNamesExtension.Apply(schema, nonNullableType); } } } diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj index ba065d5aa6..cad2b4d249 100644 --- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj +++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj @@ -48,20 +48,20 @@ - - - + + + all runtime; build; native; contentfiles; analyzers - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -81,12 +81,12 @@ - + - +