A simple data model representing a moderation record shown to admins. It stores action kind, a request correlation GUID, UTC timestamps for creation and optional expiry, an active flag, and an operator reason.
namespace SboxSuperuser;
/// <summary>Permission-filtered moderation evidence; kick records require the audit outcome to confirm execution.</summary>
public sealed class AdminModerationRow
{
/// <summary>Gets the recorded action kind.</summary>
public string Kind { get; init; }
/// <summary>Gets the request ID for correlation with the audit log.</summary>
public Guid RequestId { get; init; }
/// <summary>Gets the creation time in UTC.</summary>
public DateTimeOffset CreatedUtc { get; init; }
/// <summary>Gets the expiry time; null means no expiry.</summary>
public DateTimeOffset? ExpiresUtc { get; init; }
/// <summary>Gets whether this record is the active restriction.</summary>
public bool Active { get; init; }
/// <summary>Gets the operator's reason.</summary>
public string Reason { get; init; }
}