SboxSuperuser/Api/AdminModerationRow.cs

A simple data model that represents a permission-filtered moderation record. It stores the action kind, request correlation ID, creation and optional expiry timestamps, whether the restriction is currently active, and the 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; }
}