|
|
@ -163,21 +163,21 @@ namespace Squidex.Domain.Apps.Read.State.Orleans.Grains.Implementations |
|
|
case RuleCreated @event: |
|
|
case RuleCreated @event: |
|
|
Rules[@event.RuleId] = EntityMapper.Create<JsonRuleEntity>(@event, envelope.Headers, r => |
|
|
Rules[@event.RuleId] = EntityMapper.Create<JsonRuleEntity>(@event, envelope.Headers, r => |
|
|
{ |
|
|
{ |
|
|
r.Rule = RuleEventDispatcher.Create(@event); |
|
|
r.RuleDef = RuleEventDispatcher.Create(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case RuleUpdated @event: |
|
|
case RuleUpdated @event: |
|
|
UpdateRule(envelope, r => |
|
|
UpdateRule(envelope, r => |
|
|
{ |
|
|
{ |
|
|
r.Rule.Apply(@event); |
|
|
r.RuleDef = r.RuleDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case RuleEnabled @event: |
|
|
case RuleEnabled @event: |
|
|
UpdateRule(envelope, r => |
|
|
UpdateRule(envelope, r => |
|
|
{ |
|
|
{ |
|
|
r.Rule.Apply(@event); |
|
|
r.RuleDef = r.RuleDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
@ -197,84 +197,84 @@ namespace Squidex.Domain.Apps.Read.State.Orleans.Grains.Implementations |
|
|
case FieldAdded @event: |
|
|
case FieldAdded @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event, registry); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event, registry); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldDeleted @event: |
|
|
case FieldDeleted @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldLocked @event: |
|
|
case FieldLocked @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldHidden @event: |
|
|
case FieldHidden @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldShown @event: |
|
|
case FieldShown @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldDisabled @event: |
|
|
case FieldDisabled @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldEnabled @event: |
|
|
case FieldEnabled @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case FieldUpdated @event: |
|
|
case FieldUpdated @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case SchemaFieldsReordered @event: |
|
|
case SchemaFieldsReordered @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case SchemaUpdated @event: |
|
|
case SchemaUpdated @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case SchemaPublished @event: |
|
|
case SchemaPublished @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
s.SchemaDef = s.SchemaDef.Apply(@event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
case ScriptsConfigured @event: |
|
|
case ScriptsConfigured @event: |
|
|
UpdateSchema(envelope, s => |
|
|
UpdateSchema(envelope, s => |
|
|
{ |
|
|
{ |
|
|
s.SchemaDef.Apply(@event); |
|
|
SimpleMapper.Map(s, @event); |
|
|
}); |
|
|
}); |
|
|
break; |
|
|
break; |
|
|
|
|
|
|
|
|
@ -308,14 +308,14 @@ namespace Squidex.Domain.Apps.Read.State.Orleans.Grains.Implementations |
|
|
{ |
|
|
{ |
|
|
var e = envelope.To<RuleEvent>(); |
|
|
var e = envelope.To<RuleEvent>(); |
|
|
|
|
|
|
|
|
Rules[e.Payload.RuleId].Update(e.Payload, e.Headers, updater); |
|
|
Rules[e.Payload.RuleId].Clone().Update(e.Payload, e.Headers, updater); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void UpdateSchema(Envelope<IEvent> envelope, Action<JsonSchemaEntity> updater = null) |
|
|
private void UpdateSchema(Envelope<IEvent> envelope, Action<JsonSchemaEntity> updater = null) |
|
|
{ |
|
|
{ |
|
|
var e = envelope.To<SchemaEvent>(); |
|
|
var e = envelope.To<SchemaEvent>(); |
|
|
|
|
|
|
|
|
Schemas[e.Payload.SchemaId.Id].Copy().Update(e.Payload, e.Headers, updater); |
|
|
Schemas[e.Payload.SchemaId.Id].Clone().Update(e.Payload, e.Headers, updater); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |