diff --git a/src/Squidex.Domain.Apps.Core.Model/FodyWeavers.xml b/src/Squidex.Domain.Apps.Core.Model/FodyWeavers.xml
new file mode 100644
index 000000000..0444e1d26
--- /dev/null
+++ b/src/Squidex.Domain.Apps.Core.Model/FodyWeavers.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/Squidex.Infrastructure/Freezable.cs b/src/Squidex.Domain.Apps.Core.Model/Freezable.cs
similarity index 63%
rename from src/Squidex.Infrastructure/Freezable.cs
rename to src/Squidex.Domain.Apps.Core.Model/Freezable.cs
index a71d35175..26bfddb5e 100644
--- a/src/Squidex.Infrastructure/Freezable.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Freezable.cs
@@ -6,16 +6,22 @@
// ==========================================================================
using System;
+using Squidex.Infrastructure;
-namespace Squidex.Infrastructure
+namespace Squidex.Domain.Apps.Core
{
- public abstract class Freezable
+ public abstract class Freezable : IFreezable
{
- public bool IsFrozen { get; private set; }
+ private bool isFrozen;
- protected void ThrowIfFrozen()
+ public bool IsFrozen
{
- if (IsFrozen)
+ get { return isFrozen; }
+ }
+
+ protected void CheckIfFrozen()
+ {
+ if (isFrozen)
{
throw new InvalidOperationException("Object is frozen");
}
@@ -23,7 +29,7 @@ namespace Squidex.Infrastructure
public void Freeze()
{
- IsFrozen = true;
+ isFrozen = true;
}
}
}
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AlgoliaAction.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AlgoliaAction.cs
index e8040e57d..33295be4a 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AlgoliaAction.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AlgoliaAction.cs
@@ -12,51 +12,11 @@ namespace Squidex.Domain.Apps.Core.Rules.Actions
[TypeName(nameof(AlgoliaAction))]
public sealed class AlgoliaAction : RuleAction
{
- private string appId;
- private string apiKey;
- private string indexName;
+ public string AppId { get; set; }
- public string AppId
- {
- get
- {
- return appId;
- }
- set
- {
- ThrowIfFrozen();
-
- appId = value;
- }
- }
-
- public string ApiKey
- {
- get
- {
- return apiKey;
- }
- set
- {
- ThrowIfFrozen();
+ public string ApiKey { get; set; }
- apiKey = value;
- }
- }
-
- public string IndexName
- {
- get
- {
- return indexName;
- }
- set
- {
- ThrowIfFrozen();
-
- indexName = value;
- }
- }
+ public string IndexName { get; set; }
public override T Accept(IRuleActionVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AzureQueueAction.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AzureQueueAction.cs
index 7a55f99c8..fc9178243 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AzureQueueAction.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/AzureQueueAction.cs
@@ -12,36 +12,9 @@ namespace Squidex.Domain.Apps.Core.Rules.Actions
[TypeName(nameof(AzureQueueAction))]
public sealed class AzureQueueAction : RuleAction
{
- private string connectionString;
- private string queue;
+ public string ConnectionString { get; set; }
- public string ConnectionString
- {
- get
- {
- return connectionString;
- }
- set
- {
- ThrowIfFrozen();
-
- connectionString = value;
- }
- }
-
- public string Queue
- {
- get
- {
- return queue;
- }
- set
- {
- ThrowIfFrozen();
-
- queue = value;
- }
- }
+ public string Queue { get; set; }
public override T Accept(IRuleActionVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/SlackAction.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/SlackAction.cs
index 3e39a2ff7..b669fe104 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/SlackAction.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/SlackAction.cs
@@ -13,36 +13,9 @@ namespace Squidex.Domain.Apps.Core.Rules.Actions
[TypeName(nameof(SlackAction))]
public sealed class SlackAction : RuleAction
{
- private Uri webhookUrl;
- private string text;
+ public Uri WebhookUrl { get; set; }
- public Uri WebhookUrl
- {
- get
- {
- return webhookUrl;
- }
- set
- {
- ThrowIfFrozen();
-
- webhookUrl = value;
- }
- }
-
- public string Text
- {
- get
- {
- return text;
- }
- set
- {
- ThrowIfFrozen();
-
- text = value;
- }
- }
+ public string Text { get; set; }
public override T Accept(IRuleActionVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/WebhookAction.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/WebhookAction.cs
index 849c87a6e..30a6c0707 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/WebhookAction.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/Actions/WebhookAction.cs
@@ -13,36 +13,9 @@ namespace Squidex.Domain.Apps.Core.Rules.Actions
[TypeName(nameof(WebhookAction))]
public sealed class WebhookAction : RuleAction
{
- private Uri url;
- private string sharedSecret;
+ public Uri Url { get; set; }
- public Uri Url
- {
- get
- {
- return url;
- }
- set
- {
- ThrowIfFrozen();
-
- url = value;
- }
- }
-
- public string SharedSecret
- {
- get
- {
- return sharedSecret;
- }
- set
- {
- ThrowIfFrozen();
-
- sharedSecret = value;
- }
- }
+ public string SharedSecret { get; set; }
public override T Accept(IRuleActionVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/RuleAction.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/RuleAction.cs
index 02fb9e85d..caaf409d0 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/RuleAction.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/RuleAction.cs
@@ -5,8 +5,6 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
-using Squidex.Infrastructure;
-
namespace Squidex.Domain.Apps.Core.Rules
{
public abstract class RuleAction : Freezable
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/RuleTrigger.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/RuleTrigger.cs
index 1640b81ab..95c1deb0f 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/RuleTrigger.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/RuleTrigger.cs
@@ -5,8 +5,6 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
-using Squidex.Infrastructure;
-
namespace Squidex.Domain.Apps.Core.Rules
{
public abstract class RuleTrigger : Freezable
diff --git a/src/Squidex.Domain.Apps.Core.Model/Rules/Triggers/ContentChangedTrigger.cs b/src/Squidex.Domain.Apps.Core.Model/Rules/Triggers/ContentChangedTrigger.cs
index 2ad2d5110..b390fba25 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Rules/Triggers/ContentChangedTrigger.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Rules/Triggers/ContentChangedTrigger.cs
@@ -13,21 +13,7 @@ namespace Squidex.Domain.Apps.Core.Rules.Triggers
[TypeName(nameof(ContentChangedTrigger))]
public sealed class ContentChangedTrigger : RuleTrigger
{
- private ImmutableList schemas;
-
- public ImmutableList Schemas
- {
- get
- {
- return schemas;
- }
- set
- {
- ThrowIfFrozen();
-
- schemas = value;
- }
- }
+ public ImmutableList Schemas { get; set; }
public override T Accept(IRuleTriggerVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/AssetsFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/AssetsFieldProperties.cs
index 022890352..d3ed6270a 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/AssetsFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/AssetsFieldProperties.cs
@@ -13,186 +13,29 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(AssetsField))]
public sealed class AssetsFieldProperties : FieldProperties
{
- private bool mustBeImage;
- private int? minItems;
- private int? maxItems;
- private int? minWidth;
- private int? maxWidth;
- private int? minHeight;
- private int? maxHeight;
- private int? minSize;
- private int? maxSize;
- private int? aspectWidth;
- private int? aspectHeight;
- private ImmutableList allowedExtensions;
+ public bool MustBeImage { get; set; }
- public bool MustBeImage
- {
- get
- {
- return mustBeImage;
- }
- set
- {
- ThrowIfFrozen();
+ public int? MinItems { get; set; }
- mustBeImage = value;
- }
- }
+ public int? MaxItems { get; set; }
- public int? MinItems
- {
- get
- {
- return minItems;
- }
- set
- {
- ThrowIfFrozen();
+ public int? MinWidth { get; set; }
- minItems = value;
- }
- }
+ public int? MaxWidth { get; set; }
- public int? MaxItems
- {
- get
- {
- return maxItems;
- }
- set
- {
- ThrowIfFrozen();
+ public int? MinHeight { get; set; }
- maxItems = value;
- }
- }
+ public int? MaxHeight { get; set; }
- public int? MinWidth
- {
- get
- {
- return minWidth;
- }
- set
- {
- ThrowIfFrozen();
+ public int? MinSize { get; set; }
- minWidth = value;
- }
- }
+ public int? MaxSize { get; set; }
- public int? MaxWidth
- {
- get
- {
- return maxWidth;
- }
- set
- {
- ThrowIfFrozen();
+ public int? AspectWidth { get; set; }
- maxWidth = value;
- }
- }
+ public int? AspectHeight { get; set; }
- public int? MinHeight
- {
- get
- {
- return minHeight;
- }
- set
- {
- ThrowIfFrozen();
-
- minHeight = value;
- }
- }
-
- public int? MaxHeight
- {
- get
- {
- return maxHeight;
- }
- set
- {
- ThrowIfFrozen();
-
- maxHeight = value;
- }
- }
-
- public int? MinSize
- {
- get
- {
- return minSize;
- }
- set
- {
- ThrowIfFrozen();
-
- minSize = value;
- }
- }
-
- public int? MaxSize
- {
- get
- {
- return maxSize;
- }
- set
- {
- ThrowIfFrozen();
-
- maxSize = value;
- }
- }
-
- public int? AspectWidth
- {
- get
- {
- return aspectWidth;
- }
- set
- {
- ThrowIfFrozen();
-
- aspectWidth = value;
- }
- }
-
- public int? AspectHeight
- {
- get
- {
- return aspectHeight;
- }
- set
- {
- ThrowIfFrozen();
-
- aspectHeight = value;
- }
- }
-
- public ImmutableList AllowedExtensions
- {
- get
- {
- return allowedExtensions;
- }
- set
- {
- ThrowIfFrozen();
-
- allowedExtensions = value;
- }
- }
+ public ImmutableList AllowedExtensions { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/BooleanFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/BooleanFieldProperties.cs
index 06c2f2fe8..2785eceba 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/BooleanFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/BooleanFieldProperties.cs
@@ -12,36 +12,9 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(BooleanField))]
public sealed class BooleanFieldProperties : FieldProperties
{
- private BooleanFieldEditor editor;
- private bool? defaultValue;
+ public bool? DefaultValue { get; set; }
- public bool? DefaultValue
- {
- get
- {
- return defaultValue;
- }
- set
- {
- ThrowIfFrozen();
-
- defaultValue = value;
- }
- }
-
- public BooleanFieldEditor Editor
- {
- get
- {
- return editor;
- }
- set
- {
- ThrowIfFrozen();
-
- editor = value;
- }
- }
+ public BooleanFieldEditor Editor { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/DateTimeFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/DateTimeFieldProperties.cs
index 6456e9604..8dcdd85d5 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/DateTimeFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/DateTimeFieldProperties.cs
@@ -13,81 +13,15 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(DateTimeField))]
public sealed class DateTimeFieldProperties : FieldProperties
{
- private DateTimeFieldEditor editor;
- private DateTimeCalculatedDefaultValue? calculatedDefaultValue;
- private Instant? maxValue;
- private Instant? minValue;
- private Instant? defaultValue;
+ public Instant? MaxValue { get; set; }
- public Instant? MaxValue
- {
- get
- {
- return maxValue;
- }
- set
- {
- ThrowIfFrozen();
-
- maxValue = value;
- }
- }
-
- public Instant? MinValue
- {
- get
- {
- return minValue;
- }
- set
- {
- ThrowIfFrozen();
-
- minValue = value;
- }
- }
-
- public Instant? DefaultValue
- {
- get
- {
- return defaultValue;
- }
- set
- {
- ThrowIfFrozen();
-
- defaultValue = value;
- }
- }
-
- public DateTimeCalculatedDefaultValue? CalculatedDefaultValue
- {
- get
- {
- return calculatedDefaultValue;
- }
- set
- {
- ThrowIfFrozen();
+ public Instant? MinValue { get; set; }
- calculatedDefaultValue = value;
- }
- }
+ public Instant? DefaultValue { get; set; }
- public DateTimeFieldEditor Editor
- {
- get
- {
- return editor;
- }
- set
- {
- ThrowIfFrozen();
+ public DateTimeCalculatedDefaultValue? CalculatedDefaultValue { get; set; }
- editor = value;
- }
- }
+ public DateTimeFieldEditor Editor { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldProperties.cs
index 3c0fc63f2..3820bd6c5 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/FieldProperties.cs
@@ -9,51 +9,11 @@ namespace Squidex.Domain.Apps.Core.Schemas
{
public abstract class FieldProperties : NamedElementPropertiesBase
{
- private bool isRequired;
- private bool isListField;
- private string placeholder;
+ public bool IsRequired { get; set; }
- public bool IsRequired
- {
- get
- {
- return isRequired;
- }
- set
- {
- ThrowIfFrozen();
+ public bool IsListField { get; set; }
- isRequired = value;
- }
- }
-
- public bool IsListField
- {
- get
- {
- return isListField;
- }
- set
- {
- ThrowIfFrozen();
-
- isListField = value;
- }
- }
-
- public string Placeholder
- {
- get
- {
- return placeholder;
- }
- set
- {
- ThrowIfFrozen();
-
- placeholder = value;
- }
- }
+ public string Placeholder { get; set; }
public abstract T Accept(IFieldPropertiesVisitor visitor);
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/GeolocationFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/GeolocationFieldProperties.cs
index 985f75b5a..4cc7b239b 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/GeolocationFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/GeolocationFieldProperties.cs
@@ -12,21 +12,7 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(GeolocationField))]
public sealed class GeolocationFieldProperties : FieldProperties
{
- private GeolocationFieldEditor editor;
-
- public GeolocationFieldEditor Editor
- {
- get
- {
- return editor;
- }
- set
- {
- ThrowIfFrozen();
-
- editor = value;
- }
- }
+ public GeolocationFieldEditor Editor { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/NamedElementPropertiesBase.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/NamedElementPropertiesBase.cs
index f4f1b7497..9b3b92aba 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/NamedElementPropertiesBase.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/NamedElementPropertiesBase.cs
@@ -5,41 +5,12 @@
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
-using Squidex.Infrastructure;
-
namespace Squidex.Domain.Apps.Core.Schemas
{
public abstract class NamedElementPropertiesBase : Freezable
{
- private string label;
- private string hints;
-
- public string Label
- {
- get
- {
- return label;
- }
- set
- {
- ThrowIfFrozen();
-
- label = value;
- }
- }
-
- public string Hints
- {
- get
- {
- return hints;
- }
- set
- {
- ThrowIfFrozen();
+ public string Label { get; set; }
- hints = value;
- }
- }
+ public string Hints { get; set; }
}
}
\ No newline at end of file
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/NumberFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/NumberFieldProperties.cs
index cf6107222..8b0b02ec7 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/NumberFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/NumberFieldProperties.cs
@@ -13,81 +13,15 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(NumberField))]
public sealed class NumberFieldProperties : FieldProperties
{
- private double? maxValue;
- private double? minValue;
- private double? defaultValue;
- private ImmutableList allowedValues;
- private NumberFieldEditor editor;
+ public double? MaxValue { get; set; }
- public double? MaxValue
- {
- get
- {
- return maxValue;
- }
- set
- {
- ThrowIfFrozen();
-
- maxValue = value;
- }
- }
-
- public double? MinValue
- {
- get
- {
- return minValue;
- }
- set
- {
- ThrowIfFrozen();
-
- minValue = value;
- }
- }
-
- public double? DefaultValue
- {
- get
- {
- return defaultValue;
- }
- set
- {
- ThrowIfFrozen();
-
- defaultValue = value;
- }
- }
-
- public ImmutableList AllowedValues
- {
- get
- {
- return allowedValues;
- }
- set
- {
- ThrowIfFrozen();
+ public double? MinValue { get; set; }
- allowedValues = value;
- }
- }
+ public double? DefaultValue { get; set; }
- public NumberFieldEditor Editor
- {
- get
- {
- return editor;
- }
- set
- {
- ThrowIfFrozen();
+ public ImmutableList AllowedValues { get; set; }
- editor = value;
- }
- }
+ public NumberFieldEditor Editor { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/ReferencesFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/ReferencesFieldProperties.cs
index 368ec7a2b..cc3740bda 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/ReferencesFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/ReferencesFieldProperties.cs
@@ -13,51 +13,11 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(ReferencesField))]
public sealed class ReferencesFieldProperties : FieldProperties
{
- private int? minItems;
- private int? maxItems;
- private Guid schemaId;
+ public int? MinItems { get; set; }
- public int? MinItems
- {
- get
- {
- return minItems;
- }
- set
- {
- ThrowIfFrozen();
-
- minItems = value;
- }
- }
-
- public int? MaxItems
- {
- get
- {
- return maxItems;
- }
- set
- {
- ThrowIfFrozen();
+ public int? MaxItems { get; set; }
- maxItems = value;
- }
- }
-
- public Guid SchemaId
- {
- get
- {
- return schemaId;
- }
- set
- {
- ThrowIfFrozen();
-
- schemaId = value;
- }
- }
+ public Guid SchemaId { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/StringFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/StringFieldProperties.cs
index 1129c646b..1c0313c9e 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/StringFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/StringFieldProperties.cs
@@ -13,111 +13,19 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(StringField))]
public sealed class StringFieldProperties : FieldProperties
{
- private int? minLength;
- private int? maxLength;
- private string pattern;
- private string patternMessage;
- private string defaultValue;
- private ImmutableList allowedValues;
- private StringFieldEditor editor;
+ public int? MinLength { get; set; }
- public int? MinLength
- {
- get
- {
- return minLength;
- }
- set
- {
- ThrowIfFrozen();
-
- minLength = value;
- }
- }
-
- public int? MaxLength
- {
- get
- {
- return maxLength;
- }
- set
- {
- ThrowIfFrozen();
-
- maxLength = value;
- }
- }
-
- public string DefaultValue
- {
- get
- {
- return defaultValue;
- }
- set
- {
- ThrowIfFrozen();
-
- defaultValue = value;
- }
- }
+ public int? MaxLength { get; set; }
- public string Pattern
- {
- get
- {
- return pattern;
- }
- set
- {
- ThrowIfFrozen();
-
- pattern = value;
- }
- }
+ public string DefaultValue { get; set; }
- public string PatternMessage
- {
- get
- {
- return patternMessage;
- }
- set
- {
- ThrowIfFrozen();
+ public string Pattern { get; set; }
- patternMessage = value;
- }
- }
+ public string PatternMessage { get; set; }
- public ImmutableList AllowedValues
- {
- get
- {
- return allowedValues;
- }
- set
- {
- ThrowIfFrozen();
+ public ImmutableList AllowedValues { get; set; }
- allowedValues = value;
- }
- }
-
- public StringFieldEditor Editor
- {
- get
- {
- return editor;
- }
- set
- {
- ThrowIfFrozen();
-
- editor = value;
- }
- }
+ public StringFieldEditor Editor { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Schemas/TagsFieldProperties.cs b/src/Squidex.Domain.Apps.Core.Model/Schemas/TagsFieldProperties.cs
index ab4e3b305..a87e2fd44 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Schemas/TagsFieldProperties.cs
+++ b/src/Squidex.Domain.Apps.Core.Model/Schemas/TagsFieldProperties.cs
@@ -12,36 +12,9 @@ namespace Squidex.Domain.Apps.Core.Schemas
[TypeName(nameof(TagsField))]
public sealed class TagsFieldProperties : FieldProperties
{
- private int? minItems;
- private int? maxItems;
+ public int? MinItems { get; set; }
- public int? MinItems
- {
- get
- {
- return minItems;
- }
- set
- {
- ThrowIfFrozen();
-
- minItems = value;
- }
- }
-
- public int? MaxItems
- {
- get
- {
- return maxItems;
- }
- set
- {
- ThrowIfFrozen();
-
- maxItems = value;
- }
- }
+ public int? MaxItems { get; set; }
public override T Accept(IFieldPropertiesVisitor visitor)
{
diff --git a/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj b/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj
index 701e56aa9..d7926348a 100644
--- a/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj
+++ b/src/Squidex.Domain.Apps.Core.Model/Squidex.Domain.Apps.Core.Model.csproj
@@ -8,6 +8,8 @@
True
+
+
diff --git a/src/Squidex.Infrastructure/IFreezable.cs b/src/Squidex.Infrastructure/IFreezable.cs
new file mode 100644
index 000000000..c7095fccd
--- /dev/null
+++ b/src/Squidex.Infrastructure/IFreezable.cs
@@ -0,0 +1,14 @@
+// ==========================================================================
+// Squidex Headless CMS
+// ==========================================================================
+// Copyright (c) Squidex UG (haftungsbeschraenkt)
+// All rights reserved. Licensed under the MIT license.
+// ==========================================================================
+
+namespace Squidex.Infrastructure
+{
+ public interface IFreezable
+ {
+ void Freeze();
+ }
+}
diff --git a/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/SchemaTests.cs b/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/SchemaTests.cs
index 65f272f9e..ef38ea0c5 100644
--- a/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/SchemaTests.cs
+++ b/tests/Squidex.Domain.Apps.Core.Tests/Model/Schemas/SchemaTests.cs
@@ -26,7 +26,6 @@ namespace Squidex.Domain.Apps.Core.Model.Schemas
[Fact]
public void Should_instantiate_schema()
{
- Assert.True(schema_0.Properties.IsFrozen);
Assert.Equal("my-schema", schema_0.Name);
}
diff --git a/tests/Squidex.Domain.Apps.Core.Tests/TestData.cs b/tests/Squidex.Domain.Apps.Core.Tests/TestData.cs
index a4bc9a133..988a2d483 100644
--- a/tests/Squidex.Domain.Apps.Core.Tests/TestData.cs
+++ b/tests/Squidex.Domain.Apps.Core.Tests/TestData.cs
@@ -101,7 +101,7 @@ namespace Squidex.Domain.Apps.Core
return schema;
}
- public static void TestFreeze(Freezable freezable)
+ public static void TestFreeze(IFreezable freezable)
{
var sut = new AssetsFieldProperties();