// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using vassago.Models; #nullable disable namespace vassago.Migrations { [DbContext(typeof(ChattingContext))] partial class ChattingContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "7.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("vassago.Models.Account", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("DisplayName") .HasColumnType("text"); b.Property("ExternalId") .HasColumnType("text"); b.Property("FeaturePermissionId") .HasColumnType("uuid"); b.Property("IsBot") .HasColumnType("boolean"); b.Property("IsUserId") .HasColumnType("uuid"); b.Property("Protocol") .HasColumnType("text"); b.Property("SeenInChannelId") .HasColumnType("uuid"); b.Property("Username") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("FeaturePermissionId"); b.HasIndex("IsUserId"); b.HasIndex("SeenInChannelId"); b.ToTable("Accounts"); }); modelBuilder.Entity("vassago.Models.Attachment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Content") .HasColumnType("bytea"); b.Property("ContentType") .HasColumnType("text"); b.Property("Description") .HasColumnType("text"); b.Property("ExternalId") .HasColumnType("numeric(20,0)"); b.Property("Filename") .HasColumnType("text"); b.Property("MessageId") .HasColumnType("uuid"); b.Property("Size") .HasColumnType("integer"); b.Property("Source") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("MessageId"); b.ToTable("Attachments"); }); modelBuilder.Entity("vassago.Models.Channel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ChannelType") .HasColumnType("integer"); b.Property("DisplayName") .HasColumnType("text"); b.Property("ExternalId") .HasColumnType("text"); b.Property("FeaturePermissionId") .HasColumnType("uuid"); b.Property("ParentChannelId") .HasColumnType("uuid"); b.Property("PermissionsId") .HasColumnType("integer"); b.Property("Protocol") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("FeaturePermissionId"); b.HasIndex("ParentChannelId"); b.HasIndex("PermissionsId"); b.ToTable("Channels"); }); modelBuilder.Entity("vassago.Models.ChannelPermissions", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("LewdnessFilterLevel") .HasColumnType("integer"); b.Property("LinksAllowed") .HasColumnType("boolean"); b.Property("MaxAttachmentBytes") .HasColumnType("numeric(20,0)"); b.Property("MaxTextChars") .HasColumnType("bigint"); b.Property("MeannessFilterLevel") .HasColumnType("integer"); b.Property("ReactionsPossible") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("ChannelPermissions"); }); modelBuilder.Entity("vassago.Models.FeaturePermission", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Inheritable") .HasColumnType("boolean"); b.Property("InternalName") .HasColumnType("text"); b.Property("InternalTag") .HasColumnType("integer"); b.HasKey("Id"); b.ToTable("FeaturePermissions"); }); modelBuilder.Entity("vassago.Models.Message", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ActedOn") .HasColumnType("boolean"); b.Property("AuthorId") .HasColumnType("uuid"); b.Property("ChannelId") .HasColumnType("uuid"); b.Property("Content") .HasColumnType("text"); b.Property("ExternalId") .HasColumnType("text"); b.Property("MentionsMe") .HasColumnType("boolean"); b.Property("Protocol") .HasColumnType("text"); b.Property("Timestamp") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("AuthorId"); b.HasIndex("ChannelId"); b.ToTable("Messages"); }); modelBuilder.Entity("vassago.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("FeaturePermissionId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("FeaturePermissionId"); b.ToTable("Users"); }); modelBuilder.Entity("vassago.Models.Account", b => { b.HasOne("vassago.Models.FeaturePermission", null) .WithMany("RestrictedToAccounts") .HasForeignKey("FeaturePermissionId"); b.HasOne("vassago.Models.User", "IsUser") .WithMany("Accounts") .HasForeignKey("IsUserId"); b.HasOne("vassago.Models.Channel", "SeenInChannel") .WithMany("Users") .HasForeignKey("SeenInChannelId"); b.Navigation("IsUser"); b.Navigation("SeenInChannel"); }); modelBuilder.Entity("vassago.Models.Attachment", b => { b.HasOne("vassago.Models.Message", "Message") .WithMany("Attachments") .HasForeignKey("MessageId"); b.Navigation("Message"); }); modelBuilder.Entity("vassago.Models.Channel", b => { b.HasOne("vassago.Models.FeaturePermission", null) .WithMany("RestrictedToChannels") .HasForeignKey("FeaturePermissionId"); b.HasOne("vassago.Models.Channel", "ParentChannel") .WithMany("SubChannels") .HasForeignKey("ParentChannelId"); b.HasOne("vassago.Models.ChannelPermissions", "Permissions") .WithMany() .HasForeignKey("PermissionsId"); b.Navigation("ParentChannel"); b.Navigation("Permissions"); }); modelBuilder.Entity("vassago.Models.Message", b => { b.HasOne("vassago.Models.Account", "Author") .WithMany() .HasForeignKey("AuthorId"); b.HasOne("vassago.Models.Channel", "Channel") .WithMany("Messages") .HasForeignKey("ChannelId"); b.Navigation("Author"); b.Navigation("Channel"); }); modelBuilder.Entity("vassago.Models.User", b => { b.HasOne("vassago.Models.FeaturePermission", null) .WithMany("RestrictedToUsers") .HasForeignKey("FeaturePermissionId"); }); modelBuilder.Entity("vassago.Models.Channel", b => { b.Navigation("Messages"); b.Navigation("SubChannels"); b.Navigation("Users"); }); modelBuilder.Entity("vassago.Models.FeaturePermission", b => { b.Navigation("RestrictedToAccounts"); b.Navigation("RestrictedToChannels"); b.Navigation("RestrictedToUsers"); }); modelBuilder.Entity("vassago.Models.Message", b => { b.Navigation("Attachments"); }); modelBuilder.Entity("vassago.Models.User", b => { b.Navigation("Accounts"); }); #pragma warning restore 612, 618 } } }