Add team roles and content management updates

This commit is contained in:
AzuTear
2026-06-25 19:52:46 +02:00
parent 54293f4c45
commit 693769e5a8
126 changed files with 6966 additions and 738 deletions
+28
View File
@@ -17,6 +17,8 @@ public sealed class AwardsDbContext(DbContextOptions<AwardsDbContext> options) :
public DbSet<AdminAuditEntry> AdminAuditEntries => Set<AdminAuditEntry>();
public DbSet<ClipSubmission> ClipSubmissions => Set<ClipSubmission>();
public DbSet<SiteSettings> SiteSettings => Set<SiteSettings>();
public DbSet<TeamMember> TeamMembers => Set<TeamMember>();
public DbSet<TeamRolePermission> TeamRolePermissions => Set<TeamRolePermission>();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@@ -43,10 +45,36 @@ public sealed class AwardsDbContext(DbContextOptions<AwardsDbContext> options) :
entity.Property(item => item.DemoLoginPasswordSalt).HasMaxLength(80);
entity.Property(item => item.DemoLoginTwitchUserId).HasMaxLength(120);
entity.Property(item => item.DemoLoginDisplayName).HasMaxLength(120);
entity.Property(item => item.TwitchClientId).HasMaxLength(120);
entity.Property(item => item.TwitchClientSecret).HasMaxLength(180);
entity.Property(item => item.TwitchRedirectUri).HasMaxLength(400);
entity.Property(item => item.TwitchScope).HasMaxLength(300);
entity.Property(item => item.MaintenanceTitle).HasMaxLength(120);
entity.Property(item => item.MaintenanceMessage).HasMaxLength(600);
});
modelBuilder.Entity<TeamMember>(entity =>
{
entity.HasIndex(item => item.Login).IsUnique();
entity.HasIndex(item => item.BoundTwitchUserId).IsUnique();
entity.Property(item => item.Login).HasMaxLength(80);
entity.Property(item => item.DisplayName).HasMaxLength(120);
entity.Property(item => item.Role).HasMaxLength(40);
entity.Property(item => item.PasswordHash).HasMaxLength(120);
entity.Property(item => item.PasswordSalt).HasMaxLength(80);
entity.Property(item => item.BoundTwitchUserId).HasMaxLength(120);
entity.Property(item => item.BoundTwitchDisplayName).HasMaxLength(120);
entity.Property(item => item.CreatedByTwitchId).HasMaxLength(120);
entity.Property(item => item.UpdatedByTwitchId).HasMaxLength(120);
});
modelBuilder.Entity<TeamRolePermission>(entity =>
{
entity.HasIndex(item => item.Role).IsUnique();
entity.Property(item => item.Role).HasMaxLength(40);
entity.Property(item => item.UpdatedByTwitchId).HasMaxLength(120);
});
modelBuilder.Entity<Category>(entity =>
{
entity.HasIndex(item => new { item.SeasonId, item.Slug }).IsUnique();