Refactor app architecture and clean local artifacts

This commit is contained in:
AzuTear
2026-06-24 23:43:14 +02:00
parent 17134b3b82
commit fef1d36fe8
274 changed files with 37724 additions and 6065 deletions
+2
View File
@@ -9,5 +9,7 @@ public sealed class AdminAuditEntry
public string EntityId { get; set; } = string.Empty;
public string Summary { get; set; } = string.Empty;
public string MetadataJson { get; set; } = "{}";
public string CreatedFromIp { get; set; } = string.Empty;
public string UserAgent { get; set; } = string.Empty;
public DateTimeOffset CreatedAt { get; set; }
}
+2
View File
@@ -5,6 +5,8 @@ public sealed class AwardResult
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; } = null!;
public int CandidateId { get; set; }
public Candidate Candidate { get; set; } = null!;
public string CategoryName { get; set; } = string.Empty;
+5
View File
@@ -5,12 +5,17 @@ public sealed class ClipSubmission
public int Id { get; set; }
public int SeasonId { get; set; }
public int? CategoryId { get; set; }
public int? CandidateId { get; set; }
public Candidate? Candidate { get; set; }
public string SubmittedByTwitchId { get; set; } = string.Empty;
public string ClipUrl { get; set; } = string.Empty;
public string Title { get; set; } = string.Empty;
public string Creator { get; set; } = string.Empty;
public string Platform { get; set; } = string.Empty;
public string Status { get; set; } = "pending";
public string? ReviewNote { get; set; }
public string? ReviewedByTwitchId { get; set; }
public string CreatedFromIp { get; set; } = string.Empty;
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset? ReviewedAt { get; set; }
}
+5
View File
@@ -11,5 +11,10 @@ public sealed class Nomination
public int? CandidateId { get; set; }
public Candidate? Candidate { get; set; }
public string? CandidateText { get; set; }
public string? StreamUrl { 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; }
}
+1
View File
@@ -14,6 +14,7 @@ public sealed class RiskFlag
public string CreatedFromIp { get; set; } = string.Empty;
public string UserAgent { get; set; } = string.Empty;
public string MetadataJson { get; set; } = "{}";
public string? ReviewNote { get; set; }
public string? ReviewedByTwitchId { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset? ReviewedAt { get; set; }
+2
View File
@@ -5,6 +5,7 @@ public sealed class Season
public int Id { get; set; }
public int Year { get; set; }
public string Name { get; set; } = string.Empty;
public string ShowStreamUrl { get; set; } = string.Empty;
public bool IsCurrent { get; set; }
public bool IsCommunityOnly { get; set; }
public string CurrentPhase { get; set; } = string.Empty;
@@ -15,6 +16,7 @@ public sealed class Season
public DateOnly ReviewStartsAt { get; set; }
public DateOnly ReviewEndsAt { get; set; }
public DateOnly ShowDate { get; set; }
public TimeOnly ShowStartsAt { get; set; } = new(20, 0);
public ICollection<Category> Categories { get; set; } = [];
public ICollection<AwardResult> Results { get; set; } = [];
}
+29
View File
@@ -0,0 +1,29 @@
namespace Backend.Domain;
public sealed class SiteSettings
{
public int Id { get; set; }
public string HostDisplayName { get; set; } = string.Empty;
public string HostTagline { get; set; } = string.Empty;
public string NewsletterUrl { get; set; } = string.Empty;
public string PrivacyEmail { get; set; } = string.Empty;
public string PrivacyPolicyContent { get; set; } = string.Empty;
public string? PrivacyPolicyUpdatedBy { get; set; }
public DateTimeOffset? PrivacyPolicyUpdatedAt { get; set; }
public string ImprintUrl { get; set; } = string.Empty;
public string ContactUrl { get; set; } = string.Empty;
public string SponsorsUrl { get; set; } = string.Empty;
public string SocialLinksJson { get; set; } = "[]";
public string FaqJson { get; set; } = "[]";
public string RiskRulesJson { get; set; } = "[]";
public bool DemoLoginManagedByDatabase { get; set; }
public bool DemoLoginEnabled { get; set; }
public string DemoLoginEmail { get; set; } = string.Empty;
public string DemoLoginPasswordHash { get; set; } = string.Empty;
public string DemoLoginPasswordSalt { get; set; } = string.Empty;
public string DemoLoginTwitchUserId { get; set; } = "jayuhime_admin";
public string DemoLoginDisplayName { get; set; } = "Jayuhime Admin";
public bool MaintenanceModeEnabled { get; set; }
public string MaintenanceTitle { get; set; } = "Sternenpause";
public string MaintenanceMessage { get; set; } = "Die Award-Galaxie wird gerade liebevoll poliert. Schau gleich wieder vorbei.";
}