using Prefab.Domain.Common;
namespace Prefab.Data.Entities;
///
/// Represents an audit log entry that captures an entity state transition.
///
public class AuditLog : Entity, ICreated
{
///
/// Gets or sets the correlation identifier tying related audit events together.
///
public Guid CorrelationId { get; set; }
///
/// Gets or sets the fully qualified entity name that generated the audit record.
///
public string Entity { get; set; } = string.Empty;
///
/// Gets or sets the serialized state of the entity when the audit was captured.
///
public string State { get; set; } = string.Empty;
///
/// Gets or sets the collection of field-level changes associated with the audit.
///
public virtual ICollection Items { get; set; } = new List();
///
/// Gets or sets the identifier of the user who triggered the change.
///
public Guid CreatedBy { get; set; }
///
/// Gets or sets the timestamp when the change occurred.
///
public DateTimeOffset CreatedOn { get; set; }
}