#nullable enable
using Baya.Domain.Common;

namespace Baya.Domain.Entities.Analytics;

/// <summary>
/// High-volume behavioural/analytics event. NOT compliance evidence — it can be sampled, dropped, or
/// exported to a warehouse at scale. Append-only; the only timestamp it needs is <see cref="OccurredAt"/>.
/// </summary>
public class SystemEvent : IEntity
{
    public long Id { get; set; }

    public string Name { get; set; } = string.Empty;

    public string? PropsJson { get; set; }

    public int? UserId { get; set; }

    public DateTimeOffset OccurredAt { get; set; }
}
