From 4c7e82a59ea38515bc479062a03d9aea2342dcb4 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 6 Aug 2019 13:03:13 +0200 Subject: [PATCH] Correct handling of error dto. --- src/Squidex/Areas/Api/Config/OpenApi/ErrorDtoProcessor.cs | 5 +++-- .../Areas/Api/Controllers/Schemas/Models/CreateSchemaDto.cs | 2 +- .../Api/Controllers/Schemas/Models/SynchronizeSchemaDto.cs | 2 +- .../Schemas/Models/{UpsertDto.cs => UpsertSchemaDto.cs} | 4 ++-- 4 files changed, 7 insertions(+), 6 deletions(-) rename src/Squidex/Areas/Api/Controllers/Schemas/Models/{UpsertDto.cs => UpsertSchemaDto.cs} (98%) diff --git a/src/Squidex/Areas/Api/Config/OpenApi/ErrorDtoProcessor.cs b/src/Squidex/Areas/Api/Config/OpenApi/ErrorDtoProcessor.cs index 8a1dabcc0..15c6322d0 100644 --- a/src/Squidex/Areas/Api/Config/OpenApi/ErrorDtoProcessor.cs +++ b/src/Squidex/Areas/Api/Config/OpenApi/ErrorDtoProcessor.cs @@ -7,6 +7,7 @@ using System; using System.Linq; +using Namotion.Reflection; using NJsonSchema; using NSwag; using NSwag.Generation.Processors; @@ -61,9 +62,9 @@ namespace Squidex.Areas.Api.Config.OpenApi private JsonSchema GetErrorSchema(DocumentProcessorContext context) { - var errorType = typeof(ErrorDto); + var errorType = typeof(ErrorDto).ToContextualType(); - return context.SchemaGenerator.Generate(errorType); + return context.SchemaGenerator.GenerateWithReference(errorType, context.SchemaResolver); } } } diff --git a/src/Squidex/Areas/Api/Controllers/Schemas/Models/CreateSchemaDto.cs b/src/Squidex/Areas/Api/Controllers/Schemas/Models/CreateSchemaDto.cs index 8f969a4bb..fa088af3b 100644 --- a/src/Squidex/Areas/Api/Controllers/Schemas/Models/CreateSchemaDto.cs +++ b/src/Squidex/Areas/Api/Controllers/Schemas/Models/CreateSchemaDto.cs @@ -10,7 +10,7 @@ using Squidex.Domain.Apps.Entities.Schemas.Commands; namespace Squidex.Areas.Api.Controllers.Schemas.Models { - public sealed class CreateSchemaDto : UpsertDto + public sealed class CreateSchemaDto : UpsertSchemaDto { /// /// The name of the schema. diff --git a/src/Squidex/Areas/Api/Controllers/Schemas/Models/SynchronizeSchemaDto.cs b/src/Squidex/Areas/Api/Controllers/Schemas/Models/SynchronizeSchemaDto.cs index e2595140a..07118f2ae 100644 --- a/src/Squidex/Areas/Api/Controllers/Schemas/Models/SynchronizeSchemaDto.cs +++ b/src/Squidex/Areas/Api/Controllers/Schemas/Models/SynchronizeSchemaDto.cs @@ -9,7 +9,7 @@ using Squidex.Domain.Apps.Entities.Schemas.Commands; namespace Squidex.Areas.Api.Controllers.Schemas.Models { - public sealed class SynchronizeSchemaDto : UpsertDto + public sealed class SynchronizeSchemaDto : UpsertSchemaDto { /// /// True, when fields should not be deleted. diff --git a/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertDto.cs b/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs similarity index 98% rename from src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertDto.cs rename to src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs index 7c3032b2e..cd753bc9e 100644 --- a/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertDto.cs +++ b/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs @@ -12,7 +12,7 @@ using Squidex.Infrastructure.Reflection; namespace Squidex.Areas.Api.Controllers.Schemas.Models { - public abstract class UpsertDto + public abstract class UpsertSchemaDto { /// /// The optional properties. @@ -44,7 +44,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models /// public bool IsPublished { get; set; } - public static TCommand ToCommand(TDto dto, TCommand command) where TCommand : UpsertCommand where TDto : UpsertDto + public static TCommand ToCommand(TDto dto, TCommand command) where TCommand : UpsertCommand where TDto : UpsertSchemaDto { SimpleMapper.Map(dto, command);