// using System; using System.Collections.Generic; using Foxnouns.Backend.Database; using Foxnouns.Backend.Database.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NodaTime; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Foxnouns.Backend.Database.Migrations { [DbContext(typeof(DatabaseContext))] partial class DatabaseContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.7") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Foxnouns.Backend.Database.Models.Application", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("ClientId") .IsRequired() .HasColumnType("text") .HasColumnName("client_id"); b.Property("ClientSecret") .IsRequired() .HasColumnType("text") .HasColumnName("client_secret"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("RedirectUris") .IsRequired() .HasColumnType("text[]") .HasColumnName("redirect_uris"); b.Property("Scopes") .IsRequired() .HasColumnType("text[]") .HasColumnName("scopes"); b.HasKey("Id") .HasName("pk_applications"); b.ToTable("applications", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.AuthMethod", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("AuthType") .HasColumnType("integer") .HasColumnName("auth_type"); b.Property("FediverseApplicationId") .HasColumnType("bigint") .HasColumnName("fediverse_application_id"); b.Property("RemoteId") .IsRequired() .HasColumnType("text") .HasColumnName("remote_id"); b.Property("RemoteUsername") .HasColumnType("text") .HasColumnName("remote_username"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_auth_methods"); b.HasIndex("FediverseApplicationId") .HasDatabaseName("ix_auth_methods_fediverse_application_id"); b.HasIndex("UserId") .HasDatabaseName("ix_auth_methods_user_id"); b.ToTable("auth_methods", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.FediverseApplication", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("AccessToken") .HasColumnType("text") .HasColumnName("access_token"); b.Property("ClientId") .IsRequired() .HasColumnType("text") .HasColumnName("client_id"); b.Property("ClientSecret") .IsRequired() .HasColumnType("text") .HasColumnName("client_secret"); b.Property("Domain") .IsRequired() .HasColumnType("text") .HasColumnName("domain"); b.Property("InstanceType") .HasColumnType("integer") .HasColumnName("instance_type"); b.Property("TokenValidUntil") .HasColumnType("timestamp with time zone") .HasColumnName("token_valid_until"); b.HasKey("Id") .HasName("pk_fediverse_applications"); b.ToTable("fediverse_applications", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.Member", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("Avatar") .HasColumnType("text") .HasColumnName("avatar"); b.Property("Bio") .HasColumnType("text") .HasColumnName("bio"); b.Property("DisplayName") .HasColumnType("text") .HasColumnName("display_name"); b.Property>("Fields") .IsRequired() .HasColumnType("jsonb") .HasColumnName("fields"); b.Property("Links") .IsRequired() .HasColumnType("text[]") .HasColumnName("links"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property>("Names") .IsRequired() .HasColumnType("jsonb") .HasColumnName("names"); b.Property>("Pronouns") .IsRequired() .HasColumnType("jsonb") .HasColumnName("pronouns"); b.Property("Sid") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("text") .HasColumnName("sid") .HasDefaultValueSql("find_free_member_sid()"); b.Property("Unlisted") .HasColumnType("boolean") .HasColumnName("unlisted"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_members"); b.HasIndex("Sid") .IsUnique() .HasDatabaseName("ix_members_sid"); b.HasIndex("UserId", "Name") .IsUnique() .HasDatabaseName("ix_members_user_id_name"); b.ToTable("members", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.MemberFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("MemberId") .HasColumnType("bigint") .HasColumnName("member_id"); b.Property("PrideFlagId") .HasColumnType("bigint") .HasColumnName("pride_flag_id"); b.HasKey("Id") .HasName("pk_member_flags"); b.HasIndex("MemberId") .HasDatabaseName("ix_member_flags_member_id"); b.HasIndex("PrideFlagId") .HasDatabaseName("ix_member_flags_pride_flag_id"); b.ToTable("member_flags", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.PrideFlag", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("Hash") .IsRequired() .HasColumnType("text") .HasColumnName("hash"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_pride_flags"); b.HasIndex("UserId") .HasDatabaseName("ix_pride_flags_user_id"); b.ToTable("pride_flags", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.TemporaryKey", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Expires") .HasColumnType("timestamp with time zone") .HasColumnName("expires"); b.Property("Key") .IsRequired() .HasColumnType("text") .HasColumnName("key"); b.Property("Value") .IsRequired() .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id") .HasName("pk_temporary_keys"); b.HasIndex("Key") .IsUnique() .HasDatabaseName("ix_temporary_keys_key"); b.ToTable("temporary_keys", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.Token", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("ApplicationId") .HasColumnType("bigint") .HasColumnName("application_id"); b.Property("ExpiresAt") .HasColumnType("timestamp with time zone") .HasColumnName("expires_at"); b.Property("Hash") .IsRequired() .HasColumnType("bytea") .HasColumnName("hash"); b.Property("ManuallyExpired") .HasColumnType("boolean") .HasColumnName("manually_expired"); b.Property("Scopes") .IsRequired() .HasColumnType("text[]") .HasColumnName("scopes"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_tokens"); b.HasIndex("ApplicationId") .HasDatabaseName("ix_tokens_application_id"); b.HasIndex("UserId") .HasDatabaseName("ix_tokens_user_id"); b.ToTable("tokens", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.User", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("Avatar") .HasColumnType("text") .HasColumnName("avatar"); b.Property("Bio") .HasColumnType("text") .HasColumnName("bio"); b.Property>("CustomPreferences") .IsRequired() .HasColumnType("jsonb") .HasColumnName("custom_preferences"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeletedBy") .HasColumnType("bigint") .HasColumnName("deleted_by"); b.Property("DisplayName") .HasColumnType("text") .HasColumnName("display_name"); b.Property>("Fields") .IsRequired() .HasColumnType("jsonb") .HasColumnName("fields"); b.Property("LastActive") .HasColumnType("timestamp with time zone") .HasColumnName("last_active"); b.Property("LastSidReroll") .HasColumnType("timestamp with time zone") .HasColumnName("last_sid_reroll"); b.Property("Links") .IsRequired() .HasColumnType("text[]") .HasColumnName("links"); b.Property("ListHidden") .HasColumnType("boolean") .HasColumnName("list_hidden"); b.Property("MemberTitle") .HasColumnType("text") .HasColumnName("member_title"); b.Property>("Names") .IsRequired() .HasColumnType("jsonb") .HasColumnName("names"); b.Property("Password") .HasColumnType("text") .HasColumnName("password"); b.Property>("Pronouns") .IsRequired() .HasColumnType("jsonb") .HasColumnName("pronouns"); b.Property("Role") .HasColumnType("integer") .HasColumnName("role"); b.Property("Settings") .IsRequired() .HasColumnType("jsonb") .HasColumnName("settings"); b.Property("Sid") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("text") .HasColumnName("sid") .HasDefaultValueSql("find_free_user_sid()"); b.Property("Username") .IsRequired() .HasColumnType("text") .HasColumnName("username"); b.HasKey("Id") .HasName("pk_users"); b.HasIndex("Sid") .IsUnique() .HasDatabaseName("ix_users_sid"); b.HasIndex("Username") .IsUnique() .HasDatabaseName("ix_users_username"); b.ToTable("users", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.UserFlag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("PrideFlagId") .HasColumnType("bigint") .HasColumnName("pride_flag_id"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id") .HasName("pk_user_flags"); b.HasIndex("PrideFlagId") .HasDatabaseName("ix_user_flags_pride_flag_id"); b.HasIndex("UserId") .HasDatabaseName("ix_user_flags_user_id"); b.ToTable("user_flags", (string)null); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.AuthMethod", b => { b.HasOne("Foxnouns.Backend.Database.Models.FediverseApplication", "FediverseApplication") .WithMany() .HasForeignKey("FediverseApplicationId") .HasConstraintName("fk_auth_methods_fediverse_applications_fediverse_application_id"); b.HasOne("Foxnouns.Backend.Database.Models.User", "User") .WithMany("AuthMethods") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_auth_methods_users_user_id"); b.Navigation("FediverseApplication"); b.Navigation("User"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.Member", b => { b.HasOne("Foxnouns.Backend.Database.Models.User", "User") .WithMany("Members") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_members_users_user_id"); b.Navigation("User"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.MemberFlag", b => { b.HasOne("Foxnouns.Backend.Database.Models.Member", null) .WithMany("ProfileFlags") .HasForeignKey("MemberId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_member_flags_members_member_id"); b.HasOne("Foxnouns.Backend.Database.Models.PrideFlag", "PrideFlag") .WithMany() .HasForeignKey("PrideFlagId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_member_flags_pride_flags_pride_flag_id"); b.Navigation("PrideFlag"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.PrideFlag", b => { b.HasOne("Foxnouns.Backend.Database.Models.User", null) .WithMany("Flags") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_pride_flags_users_user_id"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.Token", b => { b.HasOne("Foxnouns.Backend.Database.Models.Application", "Application") .WithMany() .HasForeignKey("ApplicationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_tokens_applications_application_id"); b.HasOne("Foxnouns.Backend.Database.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_tokens_users_user_id"); b.Navigation("Application"); b.Navigation("User"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.UserFlag", b => { b.HasOne("Foxnouns.Backend.Database.Models.PrideFlag", "PrideFlag") .WithMany() .HasForeignKey("PrideFlagId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_flags_pride_flags_pride_flag_id"); b.HasOne("Foxnouns.Backend.Database.Models.User", null) .WithMany("ProfileFlags") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_user_flags_users_user_id"); b.Navigation("PrideFlag"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.Member", b => { b.Navigation("ProfileFlags"); }); modelBuilder.Entity("Foxnouns.Backend.Database.Models.User", b => { b.Navigation("AuthMethods"); b.Navigation("Flags"); b.Navigation("Members"); b.Navigation("ProfileFlags"); }); #pragma warning restore 612, 618 } } }