|
|
@ -7,6 +7,7 @@ |
|
|
|
|
|
|
|
|
using System; |
|
|
using System; |
|
|
using System.Collections.Generic; |
|
|
using System.Collections.Generic; |
|
|
|
|
|
using System.Linq; |
|
|
using Squidex.Infrastructure; |
|
|
using Squidex.Infrastructure; |
|
|
|
|
|
|
|
|
namespace Squidex.Domain.Apps.Core.Schemas |
|
|
namespace Squidex.Domain.Apps.Core.Schemas |
|
|
@ -24,25 +25,22 @@ namespace Squidex.Domain.Apps.Core.Schemas |
|
|
|
|
|
|
|
|
this.typeNameRegistry = typeNameRegistry; |
|
|
this.typeNameRegistry = typeNameRegistry; |
|
|
|
|
|
|
|
|
RegisterField<AssetsFieldProperties>(); |
|
|
var types = typeof(FieldRegistry).Assembly.GetTypes().Where(x => x.BaseType == typeof(FieldProperties)); |
|
|
RegisterField<BooleanFieldProperties>(); |
|
|
|
|
|
RegisterField<DateTimeFieldProperties>(); |
|
|
foreach (var type in types) |
|
|
RegisterField<GeolocationFieldProperties>(); |
|
|
{ |
|
|
RegisterField<JsonFieldProperties>(); |
|
|
RegisterField(type); |
|
|
RegisterField<NumberFieldProperties>(); |
|
|
} |
|
|
RegisterField<ReferencesFieldProperties>(); |
|
|
|
|
|
RegisterField<StringFieldProperties>(); |
|
|
|
|
|
RegisterField<TagsFieldProperties>(); |
|
|
|
|
|
|
|
|
|
|
|
typeNameRegistry.MapObsolete(typeof(ReferencesFieldProperties), "DateTime"); |
|
|
typeNameRegistry.MapObsolete(typeof(ReferencesFieldProperties), "DateTime"); |
|
|
typeNameRegistry.MapObsolete(typeof(DateTimeFieldProperties), "References"); |
|
|
typeNameRegistry.MapObsolete(typeof(DateTimeFieldProperties), "References"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void RegisterField<T>() |
|
|
private void RegisterField(Type type) |
|
|
{ |
|
|
{ |
|
|
typeNameRegistry.Map(typeof(T)); |
|
|
typeNameRegistry.Map(type); |
|
|
|
|
|
|
|
|
fieldsByPropertyType[typeof(T)] = (id, name, partitioning, properties) => properties.CreateField(id, name, partitioning); |
|
|
fieldsByPropertyType[type] = (id, name, partitioning, properties) => properties.CreateField(id, name, partitioning); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public Field CreateField(long id, string name, Partitioning partitioning, FieldProperties properties) |
|
|
public Field CreateField(long id, string name, Partitioning partitioning, FieldProperties properties) |
|
|
|