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
+42
View File
@@ -0,0 +1,42 @@
using Microsoft.EntityFrameworkCore;
namespace Backend.Data;
public static partial class SeedDataBootstrapper
{
public static async Task EnsureAsync(AwardsDbContext db)
{
await EnsureSiteSettingsAsync(db);
var seasons = await db.Seasons.ToDictionaryAsync(item => item.Year);
if (seasons.Count == 0)
{
return;
}
foreach (var season in seasons.Values)
{
await EnsureCategoriesAsync(db, season);
}
if (seasons.TryGetValue(2026, out var currentSeason))
{
await EnsureCandidatesAsync(db, currentSeason, SeedCatalog.CurrentCandidateSeeds);
await EnsureSeedOperationalDataAsync(db, currentSeason);
}
foreach (var year in new[] { 2025, 2024, 2023 })
{
if (!seasons.TryGetValue(year, out var season))
{
continue;
}
var winners = SeedCatalog.WinnerSeeds.Where(item => item.Year == year).ToArray();
await EnsureCandidatesAsync(db, season, winners.Select(item => new CandidateSeed(item.CategorySlug, item.DisplayName, item.ChannelSlug, item.Platform)).ToArray());
await EnsureWinnersAsync(db, season, winners);
}
await db.SaveChangesAsync();
}
}