// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using System; using System.Collections.Generic; using Squidex.Domain.Apps.Core.Apps; using Squidex.Domain.Apps.Entities.Apps.DomainObject; using Squidex.Domain.Apps.Events; using Squidex.Domain.Apps.Events.Apps; using Squidex.Infrastructure; using Squidex.Infrastructure.Collections; using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.Reflection; namespace Migrations.OldEvents { [EventType(nameof(AppPatternAdded))] [Obsolete("New Event introduced")] public sealed class AppPatternAdded : AppEvent, IMigratedStateEvent { public DomainId PatternId { get; set; } public string Name { get; set; } public string Pattern { get; set; } public string? Message { get; set; } public IEvent Migrate(AppDomainObject.State state) { var newSettings = new AppSettings { Patterns = new List(state.Settings.Patterns) { new Pattern(Name, Pattern) { Message = Message } }.ToReadOnlyCollection(), Editors = state.Settings.Editors }; var newEvent = new AppSettingsUpdated { Settings = newSettings }; return SimpleMapper.Map(this, newEvent); } } }