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();