using Umbraco.Cms.Core.Models.Entities; namespace Umbraco.Cms.Core.Models; /// /// Represents an audited event. /// /// /// /// The free-form details properties can be used to capture relevant infos (for example, /// a user email and identifier) at the time of the audited event, even though they may change /// later on - but we want to keep a track of their value at that time. /// /// /// Depending on audit loggers, these properties can be purely free-form text, or /// contain json serialized objects. /// /// public interface IAuditEntry : IEntity, IRememberBeingDirty { /// /// Gets or sets the identifier of the user triggering the audited event. /// int PerformingUserId { get; set; } /// /// Gets or sets the key of the user triggering the audited event. /// // TODO (V19): Remove the default implementations from this interface. Guid? PerformingUserKey { get => null; set { } } /// /// Gets or sets free-form details about the user triggering the audited event. /// string? PerformingDetails { get; set; } /// /// Gets or sets the IP address or the request triggering the audited event. /// string? PerformingIp { get; set; } /// /// Gets or sets the date and time of the audited event. /// DateTime EventDateUtc { get; set; } /// /// Gets or sets the identifier of the user affected by the audited event. /// /// Not used when no single user is affected by the event. int AffectedUserId { get; set; } /// /// Gets or sets the key of the user affected by the audited event. /// /// Not used when no single user is affected by the event. // TODO (V19): Remove the default implementations from this interface. Guid? AffectedUserKey { get => null; set { } } /// /// Gets or sets free-form details about the entity affected by the audited event. /// /// The entity affected by the event can be another user, a member... string? AffectedDetails { get; set; } /// /// Gets or sets the type of the audited event. /// string? EventType { get; set; } /// /// Gets or sets free-form details about the audited event. /// string? EventDetails { get; set; } }