Code/SboxSuperuser/Api/AdminModerationRow.cs

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; }
}