From 0fd0bd924faa64cde5846fcb87bc5de33f29b076 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 24 Apr 2020 21:40:23 +0200 Subject: [PATCH] Getting rid of field names in API. --- .../Schemas/Models/ConfigureUIFieldsDto.cs | 20 +++++++++++++++---- .../Schemas/Models/SchemaDetailsDto.cs | 9 ++++++--- .../Schemas/Models/UpsertSchemaDto.cs | 14 +++++++++++-- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/ConfigureUIFieldsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/ConfigureUIFieldsDto.cs index 2fd9bf8f2..32fd97b54 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/ConfigureUIFieldsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/ConfigureUIFieldsDto.cs @@ -5,9 +5,9 @@ // All rights reserved. Licensed under the MIT license. // ========================================================================== +using System.Collections.Generic; using Squidex.Domain.Apps.Core.Schemas; using Squidex.Domain.Apps.Entities.Schemas.Commands; -using Squidex.Infrastructure.Reflection; namespace Squidex.Areas.Api.Controllers.Schemas.Models { @@ -16,16 +16,28 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models /// /// The name of fields that are used in content lists. /// - public FieldNames? FieldsInLists { get; set; } + public List? FieldsInLists { get; set; } /// /// The name of fields that are used in content references. /// - public FieldNames? FieldsInReferences { get; set; } + public List? FieldsInReferences { get; set; } public ConfigureUIFields ToCommand() { - return SimpleMapper.Map(this, new ConfigureUIFields()); + var command = new ConfigureUIFields(); + + if (FieldsInLists != null) + { + command.FieldsInLists = new FieldNames(FieldsInLists); + } + + if (FieldsInReferences != null) + { + command.FieldsInReferences = new FieldNames(FieldsInReferences); + } + + return command; } } } diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDetailsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDetailsDto.cs index a1d9eca59..c834b2a2d 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDetailsDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDetailsDto.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; -using Squidex.Domain.Apps.Core.Schemas; +using System.Linq; using Squidex.Domain.Apps.Entities.Schemas; using Squidex.Infrastructure.Reflection; using Squidex.Shared; @@ -35,13 +35,13 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models /// The name of fields that are used in content lists. /// [Required] - public FieldNames FieldsInLists { get; set; } + public List FieldsInLists { get; set; } /// /// The name of fields that are used in content references. /// [Required] - public FieldNames FieldsInReferences { get; set; } + public List FieldsInReferences { get; set; } /// /// The list of fields. @@ -58,6 +58,9 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models SimpleMapper.Map(schema.SchemaDef.Scripts, result.Scripts); SimpleMapper.Map(schema.SchemaDef.Properties, result.Properties); + result.FieldsInLists = schema.SchemaDef.FieldsInLists.ToList(); + result.FieldsInReferences = schema.SchemaDef.FieldsInReferences.ToList(); + if (schema.SchemaDef.PreviewUrls.Count > 0) { result.PreviewUrls = new Dictionary(schema.SchemaDef.PreviewUrls); diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs index 131c514f0..eb6fe9400 100644 --- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs +++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpsertSchemaDto.cs @@ -27,12 +27,12 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models /// /// The names of the fields that should be used in references. /// - public FieldNames? FieldsInReferences { get; set; } + public List? FieldsInReferences { get; set; } /// /// The names of the fields that should be shown in lists, including meta fields. /// - public FieldNames? FieldsInLists { get; set; } + public List? FieldsInLists { get; set; } /// /// Optional fields. @@ -72,6 +72,16 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models SimpleMapper.Map(dto.Scripts, command.Scripts); } + if (dto.FieldsInLists != null) + { + command.FieldsInLists = new FieldNames(dto.FieldsInLists); + } + + if (dto.FieldsInReferences != null) + { + command.FieldsInReferences = new FieldNames(dto.FieldsInReferences); + } + if (dto.Fields != null) { command.Fields = new List();