namespace EchoHub.Core.Models; /// /// A registration invite code. When the server runs with Server:Registration = "invite", /// new accounts (REST and IRC alike) require a valid, unexpired, not-fully-used code. /// public class InviteCode { public Guid Id { get; set; } public required string Code { get; set; } public Guid CreatedByUserId { get; set; } public string CreatedByUsername { get; set; } = string.Empty; public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow; /// Null means the code never expires. public DateTimeOffset? ExpiresAt { get; set; } public int MaxUses { get; set; } = 1; public int UseCount { get; set; } }