diff --git a/src/Squidex.Domain.Apps.Core/Schemas/Field.cs b/src/Squidex.Domain.Apps.Core/Schemas/Field.cs index 27842bf89..498601735 100644 --- a/src/Squidex.Domain.Apps.Core/Schemas/Field.cs +++ b/src/Squidex.Domain.Apps.Core/Schemas/Field.cs @@ -182,7 +182,7 @@ namespace Squidex.Domain.Apps.Core.Schemas partitionObject.Properties.Add(partitionItem.Key, partitionItemProperty); } - partitionProperty.SchemaReference = schemaResolver($"{schemaName}{Name.ToPascalCase()}Property", partitionObject); + partitionProperty.Reference = schemaResolver($"{schemaName}{Name.ToPascalCase()}Property", partitionObject); schema.Properties.Add(Name, partitionProperty); } diff --git a/src/Squidex.Domain.Apps.Core/Schemas/GeolocationField.cs b/src/Squidex.Domain.Apps.Core/Schemas/GeolocationField.cs index e7087a7b2..632afc697 100644 --- a/src/Squidex.Domain.Apps.Core/Schemas/GeolocationField.cs +++ b/src/Squidex.Domain.Apps.Core/Schemas/GeolocationField.cs @@ -83,7 +83,7 @@ namespace Squidex.Domain.Apps.Core.Schemas var schemaReference = schemaResolver("GeolocationDto", geolocationSchema); - jsonProperty.SchemaReference = schemaReference; + jsonProperty.Reference = schemaReference; } protected override IEdmTypeReference CreateEdmType() diff --git a/src/Squidex.Domain.Apps.Core/Schemas/StringField.cs b/src/Squidex.Domain.Apps.Core/Schemas/StringField.cs index a6ad02818..904d0618d 100644 --- a/src/Squidex.Domain.Apps.Core/Schemas/StringField.cs +++ b/src/Squidex.Domain.Apps.Core/Schemas/StringField.cs @@ -66,7 +66,7 @@ namespace Squidex.Domain.Apps.Core.Schemas if (Properties.AllowedValues != null) { - jsonProperty.EnumerationNames = new Collection(Properties.AllowedValues); + jsonProperty.EnumerationNames = new Collection(Properties.AllowedValues.ToList()); } } diff --git a/src/Squidex.Domain.Apps.Core/Squidex.Domain.Apps.Core.csproj b/src/Squidex.Domain.Apps.Core/Squidex.Domain.Apps.Core.csproj index 6d18bc693..173bd74ac 100644 --- a/src/Squidex.Domain.Apps.Core/Squidex.Domain.Apps.Core.csproj +++ b/src/Squidex.Domain.Apps.Core/Squidex.Domain.Apps.Core.csproj @@ -13,7 +13,7 @@ - + diff --git a/src/Squidex.Domain.Apps.Read/Contents/JsonSchema/ContentSchemaBuilder.cs b/src/Squidex.Domain.Apps.Read/Contents/JsonSchema/ContentSchemaBuilder.cs index 53bf05ae9..859861172 100644 --- a/src/Squidex.Domain.Apps.Read/Contents/JsonSchema/ContentSchemaBuilder.cs +++ b/src/Squidex.Domain.Apps.Read/Contents/JsonSchema/ContentSchemaBuilder.cs @@ -41,7 +41,7 @@ namespace Squidex.Domain.Apps.Read.Contents.JsonSchema private static JsonProperty CreateProperty(string description, JsonSchema4 dataSchema) { - return new JsonProperty { Description = description, IsRequired = true, Type = JsonObjectType.Object, SchemaReference = dataSchema }; + return new JsonProperty { Description = description, IsRequired = true, Type = JsonObjectType.Object, Reference = dataSchema }; } private static JsonProperty CreateProperty(string description, JsonObjectType type) diff --git a/src/Squidex.Domain.Apps.Read/Squidex.Domain.Apps.Read.csproj b/src/Squidex.Domain.Apps.Read/Squidex.Domain.Apps.Read.csproj index 18200eb29..951f9fcbe 100644 --- a/src/Squidex.Domain.Apps.Read/Squidex.Domain.Apps.Read.csproj +++ b/src/Squidex.Domain.Apps.Read/Squidex.Domain.Apps.Read.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Squidex/Config/Swagger/XmlResponseTypesProcessor.cs b/src/Squidex/Config/Swagger/XmlResponseTypesProcessor.cs index 14a3e1a4f..07a5d3c36 100644 --- a/src/Squidex/Config/Swagger/XmlResponseTypesProcessor.cs +++ b/src/Squidex/Config/Swagger/XmlResponseTypesProcessor.cs @@ -65,7 +65,7 @@ namespace Squidex.Config.Swagger return; } - operation.AddResponse("500", "Operation failed", await context.SwaggerGenerator.GetErrorDtoSchemaAsync()); + operation.AddResponse("500", "Operation failed", await context.SchemaGenerator.GetErrorDtoSchemaAsync(context.SchemaResolver)); } private static void RemoveOkResponse(SwaggerOperation operation) diff --git a/src/Squidex/Controllers/ContentApi/Generator/SchemasSwaggerGenerator.cs b/src/Squidex/Controllers/ContentApi/Generator/SchemasSwaggerGenerator.cs index a4fd83c81..73db22b1b 100644 --- a/src/Squidex/Controllers/ContentApi/Generator/SchemasSwaggerGenerator.cs +++ b/src/Squidex/Controllers/ContentApi/Generator/SchemasSwaggerGenerator.cs @@ -70,7 +70,7 @@ namespace Squidex.Controllers.ContentApi.Generator { const string errorDescription = "Operation failed with internal server error."; - var errorDtoSchema = await swaggerGenerator.GetErrorDtoSchemaAsync(); + var errorDtoSchema = await schemaGenerator.GetErrorDtoSchemaAsync(schemaResolver); foreach (var operation in document.Paths.Values.SelectMany(x => x.Values)) { @@ -82,7 +82,7 @@ namespace Squidex.Controllers.ContentApi.Generator { name = char.ToUpperInvariant(name[0]) + name.Substring(1); - return new JsonSchema4 { SchemaReference = document.Definitions.GetOrAdd(name, x => schema) }; + return new JsonSchema4 { Reference = document.Definitions.GetOrAdd(name, x => schema) }; } } } diff --git a/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs b/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs index bdc218da7..4992dbfa6 100644 --- a/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs +++ b/src/Squidex/Pipeline/Swagger/SwaggerHelper.cs @@ -9,12 +9,13 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using System.Reflection; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using NJsonSchema; +using NJsonSchema.Generation; using NSwag; -using NSwag.SwaggerGeneration; using Squidex.Config; using Squidex.Controllers.Api; using Squidex.Shared.Identity; @@ -105,11 +106,11 @@ namespace Squidex.Pipeline.Swagger return result; } - public static async Task GetErrorDtoSchemaAsync(this SwaggerGenerator swaggerGenerator) + public static async Task GetErrorDtoSchemaAsync(this JsonSchemaGenerator schemaGenerator, JsonSchemaResolver resolver) { var errorType = typeof(ErrorDto); - return await swaggerGenerator.GenerateAndAppendSchemaFromTypeAsync(errorType, false, null); + return await schemaGenerator.GenerateWithReference(errorType, Enumerable.Empty(), resolver); } public static void AddQueryParameter(this SwaggerOperation operation, string name, JsonObjectType type, string description = null) diff --git a/src/Squidex/Squidex.csproj b/src/Squidex/Squidex.csproj index 1c427c432..42644440c 100644 --- a/src/Squidex/Squidex.csproj +++ b/src/Squidex/Squidex.csproj @@ -70,15 +70,15 @@ - + - + - + - + diff --git a/tests/RunCoverage.ps1 b/tests/RunCoverage.ps1 index f5e3bbc76..f4ca4acfd 100644 --- a/tests/RunCoverage.ps1 +++ b/tests/RunCoverage.ps1 @@ -76,6 +76,6 @@ if ($all -Or $users) { -oldStyle } -&"$folderHome\.nuget\packages\ReportGenerator\2.5.11\tools\ReportGenerator.exe" ` +&"$folderHome\.nuget\packages\ReportGenerator\3.0.0\tools\ReportGenerator.exe" ` -reports:"$folderWorking\$folderReports\*.xml" ` -targetdir:"$folderWorking\$folderReports\Output" \ No newline at end of file diff --git a/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj b/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj index fbfbec33b..80b481942 100644 --- a/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj +++ b/tests/Squidex.Domain.Apps.Core.Tests/Squidex.Domain.Apps.Core.Tests.csproj @@ -11,7 +11,7 @@ - +