Browse Source

Solved problem with importing singleton schemas with validations.

pull/329/head
Sebastian Stehle 7 years ago
parent
commit
d6e9740bab
  1. 2
      src/Squidex.Domain.Apps.Entities/Contents/Commands/CreateContent.cs
  2. 6
      src/Squidex.Domain.Apps.Entities/Contents/ContentGrain.cs
  3. 2
      src/Squidex.Domain.Apps.Entities/Contents/SingletonCommandMiddleware.cs
  4. 4
      src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs

2
src/Squidex.Domain.Apps.Entities/Contents/Commands/CreateContent.cs

@ -18,6 +18,8 @@ namespace Squidex.Domain.Apps.Entities.Contents.Commands
public bool Publish { get; set; }
public bool DoNotValidate { get; set; }
public CreateContent()
{
ContentId = Guid.NewGuid();

6
src/Squidex.Domain.Apps.Entities/Contents/ContentGrain.cs

@ -68,7 +68,11 @@ namespace Squidex.Domain.Apps.Entities.Contents
await ctx.ExecuteScriptAndTransformAsync(x => x.ScriptCreate, "Create", c, c.Data);
await ctx.EnrichAsync(c.Data);
await ctx.ValidateAsync(c.Data);
if (!c.DoNotValidate)
{
await ctx.ValidateAsync(c.Data);
}
if (c.Publish)
{

2
src/Squidex.Domain.Apps.Entities/Contents/SingletonCommandMiddleware.cs

@ -31,7 +31,7 @@ namespace Squidex.Domain.Apps.Entities.Contents
var data = new NamedContentData();
var contentId = schemaId.Id;
var content = new CreateContent { Data = data, ContentId = contentId, SchemaId = schemaId };
var content = new CreateContent { Data = data, ContentId = contentId, SchemaId = schemaId, DoNotValidate = true };
SimpleMapper.Map(createSchema, content);

4
src/Squidex.Domain.Apps.Entities/Contents/State/ContentState.cs

@ -86,14 +86,14 @@ namespace Squidex.Domain.Apps.Entities.Contents.State
protected void On(ContentStatusChanged @event)
{
ScheduleJob = null;
IsPending = false;
Status = @event.Status;
if (@event.Status == Status.Published)
{
Data = DataDraft;
}
IsPending = false;
}
protected void On(ContentSchedulingCancelled @event)

Loading…
Cancel
Save