using Prefab.Domain.Common; namespace Prefab.Catalog.Domain.Events; public sealed record ProductCreated(Guid ProductId, string Kind, string Name, string? Slug) : Event; public sealed record ProductVariantCreated(Guid ProductId, Guid ParentProductId, string Sku, string Name, decimal Price) : Event; public sealed record ProductPriceChanged(Guid ProductId, decimal? OldPrice, decimal? NewPrice) : Event; public sealed record ProductRenamed(Guid ProductId, string OldName, string NewName) : Event; public sealed record ProductVariantAttached(Guid ParentProductId, Guid VariantProductId) : Event; public sealed record ProductAttributeValueUpserted(Guid ProductId, Guid AttributeDefinitionId) : Event; public sealed record ProductCategoryAssigned(Guid ProductId, Guid CategoryId, bool IsPrimary) : Event; public sealed record ProductCategoryUnassigned(Guid ProductId, Guid CategoryId) : Event;