1621 lines
60 KiB
C#
1621 lines
60 KiB
C#
// <auto-generated />
|
|
using System;
|
|
using Backend.Data;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
|
|
|
#nullable disable
|
|
|
|
namespace Backend.Migrations
|
|
{
|
|
[DbContext(typeof(AwardsDbContext))]
|
|
[Migration("20260630061341_SanitizeDemoCategoryDescriptions")]
|
|
partial class SanitizeDemoCategoryDescriptions
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasAnnotation("ProductVersion", "8.0.11")
|
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
|
|
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
|
|
|
modelBuilder.Entity("Backend.Domain.AdminAuditEntry", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("ActionType")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("AdminTwitchUserId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CreatedFromIp")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("EntityId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("EntityType")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("MetadataJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Summary")
|
|
.IsRequired()
|
|
.HasMaxLength(240)
|
|
.HasColumnType("character varying(240)");
|
|
|
|
b.Property<string>("UserAgent")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("AdminAuditEntries");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.ArchivedWinner", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("Category")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Subcategory")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<DateTimeOffset?>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("WinnerName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("WinnerUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<int>("Year")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Year", "Category", "Subcategory")
|
|
.IsUnique();
|
|
|
|
b.ToTable("ArchivedWinners");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.AwardResult", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("CandidateId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int>("CategoryId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("CategoryName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CandidateId");
|
|
|
|
b.HasIndex("CategoryId");
|
|
|
|
b.HasIndex("SeasonId", "CategoryId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Results");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Candidate", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("AcceptanceNote")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<string>("AcceptanceStatus")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)")
|
|
.HasDefaultValue("open");
|
|
|
|
b.Property<int>("CategoryId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("ChannelSlug")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("ClipCompilationPlatform")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<string>("ClipCompilationTitle")
|
|
.HasMaxLength(200)
|
|
.HasColumnType("character varying(200)");
|
|
|
|
b.Property<string>("ClipCompilationUrl")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<string>("ClipEmbedStatus")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)")
|
|
.HasDefaultValue("unchecked");
|
|
|
|
b.Property<string>("DisplayName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("NominationTally")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer")
|
|
.HasDefaultValue(0);
|
|
|
|
b.Property<string>("Platform")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("StreamerIdentityId")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CategoryId");
|
|
|
|
b.HasIndex("SeasonId");
|
|
|
|
b.HasIndex("StreamerIdentityId");
|
|
|
|
b.ToTable("Candidates");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Category", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("Description")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("GroupName")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<int>("MaxNomineesPerUser")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Slug")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("ViewerRangeMax")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("ViewerRangeMin")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SeasonId", "Slug")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Categories");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.ClipSubmission", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int?>("CandidateId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("CategoryId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("ClipUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CreatedFromIp")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("Creator")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("Platform")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<string>("ReviewNote")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<DateTimeOffset?>("ReviewedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("ReviewedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("character varying(20)");
|
|
|
|
b.Property<string>("SubmittedByTwitchId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("Title")
|
|
.IsRequired()
|
|
.HasMaxLength(200)
|
|
.HasColumnType("character varying(200)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CandidateId");
|
|
|
|
b.HasIndex("SeasonId", "Status");
|
|
|
|
b.ToTable("ClipSubmissions");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Nomination", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int?>("AvgViewers")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("CandidateId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("CandidateText")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("CategoryGroupName")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)")
|
|
.HasDefaultValue("");
|
|
|
|
b.Property<int?>("CategoryId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<int?>("FollowersGained")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("HoursStreamed")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("HoursWatched")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int?>("PeakViewers")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("ResolvedChannel")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("ResolvedPlatform")
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<string>("ReviewNote")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<DateTimeOffset?>("ReviewedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("ReviewedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("character varying(20)");
|
|
|
|
b.Property<string>("StreamUrl")
|
|
.HasMaxLength(300)
|
|
.HasColumnType("character varying(300)");
|
|
|
|
b.Property<int?>("StreamerIdentityId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("SubmittedByTwitchId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int?>("SuggestedCategoryId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<DateTimeOffset?>("TrackerCheckedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("TrackerStatus")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)")
|
|
.HasDefaultValue("pending");
|
|
|
|
b.Property<string>("TrackingFlagsJson")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("[]");
|
|
|
|
b.Property<string>("TrackingReviewNote")
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("character varying(1000)");
|
|
|
|
b.Property<string>("TrackingReviewStatus")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)")
|
|
.HasDefaultValue("clear");
|
|
|
|
b.Property<DateTimeOffset?>("TrackingReviewedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("TrackingReviewedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CandidateId");
|
|
|
|
b.HasIndex("CategoryId");
|
|
|
|
b.HasIndex("StreamerIdentityId");
|
|
|
|
b.HasIndex("SuggestedCategoryId");
|
|
|
|
b.HasIndex("SeasonId", "Status");
|
|
|
|
b.HasIndex("SeasonId", "CategoryGroupName", "Status");
|
|
|
|
b.HasIndex("SeasonId", "StreamerIdentityId", "CategoryGroupName");
|
|
|
|
b.ToTable("Nominations");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.RiskFlag", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CreatedFromIp")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("MetadataJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ReviewNote")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<DateTimeOffset?>("ReviewedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("ReviewedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int?>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Severity")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("character varying(20)");
|
|
|
|
b.Property<string>("Source")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("character varying(20)");
|
|
|
|
b.Property<string>("Summary")
|
|
.IsRequired()
|
|
.HasMaxLength(240)
|
|
.HasColumnType("character varying(240)");
|
|
|
|
b.Property<string>("TwitchUserId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("Type")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("UserAgent")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SeasonId");
|
|
|
|
b.ToTable("RiskFlags");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Season", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("CurrentPhase")
|
|
.IsRequired()
|
|
.HasMaxLength(60)
|
|
.HasColumnType("character varying(60)");
|
|
|
|
b.Property<bool>("IsCommunityOnly")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("IsCurrent")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("IsDemo")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(false);
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(160)
|
|
.HasColumnType("character varying(160)");
|
|
|
|
b.Property<DateOnly>("NominationEndsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly>("NominationStartsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly>("ReviewEndsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly>("ReviewStartsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly>("ShowDate")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<TimeOnly>("ShowStartsAt")
|
|
.HasColumnType("time without time zone");
|
|
|
|
b.Property<string>("SubcategoryTemplatesJson")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("[]");
|
|
|
|
b.Property<DateOnly>("VotingEndsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly>("VotingStartsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateTimeOffset?>("WinnersPublishedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("WinnersPublishedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("WorkflowRulesJson")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("[]");
|
|
|
|
b.Property<int>("Year")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Year")
|
|
.IsUnique();
|
|
|
|
b.ToTable("Seasons");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.ShowactApplication", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("ArtistName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("ContactDiscord")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("ContactEmail")
|
|
.IsRequired()
|
|
.HasMaxLength(180)
|
|
.HasColumnType("character varying(180)");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CreatedFromIp")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("Description")
|
|
.IsRequired()
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("character varying(1000)");
|
|
|
|
b.Property<string>("FieldResponsesJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("PerformanceType")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("PlatformUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<string>("ReferenceUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<string>("ReviewNote")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<DateTimeOffset?>("ReviewedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("ReviewedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasMaxLength(20)
|
|
.HasColumnType("character varying(20)");
|
|
|
|
b.Property<string>("TechnicalNotes")
|
|
.IsRequired()
|
|
.HasMaxLength(1000)
|
|
.HasColumnType("character varying(1000)");
|
|
|
|
b.Property<string>("UserAgent")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SeasonId", "Status");
|
|
|
|
b.ToTable("ShowactApplications");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.SiteSettings", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("AwardsSectionDescription")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("AwardsSectionTitle")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<bool>("ClipAdminMenuVisible")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("ClipReviewEnabled")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(true);
|
|
|
|
b.Property<string>("ClipSubmissionDisabledMessage")
|
|
.IsRequired()
|
|
.HasMaxLength(240)
|
|
.HasColumnType("character varying(240)");
|
|
|
|
b.Property<bool>("ClipSubmissionsEnabled")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(false);
|
|
|
|
b.Property<string>("ContactContent")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ContactUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("DemoLoginDisplayName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("DemoLoginEmail")
|
|
.IsRequired()
|
|
.HasMaxLength(180)
|
|
.HasColumnType("character varying(180)");
|
|
|
|
b.Property<bool>("DemoLoginEnabled")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<bool>("DemoLoginManagedByDatabase")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("DemoLoginPasswordHash")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("DemoLoginPasswordSalt")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("DemoLoginTwitchUserId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("FaqJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("HostArtistName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("HostDisplayName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("HostImageContentType")
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<byte[]>("HostImageData")
|
|
.HasColumnType("bytea");
|
|
|
|
b.Property<DateTimeOffset?>("HostImageUpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("HostTagline")
|
|
.IsRequired()
|
|
.HasMaxLength(160)
|
|
.HasColumnType("character varying(160)");
|
|
|
|
b.Property<string>("ImprintContent")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ImprintUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("MaintenanceMessage")
|
|
.IsRequired()
|
|
.HasMaxLength(600)
|
|
.HasColumnType("character varying(600)");
|
|
|
|
b.Property<bool>("MaintenanceModeEnabled")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("MaintenanceTitle")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("NewsletterUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("NominationLinkBlacklistJson")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("[]");
|
|
|
|
b.Property<string>("PrivacyEmail")
|
|
.IsRequired()
|
|
.HasMaxLength(160)
|
|
.HasColumnType("character varying(160)");
|
|
|
|
b.Property<string>("PrivacyPolicyContent")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<DateTimeOffset?>("PrivacyPolicyUpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("PrivacyPolicyUpdatedBy")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("RiskRulesJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<int>("SessionIdleTimeoutHours")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer")
|
|
.HasDefaultValue(3);
|
|
|
|
b.Property<string>("ShareDiscordUrl")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ShareXUrl")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ShowactApplicationDisabledMessage")
|
|
.IsRequired()
|
|
.HasMaxLength(240)
|
|
.HasColumnType("character varying(240)");
|
|
|
|
b.Property<DateOnly?>("ShowactApplicationEndsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<DateOnly?>("ShowactApplicationStartsAt")
|
|
.HasColumnType("date");
|
|
|
|
b.Property<bool>("ShowactApplicationsEnabled")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(false);
|
|
|
|
b.Property<string>("ShowactFormSchemaJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("ShowactsContent")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("");
|
|
|
|
b.Property<string>("ShowactsUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("SocialLinksJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("SponsorsContent")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("SponsorsUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<bool>("SponsorsVisible")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("boolean")
|
|
.HasDefaultValue(true);
|
|
|
|
b.Property<string>("StreamBannerCompletedButtonLabel")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("StreamBannerCompletedButtonUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("StreamBannerCompletedEyebrow")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("StreamBannerCompletedText")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("StreamBannerCompletedTitle")
|
|
.IsRequired()
|
|
.HasMaxLength(160)
|
|
.HasColumnType("character varying(160)");
|
|
|
|
b.Property<string>("StreamBannerEyebrow")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("StreamBannerLiveButtonLabel")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("StreamBannerLiveButtonUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("StreamBannerLockedButtonLabel")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("StreamBannerText")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("StreamBannerTitle")
|
|
.IsRequired()
|
|
.HasMaxLength(160)
|
|
.HasColumnType("character varying(160)");
|
|
|
|
b.Property<bool>("StreamBannerUseCompletedContent")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("SubcategoriesSectionDescription")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("SubcategoriesSectionTitle")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("TrackingReviewNotes")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("TrackingRulesJson")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("[]");
|
|
|
|
b.Property<bool>("TwitchAuthManagedByDatabase")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("TwitchClientId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("TwitchClientSecret")
|
|
.IsRequired()
|
|
.HasMaxLength(180)
|
|
.HasColumnType("character varying(180)");
|
|
|
|
b.Property<string>("TwitchRedirectUri")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("TwitchScope")
|
|
.IsRequired()
|
|
.HasMaxLength(300)
|
|
.HasColumnType("character varying(300)");
|
|
|
|
b.Property<string>("ViewerStatsProviderBaseUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.Property<string>("WorkflowRulesJson")
|
|
.IsRequired()
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("text")
|
|
.HasDefaultValue("[]");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("SiteSettings");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Sponsor", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Description")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<bool>("IsVisible")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("LogoUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int>("SortOrder")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Tier")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<DateTimeOffset?>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("WebsiteUrl")
|
|
.IsRequired()
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SeasonId", "IsVisible", "SortOrder");
|
|
|
|
b.ToTable("Sponsors");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.StreamerIdentity", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("DisplayName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<DateTimeOffset?>("LastResolvedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Login")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("NormalizedKey")
|
|
.IsRequired()
|
|
.HasMaxLength(180)
|
|
.HasColumnType("character varying(180)");
|
|
|
|
b.Property<string>("Platform")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<string>("ProfileUrl")
|
|
.HasMaxLength(500)
|
|
.HasColumnType("character varying(500)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("NormalizedKey")
|
|
.IsUnique();
|
|
|
|
b.ToTable("StreamerIdentities");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.TeamMember", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("BoundTwitchDisplayName")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("BoundTwitchUserId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CreatedByTwitchId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("DisplayName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<DateTimeOffset?>("LastLoginAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Login")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<bool>("MustChangePassword")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<string>("PasswordHash")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<DateTimeOffset?>("PasswordResetAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("PasswordSalt")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("Role")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<DateTimeOffset?>("TwitchBoundAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<DateTimeOffset?>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("UpdatedByTwitchId")
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("BoundTwitchUserId")
|
|
.IsUnique();
|
|
|
|
b.HasIndex("Login")
|
|
.IsUnique();
|
|
|
|
b.ToTable("TeamMembers");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.TeamRolePermission", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<string>("PermissionsJson")
|
|
.IsRequired()
|
|
.HasColumnType("text");
|
|
|
|
b.Property<string>("Role")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<DateTimeOffset>("UpdatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("UpdatedByTwitchId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Role")
|
|
.IsUnique();
|
|
|
|
b.ToTable("TeamRolePermissions");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.UserSession", b =>
|
|
{
|
|
b.Property<Guid>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("uuid");
|
|
|
|
b.Property<DateTimeOffset>("CreatedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("CreatedFromIp")
|
|
.IsRequired()
|
|
.HasMaxLength(80)
|
|
.HasColumnType("character varying(80)");
|
|
|
|
b.Property<string>("DisplayName")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<bool>("IsActive")
|
|
.HasColumnType("boolean");
|
|
|
|
b.Property<DateTimeOffset>("LastSeenAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("Role")
|
|
.IsRequired()
|
|
.HasMaxLength(40)
|
|
.HasColumnType("character varying(40)");
|
|
|
|
b.Property<string>("SessionToken")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("TwitchUserId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.Property<string>("UserAgent")
|
|
.IsRequired()
|
|
.HasMaxLength(400)
|
|
.HasColumnType("character varying(400)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SessionToken")
|
|
.IsUnique();
|
|
|
|
b.ToTable("UserSessions");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.VoteBallot", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("SeasonId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<string>("Status")
|
|
.IsRequired()
|
|
.HasMaxLength(30)
|
|
.HasColumnType("character varying(30)");
|
|
|
|
b.Property<DateTimeOffset>("SubmittedAt")
|
|
.HasColumnType("timestamp with time zone");
|
|
|
|
b.Property<string>("SubmittedByTwitchId")
|
|
.IsRequired()
|
|
.HasMaxLength(120)
|
|
.HasColumnType("character varying(120)");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("SeasonId", "SubmittedByTwitchId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("VoteBallots");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.VoteEntry", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("integer");
|
|
|
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
|
|
|
b.Property<int>("BallotId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int>("CandidateId")
|
|
.HasColumnType("integer");
|
|
|
|
b.Property<int>("CategoryId")
|
|
.HasColumnType("integer");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("BallotId");
|
|
|
|
b.HasIndex("CandidateId");
|
|
|
|
b.HasIndex("CategoryId");
|
|
|
|
b.ToTable("VoteEntries");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.AwardResult", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Candidate", "Candidate")
|
|
.WithMany()
|
|
.HasForeignKey("CandidateId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.Category", "Category")
|
|
.WithMany()
|
|
.HasForeignKey("CategoryId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany("Results")
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Candidate");
|
|
|
|
b.Navigation("Category");
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Candidate", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Category", "Category")
|
|
.WithMany("Candidates")
|
|
.HasForeignKey("CategoryId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.StreamerIdentity", "StreamerIdentity")
|
|
.WithMany("Candidates")
|
|
.HasForeignKey("StreamerIdentityId");
|
|
|
|
b.Navigation("Category");
|
|
|
|
b.Navigation("Season");
|
|
|
|
b.Navigation("StreamerIdentity");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Category", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany("Categories")
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.ClipSubmission", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Candidate", "Candidate")
|
|
.WithMany()
|
|
.HasForeignKey("CandidateId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.HasOne("Backend.Domain.Season", null)
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Candidate");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Nomination", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Candidate", "Candidate")
|
|
.WithMany()
|
|
.HasForeignKey("CandidateId");
|
|
|
|
b.HasOne("Backend.Domain.Category", "Category")
|
|
.WithMany()
|
|
.HasForeignKey("CategoryId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.StreamerIdentity", "StreamerIdentity")
|
|
.WithMany("Nominations")
|
|
.HasForeignKey("StreamerIdentityId");
|
|
|
|
b.HasOne("Backend.Domain.Category", "SuggestedCategory")
|
|
.WithMany()
|
|
.HasForeignKey("SuggestedCategoryId")
|
|
.OnDelete(DeleteBehavior.SetNull);
|
|
|
|
b.Navigation("Candidate");
|
|
|
|
b.Navigation("Category");
|
|
|
|
b.Navigation("Season");
|
|
|
|
b.Navigation("StreamerIdentity");
|
|
|
|
b.Navigation("SuggestedCategory");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.RiskFlag", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId");
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.ShowactApplication", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Sponsor", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.VoteBallot", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.Season", "Season")
|
|
.WithMany()
|
|
.HasForeignKey("SeasonId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.VoteEntry", b =>
|
|
{
|
|
b.HasOne("Backend.Domain.VoteBallot", "Ballot")
|
|
.WithMany("Entries")
|
|
.HasForeignKey("BallotId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.Candidate", "Candidate")
|
|
.WithMany()
|
|
.HasForeignKey("CandidateId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.HasOne("Backend.Domain.Category", "Category")
|
|
.WithMany()
|
|
.HasForeignKey("CategoryId")
|
|
.OnDelete(DeleteBehavior.Cascade)
|
|
.IsRequired();
|
|
|
|
b.Navigation("Ballot");
|
|
|
|
b.Navigation("Candidate");
|
|
|
|
b.Navigation("Category");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Category", b =>
|
|
{
|
|
b.Navigation("Candidates");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.Season", b =>
|
|
{
|
|
b.Navigation("Categories");
|
|
|
|
b.Navigation("Results");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.StreamerIdentity", b =>
|
|
{
|
|
b.Navigation("Candidates");
|
|
|
|
b.Navigation("Nominations");
|
|
});
|
|
|
|
modelBuilder.Entity("Backend.Domain.VoteBallot", b =>
|
|
{
|
|
b.Navigation("Entries");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|