namespace Backend.Domain; public sealed class Nomination { public int Id { get; set; } public int SeasonId { get; set; } public Season Season { get; set; } = null!; public int? CategoryId { get; set; } public Category? Category { get; set; } public string CategoryGroupName { get; set; } = string.Empty; public string SubmittedByTwitchId { get; set; } = string.Empty; public int? CandidateId { get; set; } public Candidate? Candidate { get; set; } public int? StreamerIdentityId { get; set; } public StreamerIdentity? StreamerIdentity { get; set; } public int? SuggestedCategoryId { get; set; } public Category? SuggestedCategory { get; set; } public string? CandidateText { get; set; } public string? StreamUrl { get; set; } public string? ResolvedChannel { get; set; } public string? ResolvedPlatform { get; set; } public int? AvgViewers { get; set; } public int? HoursStreamed { get; set; } public int? HoursWatched { get; set; } public int? PeakViewers { get; set; } public int? FollowersGained { get; set; } public string TrackerStatus { get; set; } = "pending"; public DateTimeOffset? TrackerCheckedAt { get; set; } public string TrackingReviewStatus { get; set; } = "clear"; public string TrackingFlagsJson { get; set; } = "[]"; public string? TrackingReviewNote { get; set; } public string? TrackingReviewedByTwitchId { get; set; } public DateTimeOffset? TrackingReviewedAt { get; set; } public string Status { get; set; } = "pending"; public string? ReviewNote { get; set; } public string? ReviewedByTwitchId { get; set; } public DateTimeOffset CreatedAt { get; set; } public DateTimeOffset? ReviewedAt { get; set; } }