// using System; using System.Collections.Generic; using System.Text.Json; using DysonNetwork.Sphere; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using NodaTime; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using NpgsqlTypes; #nullable disable namespace DysonNetwork.Sphere.Migrations { [DbContext(typeof(AppDatabase))] partial class AppDatabaseModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.3") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DysonNetwork.Sphere.Account.Account", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ActivatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("activated_at"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("IsSuperuser") .HasColumnType("boolean") .HasColumnName("is_superuser"); b.Property("Language") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)") .HasColumnName("language"); b.Property("Name") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("name"); b.Property("Nick") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("nick"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_accounts"); b.HasIndex("Name") .IsUnique() .HasDatabaseName("ix_accounts_name"); b.ToTable("accounts", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.AccountAuthFactor", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Secret") .HasColumnType("text") .HasColumnName("secret"); b.Property("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_account_auth_factors"); b.HasIndex("AccountId") .HasDatabaseName("ix_account_auth_factors_account_id"); b.ToTable("account_auth_factors", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.AccountContact", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("Content") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("content"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("VerifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("verified_at"); b.HasKey("Id") .HasName("pk_account_contacts"); b.HasIndex("AccountId") .HasDatabaseName("ix_account_contacts_account_id"); b.ToTable("account_contacts", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.MagicSpell", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("AffectedAt") .HasColumnType("timestamp with time zone") .HasColumnName("affected_at"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ExpiresAt") .HasColumnType("timestamp with time zone") .HasColumnName("expires_at"); b.Property>("Meta") .IsRequired() .HasColumnType("jsonb") .HasColumnName("meta"); b.Property("Spell") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("spell"); b.Property("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_magic_spells"); b.HasIndex("AccountId") .HasDatabaseName("ix_magic_spells_account_id"); b.HasIndex("Spell") .IsUnique() .HasDatabaseName("ix_magic_spells_spell"); b.ToTable("magic_spells", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Notification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("Content") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("content"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property>("Meta") .HasColumnType("jsonb") .HasColumnName("meta"); b.Property("Priority") .HasColumnType("integer") .HasColumnName("priority"); b.Property("Subtitle") .HasMaxLength(2048) .HasColumnType("character varying(2048)") .HasColumnName("subtitle"); b.Property("Title") .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("title"); b.Property("Topic") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("topic"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("ViewedAt") .HasColumnType("timestamp with time zone") .HasColumnName("viewed_at"); b.HasKey("Id") .HasName("pk_notifications"); b.HasIndex("AccountId") .HasDatabaseName("ix_notifications_account_id"); b.ToTable("notifications", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.NotificationPushSubscription", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeviceId") .IsRequired() .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("device_id"); b.Property("DeviceToken") .IsRequired() .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("device_token"); b.Property("LastUsedAt") .HasColumnType("timestamp with time zone") .HasColumnName("last_used_at"); b.Property("Provider") .HasColumnType("integer") .HasColumnName("provider"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_notification_push_subscriptions"); b.HasIndex("AccountId") .HasDatabaseName("ix_notification_push_subscriptions_account_id"); b.HasIndex("DeviceId") .IsUnique() .HasDatabaseName("ix_notification_push_subscriptions_device_id"); b.HasIndex("DeviceToken") .IsUnique() .HasDatabaseName("ix_notification_push_subscriptions_device_token"); b.ToTable("notification_push_subscriptions", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Profile", b => { b.Property("Id") .HasColumnType("bigint") .HasColumnName("id"); b.Property("BackgroundId") .HasColumnType("character varying(128)") .HasColumnName("background_id"); b.Property("Bio") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("bio"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("FirstName") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("first_name"); b.Property("LastName") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("last_name"); b.Property("MiddleName") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("middle_name"); b.Property("PictureId") .HasColumnType("character varying(128)") .HasColumnName("picture_id"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_account_profiles"); b.HasIndex("BackgroundId") .HasDatabaseName("ix_account_profiles_background_id"); b.HasIndex("PictureId") .HasDatabaseName("ix_account_profiles_picture_id"); b.ToTable("account_profiles", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Relationship", b => { b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("RelatedId") .HasColumnType("bigint") .HasColumnName("related_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone") .HasColumnName("expired_at"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("AccountId", "RelatedId") .HasName("pk_account_relationships"); b.HasIndex("RelatedId") .HasDatabaseName("ix_account_relationships_related_id"); b.ToTable("account_relationships", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Activity.Activity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ResourceIdentifier") .IsRequired() .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("resource_identifier"); b.Property("Type") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("Visibility") .HasColumnType("integer") .HasColumnName("visibility"); b.HasKey("Id") .HasName("pk_activities"); b.HasIndex("AccountId") .HasDatabaseName("ix_activities_account_id"); b.ToTable("activities", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Auth.Challenge", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property>("Audiences") .IsRequired() .HasColumnType("jsonb") .HasColumnName("audiences"); b.Property>("BlacklistFactors") .IsRequired() .HasColumnType("jsonb") .HasColumnName("blacklist_factors"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("DeviceId") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("device_id"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone") .HasColumnName("expired_at"); b.Property("FailedAttempts") .HasColumnType("integer") .HasColumnName("failed_attempts"); b.Property("IpAddress") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("ip_address"); b.Property("Nonce") .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("nonce"); b.Property("Platform") .HasColumnType("integer") .HasColumnName("platform"); b.Property>("Scopes") .IsRequired() .HasColumnType("jsonb") .HasColumnName("scopes"); b.Property("StepRemain") .HasColumnType("integer") .HasColumnName("step_remain"); b.Property("StepTotal") .HasColumnType("integer") .HasColumnName("step_total"); b.Property("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("UserAgent") .HasMaxLength(512) .HasColumnType("character varying(512)") .HasColumnName("user_agent"); b.HasKey("Id") .HasName("pk_auth_challenges"); b.HasIndex("AccountId") .HasDatabaseName("ix_auth_challenges_account_id"); b.ToTable("auth_challenges", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Auth.Session", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("ChallengeId") .HasColumnType("uuid") .HasColumnName("challenge_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone") .HasColumnName("expired_at"); b.Property("Label") .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("label"); b.Property("LastGrantedAt") .HasColumnType("timestamp with time zone") .HasColumnName("last_granted_at"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_auth_sessions"); b.HasIndex("AccountId") .HasDatabaseName("ix_auth_sessions_account_id"); b.HasIndex("ChallengeId") .HasDatabaseName("ix_auth_sessions_challenge_id"); b.ToTable("auth_sessions", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.ChatMember", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("ChatRoomId") .HasColumnType("bigint") .HasColumnName("chat_room_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("IsBot") .HasColumnType("boolean") .HasColumnName("is_bot"); b.Property("JoinedAt") .HasColumnType("timestamp with time zone") .HasColumnName("joined_at"); b.Property("Nick") .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("nick"); b.Property("Notify") .HasColumnType("integer") .HasColumnName("notify"); b.Property("Role") .HasColumnType("integer") .HasColumnName("role"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_chat_members"); b.HasAlternateKey("ChatRoomId", "AccountId") .HasName("ak_chat_members_chat_room_id_account_id"); b.HasIndex("AccountId") .HasDatabaseName("ix_chat_members_account_id"); b.ToTable("chat_members", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.ChatRoom", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("BackgroundId") .HasColumnType("character varying(128)") .HasColumnName("background_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Description") .IsRequired() .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("description"); b.Property("IsPublic") .HasColumnType("boolean") .HasColumnName("is_public"); b.Property("Name") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("name"); b.Property("PictureId") .HasColumnType("character varying(128)") .HasColumnName("picture_id"); b.Property("RealmId") .HasColumnType("bigint") .HasColumnName("realm_id"); b.Property("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_chat_rooms"); b.HasIndex("BackgroundId") .HasDatabaseName("ix_chat_rooms_background_id"); b.HasIndex("PictureId") .HasDatabaseName("ix_chat_rooms_picture_id"); b.HasIndex("RealmId") .HasDatabaseName("ix_chat_rooms_realm_id"); b.ToTable("chat_rooms", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.Message", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("ChatRoomId") .HasColumnType("bigint") .HasColumnName("chat_room_id"); b.Property("Content") .IsRequired() .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("content"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("EditedAt") .HasColumnType("timestamp with time zone") .HasColumnName("edited_at"); b.Property("ForwardedMessageId") .HasColumnType("uuid") .HasColumnName("forwarded_message_id"); b.Property>("MembersMentioned") .HasColumnType("jsonb") .HasColumnName("members_mentioned"); b.Property>("Meta") .HasColumnType("jsonb") .HasColumnName("meta"); b.Property("Nonce") .IsRequired() .HasMaxLength(36) .HasColumnType("character varying(36)") .HasColumnName("nonce"); b.Property("RepliedMessageId") .HasColumnType("uuid") .HasColumnName("replied_message_id"); b.Property("SenderId") .HasColumnType("uuid") .HasColumnName("sender_id"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_chat_messages"); b.HasIndex("ChatRoomId") .HasDatabaseName("ix_chat_messages_chat_room_id"); b.HasIndex("ForwardedMessageId") .HasDatabaseName("ix_chat_messages_forwarded_message_id"); b.HasIndex("RepliedMessageId") .HasDatabaseName("ix_chat_messages_replied_message_id"); b.HasIndex("SenderId") .HasDatabaseName("ix_chat_messages_sender_id"); b.ToTable("chat_messages", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.MessageReaction", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Attitude") .HasColumnType("integer") .HasColumnName("attitude"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("MessageId") .HasColumnType("uuid") .HasColumnName("message_id"); b.Property("SenderId") .HasColumnType("uuid") .HasColumnName("sender_id"); b.Property("Symbol") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("symbol"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_message_reaction"); b.HasIndex("MessageId") .HasDatabaseName("ix_message_reaction_message_id"); b.HasIndex("SenderId") .HasDatabaseName("ix_message_reaction_sender_id"); b.ToTable("message_reaction", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.MessageStatus", b => { b.Property("MessageId") .HasColumnType("uuid") .HasColumnName("message_id"); b.Property("SenderId") .HasColumnType("uuid") .HasColumnName("sender_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ReadAt") .HasColumnType("timestamp with time zone") .HasColumnName("read_at"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("MessageId", "SenderId") .HasName("pk_chat_statuses"); b.HasIndex("SenderId") .HasDatabaseName("ix_chat_statuses_sender_id"); b.ToTable("chat_statuses", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Permission.PermissionGroup", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Key") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("key"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_permission_groups"); b.ToTable("permission_groups", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Permission.PermissionGroupMember", b => { b.Property("GroupId") .HasColumnType("uuid") .HasColumnName("group_id"); b.Property("Actor") .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("actor"); b.Property("AffectedAt") .HasColumnType("timestamp with time zone") .HasColumnName("affected_at"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone") .HasColumnName("expired_at"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("GroupId", "Actor") .HasName("pk_permission_group_members"); b.ToTable("permission_group_members", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Permission.PermissionNode", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Actor") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("actor"); b.Property("AffectedAt") .HasColumnType("timestamp with time zone") .HasColumnName("affected_at"); b.Property("Area") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("area"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone") .HasColumnName("expired_at"); b.Property("GroupId") .HasColumnType("uuid") .HasColumnName("group_id"); b.Property("Key") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("key"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("Value") .IsRequired() .HasColumnType("jsonb") .HasColumnName("value"); b.HasKey("Id") .HasName("pk_permission_nodes"); b.HasIndex("GroupId") .HasDatabaseName("ix_permission_nodes_group_id"); b.HasIndex("Key", "Area", "Actor") .HasDatabaseName("ix_permission_nodes_key_area_actor"); b.ToTable("permission_nodes", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.Post", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Content") .HasColumnType("text") .HasColumnName("content"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Description") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("description"); b.Property("Downvotes") .HasColumnType("integer") .HasColumnName("downvotes"); b.Property("EditedAt") .HasColumnType("timestamp with time zone") .HasColumnName("edited_at"); b.Property("ForwardedPostId") .HasColumnType("bigint") .HasColumnName("forwarded_post_id"); b.Property("Language") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("language"); b.Property>("Meta") .HasColumnType("jsonb") .HasColumnName("meta"); b.Property("PublishedAt") .HasColumnType("timestamp with time zone") .HasColumnName("published_at"); b.Property("PublisherId") .HasColumnType("bigint") .HasColumnName("publisher_id"); b.Property("RepliedPostId") .HasColumnType("bigint") .HasColumnName("replied_post_id"); b.Property("SearchVector") .IsRequired() .ValueGeneratedOnAddOrUpdate() .HasColumnType("tsvector") .HasColumnName("search_vector") .HasAnnotation("Npgsql:TsVectorConfig", "simple") .HasAnnotation("Npgsql:TsVectorProperties", new[] { "Title", "Description", "Content" }); b.Property("ThreadedPostId") .HasColumnType("bigint") .HasColumnName("threaded_post_id"); b.Property("Title") .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("title"); b.Property("Type") .HasColumnType("integer") .HasColumnName("type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("Upvotes") .HasColumnType("integer") .HasColumnName("upvotes"); b.Property("ViewsTotal") .HasColumnType("integer") .HasColumnName("views_total"); b.Property("ViewsUnique") .HasColumnType("integer") .HasColumnName("views_unique"); b.Property("Visibility") .HasColumnType("integer") .HasColumnName("visibility"); b.HasKey("Id") .HasName("pk_posts"); b.HasIndex("ForwardedPostId") .HasDatabaseName("ix_posts_forwarded_post_id"); b.HasIndex("PublisherId") .HasDatabaseName("ix_posts_publisher_id"); b.HasIndex("RepliedPostId") .HasDatabaseName("ix_posts_replied_post_id"); b.HasIndex("SearchVector") .HasDatabaseName("ix_posts_search_vector"); NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("SearchVector"), "GIN"); b.HasIndex("ThreadedPostId") .IsUnique() .HasDatabaseName("ix_posts_threaded_post_id"); b.ToTable("posts", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PostCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("name"); b.Property("Slug") .IsRequired() .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("slug"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_post_categories"); b.ToTable("post_categories", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PostCollection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Description") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("description"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("name"); b.Property("PublisherId") .HasColumnType("bigint") .HasColumnName("publisher_id"); b.Property("Slug") .IsRequired() .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("slug"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_post_collections"); b.HasIndex("PublisherId") .HasDatabaseName("ix_post_collections_publisher_id"); b.ToTable("post_collections", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PostReaction", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("Attitude") .HasColumnType("integer") .HasColumnName("attitude"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("PostId") .HasColumnType("bigint") .HasColumnName("post_id"); b.Property("Symbol") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("symbol"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_post_reactions"); b.HasIndex("AccountId") .HasDatabaseName("ix_post_reactions_account_id"); b.HasIndex("PostId") .HasDatabaseName("ix_post_reactions_post_id"); b.ToTable("post_reactions", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PostTag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("name"); b.Property("Slug") .IsRequired() .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("slug"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_post_tags"); b.ToTable("post_tags", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.Publisher", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("BackgroundId") .HasColumnType("character varying(128)") .HasColumnName("background_id"); b.Property("Bio") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("bio"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Name") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("name"); b.Property("Nick") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("nick"); b.Property("PictureId") .HasColumnType("character varying(128)") .HasColumnName("picture_id"); b.Property("PublisherType") .HasColumnType("integer") .HasColumnName("publisher_type"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("Id") .HasName("pk_publishers"); b.HasIndex("AccountId") .HasDatabaseName("ix_publishers_account_id"); b.HasIndex("BackgroundId") .HasDatabaseName("ix_publishers_background_id"); b.HasIndex("Name") .IsUnique() .HasDatabaseName("ix_publishers_name"); b.HasIndex("PictureId") .HasDatabaseName("ix_publishers_picture_id"); b.ToTable("publishers", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PublisherMember", b => { b.Property("PublisherId") .HasColumnType("bigint") .HasColumnName("publisher_id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("JoinedAt") .HasColumnType("timestamp with time zone") .HasColumnName("joined_at"); b.Property("Role") .HasColumnType("integer") .HasColumnName("role"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("PublisherId", "AccountId") .HasName("pk_publisher_members"); b.HasIndex("AccountId") .HasDatabaseName("ix_publisher_members_account_id"); b.ToTable("publisher_members", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Realm.Realm", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("BackgroundId") .HasColumnType("character varying(128)") .HasColumnName("background_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Description") .IsRequired() .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("description"); b.Property("IsCommunity") .HasColumnType("boolean") .HasColumnName("is_community"); b.Property("IsPublic") .HasColumnType("boolean") .HasColumnName("is_public"); b.Property("Name") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("name"); b.Property("PictureId") .HasColumnType("character varying(128)") .HasColumnName("picture_id"); b.Property("Slug") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("slug"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("VerifiedAs") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("verified_as"); b.Property("VerifiedAt") .HasColumnType("timestamp with time zone") .HasColumnName("verified_at"); b.HasKey("Id") .HasName("pk_realms"); b.HasIndex("AccountId") .HasDatabaseName("ix_realms_account_id"); b.HasIndex("BackgroundId") .HasDatabaseName("ix_realms_background_id"); b.HasIndex("PictureId") .HasDatabaseName("ix_realms_picture_id"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_realms_slug"); b.ToTable("realms", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Realm.RealmMember", b => { b.Property("RealmId") .HasColumnType("bigint") .HasColumnName("realm_id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("JoinedAt") .HasColumnType("timestamp with time zone") .HasColumnName("joined_at"); b.Property("Role") .HasColumnType("integer") .HasColumnName("role"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.HasKey("RealmId", "AccountId") .HasName("pk_realm_members"); b.HasIndex("AccountId") .HasDatabaseName("ix_realm_members_account_id"); b.ToTable("realm_members", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Storage.CloudFile", b => { b.Property("Id") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("id"); b.Property("AccountId") .HasColumnType("bigint") .HasColumnName("account_id"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("DeletedAt") .HasColumnType("timestamp with time zone") .HasColumnName("deleted_at"); b.Property("Description") .HasMaxLength(4096) .HasColumnType("character varying(4096)") .HasColumnName("description"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone") .HasColumnName("expired_at"); b.Property>("FileMeta") .HasColumnType("jsonb") .HasColumnName("file_meta"); b.Property("HasCompression") .HasColumnType("boolean") .HasColumnName("has_compression"); b.Property("Hash") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("hash"); b.Property("MessageId") .HasColumnType("uuid") .HasColumnName("message_id"); b.Property("MimeType") .HasMaxLength(256) .HasColumnType("character varying(256)") .HasColumnName("mime_type"); b.Property("Name") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)") .HasColumnName("name"); b.Property("PostId") .HasColumnType("bigint") .HasColumnName("post_id"); b.Property("Size") .HasColumnType("bigint") .HasColumnName("size"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("updated_at"); b.Property("UploadedAt") .HasColumnType("timestamp with time zone") .HasColumnName("uploaded_at"); b.Property("UploadedTo") .HasMaxLength(128) .HasColumnType("character varying(128)") .HasColumnName("uploaded_to"); b.Property("UsedCount") .HasColumnType("integer") .HasColumnName("used_count"); b.Property>("UserMeta") .HasColumnType("jsonb") .HasColumnName("user_meta"); b.HasKey("Id") .HasName("pk_files"); b.HasIndex("AccountId") .HasDatabaseName("ix_files_account_id"); b.HasIndex("MessageId") .HasDatabaseName("ix_files_message_id"); b.HasIndex("PostId") .HasDatabaseName("ix_files_post_id"); b.ToTable("files", (string)null); }); modelBuilder.Entity("PostPostCategory", b => { b.Property("CategoriesId") .HasColumnType("bigint") .HasColumnName("categories_id"); b.Property("PostsId") .HasColumnType("bigint") .HasColumnName("posts_id"); b.HasKey("CategoriesId", "PostsId") .HasName("pk_post_category_links"); b.HasIndex("PostsId") .HasDatabaseName("ix_post_category_links_posts_id"); b.ToTable("post_category_links", (string)null); }); modelBuilder.Entity("PostPostCollection", b => { b.Property("CollectionsId") .HasColumnType("bigint") .HasColumnName("collections_id"); b.Property("PostsId") .HasColumnType("bigint") .HasColumnName("posts_id"); b.HasKey("CollectionsId", "PostsId") .HasName("pk_post_collection_links"); b.HasIndex("PostsId") .HasDatabaseName("ix_post_collection_links_posts_id"); b.ToTable("post_collection_links", (string)null); }); modelBuilder.Entity("PostPostTag", b => { b.Property("PostsId") .HasColumnType("bigint") .HasColumnName("posts_id"); b.Property("TagsId") .HasColumnType("bigint") .HasColumnName("tags_id"); b.HasKey("PostsId", "TagsId") .HasName("pk_post_tag_links"); b.HasIndex("TagsId") .HasDatabaseName("ix_post_tag_links_tags_id"); b.ToTable("post_tag_links", (string)null); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.AccountAuthFactor", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany("AuthFactors") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_account_auth_factors_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.AccountContact", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany("Contacts") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_account_contacts_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.MagicSpell", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .HasConstraintName("fk_magic_spells_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Notification", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_notifications_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.NotificationPushSubscription", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_notification_push_subscriptions_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Profile", b => { b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Background") .WithMany() .HasForeignKey("BackgroundId") .HasConstraintName("fk_account_profiles_files_background_id"); b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithOne("Profile") .HasForeignKey("DysonNetwork.Sphere.Account.Profile", "Id") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_account_profiles_accounts_id"); b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Picture") .WithMany() .HasForeignKey("PictureId") .HasConstraintName("fk_account_profiles_files_picture_id"); b.Navigation("Account"); b.Navigation("Background"); b.Navigation("Picture"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Relationship", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany("OutgoingRelationships") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_account_relationships_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Account.Account", "Related") .WithMany("IncomingRelationships") .HasForeignKey("RelatedId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_account_relationships_accounts_related_id"); b.Navigation("Account"); b.Navigation("Related"); }); modelBuilder.Entity("DysonNetwork.Sphere.Activity.Activity", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_activities_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Auth.Challenge", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany("Challenges") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_auth_challenges_accounts_account_id"); b.Navigation("Account"); }); modelBuilder.Entity("DysonNetwork.Sphere.Auth.Session", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany("Sessions") .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_auth_sessions_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Auth.Challenge", "Challenge") .WithMany() .HasForeignKey("ChallengeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_auth_sessions_auth_challenges_challenge_id"); b.Navigation("Account"); b.Navigation("Challenge"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.ChatMember", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_chat_members_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Chat.ChatRoom", "ChatRoom") .WithMany("Members") .HasForeignKey("ChatRoomId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_chat_members_chat_rooms_chat_room_id"); b.Navigation("Account"); b.Navigation("ChatRoom"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.ChatRoom", b => { b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Background") .WithMany() .HasForeignKey("BackgroundId") .HasConstraintName("fk_chat_rooms_files_background_id"); b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Picture") .WithMany() .HasForeignKey("PictureId") .HasConstraintName("fk_chat_rooms_files_picture_id"); b.HasOne("DysonNetwork.Sphere.Realm.Realm", "Realm") .WithMany("ChatRooms") .HasForeignKey("RealmId") .HasConstraintName("fk_chat_rooms_realms_realm_id"); b.Navigation("Background"); b.Navigation("Picture"); b.Navigation("Realm"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.Message", b => { b.HasOne("DysonNetwork.Sphere.Chat.ChatRoom", "ChatRoom") .WithMany() .HasForeignKey("ChatRoomId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_chat_messages_chat_rooms_chat_room_id"); b.HasOne("DysonNetwork.Sphere.Chat.Message", "ForwardedMessage") .WithMany() .HasForeignKey("ForwardedMessageId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("fk_chat_messages_chat_messages_forwarded_message_id"); b.HasOne("DysonNetwork.Sphere.Chat.Message", "RepliedMessage") .WithMany() .HasForeignKey("RepliedMessageId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("fk_chat_messages_chat_messages_replied_message_id"); b.HasOne("DysonNetwork.Sphere.Chat.ChatMember", "Sender") .WithMany() .HasForeignKey("SenderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_chat_messages_chat_members_sender_id"); b.Navigation("ChatRoom"); b.Navigation("ForwardedMessage"); b.Navigation("RepliedMessage"); b.Navigation("Sender"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.MessageReaction", b => { b.HasOne("DysonNetwork.Sphere.Chat.Message", "Message") .WithMany("Reactions") .HasForeignKey("MessageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_message_reaction_chat_messages_message_id"); b.HasOne("DysonNetwork.Sphere.Chat.ChatMember", "Sender") .WithMany() .HasForeignKey("SenderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_message_reaction_chat_members_sender_id"); b.Navigation("Message"); b.Navigation("Sender"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.MessageStatus", b => { b.HasOne("DysonNetwork.Sphere.Chat.Message", "Message") .WithMany("Statuses") .HasForeignKey("MessageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_chat_statuses_chat_messages_message_id"); b.HasOne("DysonNetwork.Sphere.Chat.ChatMember", "Sender") .WithMany() .HasForeignKey("SenderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_chat_statuses_chat_members_sender_id"); b.Navigation("Message"); b.Navigation("Sender"); }); modelBuilder.Entity("DysonNetwork.Sphere.Permission.PermissionGroupMember", b => { b.HasOne("DysonNetwork.Sphere.Permission.PermissionGroup", "Group") .WithMany("Members") .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_permission_group_members_permission_groups_group_id"); b.Navigation("Group"); }); modelBuilder.Entity("DysonNetwork.Sphere.Permission.PermissionNode", b => { b.HasOne("DysonNetwork.Sphere.Permission.PermissionGroup", "Group") .WithMany("Nodes") .HasForeignKey("GroupId") .HasConstraintName("fk_permission_nodes_permission_groups_group_id"); b.Navigation("Group"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.Post", b => { b.HasOne("DysonNetwork.Sphere.Post.Post", "ForwardedPost") .WithMany() .HasForeignKey("ForwardedPostId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("fk_posts_posts_forwarded_post_id"); b.HasOne("DysonNetwork.Sphere.Post.Publisher", "Publisher") .WithMany("Posts") .HasForeignKey("PublisherId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_posts_publishers_publisher_id"); b.HasOne("DysonNetwork.Sphere.Post.Post", "RepliedPost") .WithMany() .HasForeignKey("RepliedPostId") .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("fk_posts_posts_replied_post_id"); b.HasOne("DysonNetwork.Sphere.Post.Post", "ThreadedPost") .WithOne() .HasForeignKey("DysonNetwork.Sphere.Post.Post", "ThreadedPostId") .HasConstraintName("fk_posts_posts_threaded_post_id"); b.Navigation("ForwardedPost"); b.Navigation("Publisher"); b.Navigation("RepliedPost"); b.Navigation("ThreadedPost"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PostCollection", b => { b.HasOne("DysonNetwork.Sphere.Post.Publisher", "Publisher") .WithMany("Collections") .HasForeignKey("PublisherId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_collections_publishers_publisher_id"); b.Navigation("Publisher"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PostReaction", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_reactions_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Post.Post", "Post") .WithMany("Reactions") .HasForeignKey("PostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_reactions_posts_post_id"); b.Navigation("Account"); b.Navigation("Post"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.Publisher", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .HasConstraintName("fk_publishers_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Background") .WithMany() .HasForeignKey("BackgroundId") .HasConstraintName("fk_publishers_files_background_id"); b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Picture") .WithMany() .HasForeignKey("PictureId") .HasConstraintName("fk_publishers_files_picture_id"); b.Navigation("Account"); b.Navigation("Background"); b.Navigation("Picture"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.PublisherMember", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_publisher_members_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Post.Publisher", "Publisher") .WithMany("Members") .HasForeignKey("PublisherId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_publisher_members_publishers_publisher_id"); b.Navigation("Account"); b.Navigation("Publisher"); }); modelBuilder.Entity("DysonNetwork.Sphere.Realm.Realm", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_realms_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Background") .WithMany() .HasForeignKey("BackgroundId") .HasConstraintName("fk_realms_files_background_id"); b.HasOne("DysonNetwork.Sphere.Storage.CloudFile", "Picture") .WithMany() .HasForeignKey("PictureId") .HasConstraintName("fk_realms_files_picture_id"); b.Navigation("Account"); b.Navigation("Background"); b.Navigation("Picture"); }); modelBuilder.Entity("DysonNetwork.Sphere.Realm.RealmMember", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_realm_members_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Realm.Realm", "Realm") .WithMany("Members") .HasForeignKey("RealmId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_realm_members_realms_realm_id"); b.Navigation("Account"); b.Navigation("Realm"); }); modelBuilder.Entity("DysonNetwork.Sphere.Storage.CloudFile", b => { b.HasOne("DysonNetwork.Sphere.Account.Account", "Account") .WithMany() .HasForeignKey("AccountId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_files_accounts_account_id"); b.HasOne("DysonNetwork.Sphere.Chat.Message", null) .WithMany("Attachments") .HasForeignKey("MessageId") .HasConstraintName("fk_files_chat_messages_message_id"); b.HasOne("DysonNetwork.Sphere.Post.Post", null) .WithMany("Attachments") .HasForeignKey("PostId") .HasConstraintName("fk_files_posts_post_id"); b.Navigation("Account"); }); modelBuilder.Entity("PostPostCategory", b => { b.HasOne("DysonNetwork.Sphere.Post.PostCategory", null) .WithMany() .HasForeignKey("CategoriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_category_links_post_categories_categories_id"); b.HasOne("DysonNetwork.Sphere.Post.Post", null) .WithMany() .HasForeignKey("PostsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_category_links_posts_posts_id"); }); modelBuilder.Entity("PostPostCollection", b => { b.HasOne("DysonNetwork.Sphere.Post.PostCollection", null) .WithMany() .HasForeignKey("CollectionsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_collection_links_post_collections_collections_id"); b.HasOne("DysonNetwork.Sphere.Post.Post", null) .WithMany() .HasForeignKey("PostsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_collection_links_posts_posts_id"); }); modelBuilder.Entity("PostPostTag", b => { b.HasOne("DysonNetwork.Sphere.Post.Post", null) .WithMany() .HasForeignKey("PostsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_tag_links_posts_posts_id"); b.HasOne("DysonNetwork.Sphere.Post.PostTag", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_post_tag_links_post_tags_tags_id"); }); modelBuilder.Entity("DysonNetwork.Sphere.Account.Account", b => { b.Navigation("AuthFactors"); b.Navigation("Challenges"); b.Navigation("Contacts"); b.Navigation("IncomingRelationships"); b.Navigation("OutgoingRelationships"); b.Navigation("Profile") .IsRequired(); b.Navigation("Sessions"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.ChatRoom", b => { b.Navigation("Members"); }); modelBuilder.Entity("DysonNetwork.Sphere.Chat.Message", b => { b.Navigation("Attachments"); b.Navigation("Reactions"); b.Navigation("Statuses"); }); modelBuilder.Entity("DysonNetwork.Sphere.Permission.PermissionGroup", b => { b.Navigation("Members"); b.Navigation("Nodes"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.Post", b => { b.Navigation("Attachments"); b.Navigation("Reactions"); }); modelBuilder.Entity("DysonNetwork.Sphere.Post.Publisher", b => { b.Navigation("Collections"); b.Navigation("Members"); b.Navigation("Posts"); }); modelBuilder.Entity("DysonNetwork.Sphere.Realm.Realm", b => { b.Navigation("ChatRooms"); b.Navigation("Members"); }); #pragma warning restore 612, 618 } } }