Iceshrimp.NET/Iceshrimp.Backend/Core/Database/Migrations/20240107182757_RemoveUnusedEnum.Designer.cs

6138 lines
260 KiB
C#

// <auto-generated />
using System;
using System.Collections.Generic;
using Iceshrimp.Backend.Core.Database;
using Iceshrimp.Backend.Core.Database.Tables;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Iceshrimp.Backend.Core.Database.Migrations
{
[DbContext(typeof(DatabaseContext))]
[Migration("20240107182757_RemoveUnusedEnum")]
partial class RemoveUnusedEnum
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "antenna_src_enum", new[] { "home", "all", "users", "list", "group", "instances" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "note_visibility_enum", new[] { "public", "home", "followers", "specified", "hidden" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "notification_type_enum", new[] { "follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded", "receiveFollowRequest", "followRequestAccepted", "groupInvited", "app" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "page_visibility_enum", new[] { "public", "followers", "specified" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "poll_notevisibility_enum", new[] { "public", "home", "followers", "specified", "hidden" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "relay_status_enum", new[] { "requesting", "accepted", "rejected" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "user_profile_ffvisibility_enum", new[] { "public", "followers", "private" });
NpgsqlModelBuilderExtensions.HasPostgresEnum(modelBuilder, "user_profile_mutingnotificationtypes_enum", new[] { "follow", "mention", "reply", "renote", "quote", "reaction", "pollVote", "pollEnded", "receiveFollowRequest", "followRequestAccepted", "groupInvited", "app" });
NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "pg_trgm");
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AbuseUserReport", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AssigneeId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("assigneeId");
b.Property<string>("Comment")
.IsRequired()
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("comment");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the AbuseUserReport.");
b.Property<bool>("Forwarded")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("forwarded");
b.Property<string>("ReporterHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("reporterHost")
.HasComment("[Denormalized]");
b.Property<string>("ReporterId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("reporterId");
b.Property<bool>("Resolved")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("resolved");
b.Property<string>("TargetUserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("targetUserHost")
.HasComment("[Denormalized]");
b.Property<string>("TargetUserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("targetUserId");
b.HasKey("Id")
.HasName("PK_87873f5f5cc5c321a1306b2d18c");
b.HasIndex("AssigneeId");
b.HasIndex(new[] { "ReporterId" }, "IDX_04cc96756f89d0b7f9473e8cdf");
b.HasIndex(new[] { "Resolved" }, "IDX_2b15aaf4a0dc5be3499af7ab6a");
b.HasIndex(new[] { "TargetUserHost" }, "IDX_4ebbf7f93cdc10e8d1ef2fc6cd");
b.HasIndex(new[] { "TargetUserId" }, "IDX_a9021cc2e1feb5f72d3db6e9f5");
b.HasIndex(new[] { "CreatedAt" }, "IDX_db2098070b2b5a523c58181f74");
b.HasIndex(new[] { "ReporterHost" }, "IDX_f8d8b93740ad12c4ce8213a199");
b.ToTable("abuse_user_report");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AccessToken", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AppId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("appId");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the AccessToken.");
b.Property<string>("Description")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("description");
b.Property<bool>("Fetched")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("fetched");
b.Property<string>("Hash")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("hash");
b.Property<string>("IconUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("iconUrl");
b.Property<DateTime?>("LastUsedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastUsedAt");
b.Property<string>("Name")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name");
b.Property<List<string>>("Permission")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(64)[]")
.HasColumnName("permission")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Session")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("session");
b.Property<string>("Token")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("token");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_f20f028607b2603deabd8182d12");
b.HasIndex("AppId");
b.HasIndex(new[] { "Hash" }, "IDX_64c327441248bae40f7d92f34f");
b.HasIndex(new[] { "Token" }, "IDX_70ba8f6af34bc924fc9e12adb8");
b.HasIndex(new[] { "UserId" }, "IDX_9949557d0e1b2c19e5344c171e");
b.HasIndex(new[] { "Session" }, "IDX_bf3a053c07d9fb5d87317c56ee");
b.ToTable("access_token");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Announcement", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Announcement.");
b.Property<string>("ImageUrl")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("imageUrl");
b.Property<bool>("IsGoodNews")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isGoodNews");
b.Property<bool>("ShowPopup")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("showPopup");
b.Property<string>("Text")
.IsRequired()
.HasMaxLength(8192)
.HasColumnType("character varying(8192)")
.HasColumnName("text");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("title");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the Announcement.");
b.HasKey("Id")
.HasName("PK_e0ef0550174fd1099a308fd18a0");
b.HasIndex(new[] { "CreatedAt" }, "IDX_118ec703e596086fc4515acb39");
b.ToTable("announcement");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AnnouncementRead", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AnnouncementId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("announcementId");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the AnnouncementRead.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_4b90ad1f42681d97b2683890c5e");
b.HasIndex(new[] { "AnnouncementId" }, "IDX_603a7b1e7aa0533c6c88e9bfaf");
b.HasIndex(new[] { "UserId" }, "IDX_8288151386172b8109f7239ab2");
b.HasIndex(new[] { "UserId", "AnnouncementId" }, "IDX_924fa71815cfa3941d003702a0")
.IsUnique();
b.ToTable("announcement_read");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Antenna", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<bool>("CaseSensitive")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("caseSensitive");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Antenna.");
b.Property<string>("ExcludeKeywords")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("excludeKeywords")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<string>("Expression")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("expression");
b.Property<string>("Instances")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("instances")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<string>("Keywords")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("keywords")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the Antenna.");
b.Property<bool>("Notify")
.HasColumnType("boolean")
.HasColumnName("notify");
b.Property<Antenna.AntennaSource>("Source")
.HasColumnType("antenna_src_enum")
.HasColumnName("src");
b.Property<string>("UserGroupMemberId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("UserGroupMemberId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.Property<string>("UserListId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userListId");
b.Property<List<string>>("Users")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(1024)[]")
.HasColumnName("users")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<bool>("WithFile")
.HasColumnType("boolean")
.HasColumnName("withFile");
b.Property<bool>("WithReplies")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("withReplies");
b.HasKey("Id")
.HasName("PK_c170b99775e1dccca947c9f2d5f");
b.HasIndex("UserGroupMemberId");
b.HasIndex("UserListId");
b.HasIndex(new[] { "UserId" }, "IDX_6446c571a0e8d0f05f01c78909");
b.ToTable("antenna");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.App", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("CallbackUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("callbackUrl")
.HasComment("The callbackUrl of the App.");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the App.");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("description")
.HasComment("The description of the App.");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the App.");
b.Property<List<string>>("Permission")
.IsRequired()
.HasColumnType("character varying(64)[]")
.HasColumnName("permission")
.HasComment("The permission of the App.");
b.Property<string>("Secret")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("secret")
.HasComment("The secret key of the App.");
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.HasKey("Id")
.HasName("PK_9478629fc093d229df09e560aea");
b.HasIndex(new[] { "CreatedAt" }, "IDX_048a757923ed8b157e9895da53");
b.HasIndex(new[] { "UserId" }, "IDX_3f5b0899ef90527a3462d7c2cb");
b.HasIndex(new[] { "Secret" }, "IDX_f49922d511d666848f250663c4");
b.ToTable("app");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AttestationChallenge", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.Property<string>("Challenge")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("challenge")
.HasComment("Hex-encoded sha256 hash of the challenge.");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The date challenge was created for expiry purposes.");
b.Property<bool>("RegistrationChallenge")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("registrationChallenge")
.HasComment("Indicates that the challenge is only for registration purposes if true to prevent the challenge for being used as authentication.");
b.HasKey("Id", "UserId")
.HasName("PK_d0ba6786e093f1bcb497572a6b5");
b.HasIndex(new[] { "Challenge" }, "IDX_47efb914aed1f72dd39a306c7b");
b.HasIndex(new[] { "UserId" }, "IDX_f1a461a618fa1755692d0e0d59");
b.ToTable("attestation_challenge");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AuthSession", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AppId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("appId");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the AuthSession.");
b.Property<string>("Token")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("token");
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_19354ed146424a728c1112a8cbf");
b.HasIndex("AppId");
b.HasIndex("UserId");
b.HasIndex(new[] { "Token" }, "IDX_62cb09e1129f6ec024ef66e183");
b.ToTable("auth_session");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Blocking", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("BlockeeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("blockeeId")
.HasComment("The blockee user ID.");
b.Property<string>("BlockerId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("blockerId")
.HasComment("The blocker user ID.");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Blocking.");
b.HasKey("Id")
.HasName("PK_e5d9a541cc1965ee7e048ea09dd");
b.HasIndex(new[] { "BlockerId" }, "IDX_0627125f1a8a42c9a1929edb55");
b.HasIndex(new[] { "BlockeeId" }, "IDX_2cd4a2743a99671308f5417759");
b.HasIndex(new[] { "BlockerId", "BlockeeId" }, "IDX_98a1bc5cb30dfd159de056549f")
.IsUnique();
b.HasIndex(new[] { "CreatedAt" }, "IDX_b9a354f7941c1e779f3b33aea6");
b.ToTable("blocking");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Channel", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("BannerId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("bannerId")
.HasComment("The ID of banner Channel.");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Channel.");
b.Property<string>("Description")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("description")
.HasComment("The description of the Channel.");
b.Property<DateTime?>("LastNotedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastNotedAt");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the Channel.");
b.Property<int>("NotesCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("notesCount")
.HasComment("The count of notes.");
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.Property<int>("UsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("usersCount")
.HasComment("The count of users.");
b.HasKey("Id")
.HasName("PK_590f33ee6ee7d76437acf362e39");
b.HasIndex("BannerId");
b.HasIndex(new[] { "UsersCount" }, "IDX_094b86cd36bb805d1aa1e8cc9a");
b.HasIndex(new[] { "NotesCount" }, "IDX_0f58c11241e649d2a638a8de94");
b.HasIndex(new[] { "LastNotedAt" }, "IDX_29ef80c6f13bcea998447fce43");
b.HasIndex(new[] { "CreatedAt" }, "IDX_71cb7b435b7c0d4843317e7e16");
b.HasIndex(new[] { "UserId" }, "IDX_823bae55bd81b3be6e05cff438");
b.ToTable("channel");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelFollowing", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the ChannelFollowing.");
b.Property<string>("FolloweeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followeeId")
.HasComment("The followee channel ID.");
b.Property<string>("FollowerId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followerId")
.HasComment("The follower user ID.");
b.HasKey("Id")
.HasName("PK_8b104be7f7415113f2a02cd5bdd");
b.HasIndex(new[] { "FolloweeId" }, "IDX_0e43068c3f92cab197c3d3cd86");
b.HasIndex(new[] { "CreatedAt" }, "IDX_11e71f2511589dcc8a4d3214f9");
b.HasIndex(new[] { "FollowerId", "FolloweeId" }, "IDX_2e230dd45a10e671d781d99f3e")
.IsUnique();
b.HasIndex(new[] { "FollowerId" }, "IDX_6d8084ec9496e7334a4602707e");
b.ToTable("channel_following");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelNotePin", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("ChannelId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("channelId");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the ChannelNotePin.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.HasKey("Id")
.HasName("PK_44f7474496bcf2e4b741681146d");
b.HasIndex("NoteId");
b.HasIndex(new[] { "ChannelId" }, "IDX_8125f950afd3093acb10d2db8a");
b.HasIndex(new[] { "ChannelId", "NoteId" }, "IDX_f36fed37d6d4cdcc68c803cd9c")
.IsUnique();
b.ToTable("channel_note_pin");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Clip", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Clip.");
b.Property<string>("Description")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("description")
.HasComment("The description of the Clip.");
b.Property<bool>("IsPublic")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isPublic");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the Clip.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.HasKey("Id")
.HasName("PK_f0685dac8d4dd056d7255670b75");
b.HasIndex(new[] { "UserId" }, "IDX_2b5ec6c574d6802c94c80313fb");
b.ToTable("clip");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ClipNote", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("ClipId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("clipId")
.HasComment("The clip ID.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId")
.HasComment("The note ID.");
b.HasKey("Id")
.HasName("PK_e94cda2f40a99b57e032a1a738b");
b.HasIndex(new[] { "NoteId", "ClipId" }, "IDX_6fc0ec357d55a18646262fdfff")
.IsUnique();
b.HasIndex(new[] { "NoteId" }, "IDX_a012eaf5c87c65da1deb5fdbfa");
b.HasIndex(new[] { "ClipId" }, "IDX_ebe99317bbbe9968a0c6f579ad");
b.ToTable("clip_note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFile", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AccessKey")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("accessKey");
b.Property<string>("Blurhash")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("blurhash")
.HasComment("The BlurHash string.");
b.Property<string>("Comment")
.HasMaxLength(8192)
.HasColumnType("character varying(8192)")
.HasColumnName("comment")
.HasComment("The comment of the DriveFile.");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the DriveFile.");
b.Property<string>("FolderId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("folderId")
.HasComment("The parent folder ID. If null, it means the DriveFile is located in root.");
b.Property<bool>("IsLink")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isLink")
.HasComment("Whether the DriveFile is direct link to remote server.");
b.Property<bool>("IsSensitive")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isSensitive")
.HasComment("Whether the DriveFile is NSFW.");
b.Property<string>("Md5")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("md5")
.HasComment("The MD5 hash of the DriveFile.");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("name")
.HasComment("The file name of the DriveFile.");
b.Property<string>("Properties")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("properties")
.HasDefaultValueSql("'{}'::jsonb")
.HasComment("The any properties of the DriveFile. For example, it includes image width/height.");
b.Property<string>("RequestHeaders")
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("requestHeaders")
.HasDefaultValueSql("'{}'::jsonb");
b.Property<string>("RequestIp")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("requestIp");
b.Property<int>("Size")
.HasColumnType("integer")
.HasColumnName("size")
.HasComment("The file size (bytes) of the DriveFile.");
b.Property<string>("Src")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("src");
b.Property<bool>("StoredInternal")
.HasColumnType("boolean")
.HasColumnName("storedInternal");
b.Property<string>("ThumbnailAccessKey")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("thumbnailAccessKey");
b.Property<string>("ThumbnailUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("thumbnailUrl")
.HasComment("The URL of the thumbnail of the DriveFile.");
b.Property<string>("Type")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("type")
.HasComment("The content type (MIME) of the DriveFile.");
b.Property<string>("Uri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("uri")
.HasComment("The URI of the DriveFile. it will be null when the DriveFile is local.");
b.Property<string>("Url")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("url")
.HasComment("The URL of the DriveFile.");
b.Property<string>("UserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("userHost")
.HasComment("The host of owner. It will be null if the user in local.");
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.Property<string>("WebpublicAccessKey")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("webpublicAccessKey");
b.Property<string>("WebpublicType")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("webpublicType");
b.Property<string>("WebpublicUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("webpublicUrl")
.HasComment("The URL of the webpublic of the DriveFile.");
b.HasKey("Id")
.HasName("PK_43ddaaaf18c9e68029b7cbb032e");
b.HasIndex(new[] { "IsLink" }, "IDX_315c779174fe8247ab324f036e");
b.HasIndex(new[] { "Md5" }, "IDX_37bb9a1b4585f8a3beb24c62d6");
b.HasIndex(new[] { "UserId", "FolderId", "Id" }, "IDX_55720b33a61a7c806a8215b825");
b.HasIndex(new[] { "UserId" }, "IDX_860fa6f6c7df5bb887249fba22");
b.HasIndex(new[] { "UserHost" }, "IDX_92779627994ac79277f070c91e");
b.HasIndex(new[] { "Type" }, "IDX_a40b8df8c989d7db937ea27cf6");
b.HasIndex(new[] { "IsSensitive" }, "IDX_a7eba67f8b3fa27271e85d2e26");
b.HasIndex(new[] { "FolderId" }, "IDX_bb90d1956dafc4068c28aa7560");
b.HasIndex(new[] { "WebpublicAccessKey" }, "IDX_c55b2b7c284d9fef98026fc88e")
.IsUnique();
b.HasIndex(new[] { "CreatedAt" }, "IDX_c8dfad3b72196dd1d6b5db168a");
b.HasIndex(new[] { "AccessKey" }, "IDX_d85a184c2540d2deba33daf642")
.IsUnique();
b.HasIndex(new[] { "Uri" }, "IDX_e5848eac4940934e23dbc17581");
b.HasIndex(new[] { "ThumbnailAccessKey" }, "IDX_e74022ce9a074b3866f70e0d27")
.IsUnique();
b.ToTable("drive_file");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the DriveFolder.");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the DriveFolder.");
b.Property<string>("ParentId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("parentId")
.HasComment("The parent folder ID. If null, it means the DriveFolder is located in root.");
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.HasKey("Id")
.HasName("PK_7a0c089191f5ebdc214e0af808a");
b.HasIndex(new[] { "ParentId" }, "IDX_00ceffb0cdc238b3233294f08f");
b.HasIndex(new[] { "CreatedAt" }, "IDX_02878d441ceae15ce060b73daf");
b.HasIndex(new[] { "UserId" }, "IDX_f4fc06e49c0171c85f1c48060d");
b.ToTable("drive_folder");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Emoji", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<List<string>>("Aliases")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("aliases")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Category")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("category");
b.Property<int?>("Height")
.HasColumnType("integer")
.HasColumnName("height")
.HasComment("Image height");
b.Property<string>("Host")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("host");
b.Property<string>("License")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("license");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name");
b.Property<string>("OriginalUrl")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("originalUrl");
b.Property<string>("PublicUrl")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("publicUrl")
.HasDefaultValueSql("''::character varying");
b.Property<string>("Type")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("type");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt");
b.Property<string>("Uri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("uri");
b.Property<int?>("Width")
.HasColumnType("integer")
.HasColumnName("width")
.HasComment("Image width");
b.HasKey("Id")
.HasName("PK_df74ce05e24999ee01ea0bc50a3");
b.HasIndex(new[] { "Name", "Host" }, "IDX_4f4d35e1256c84ae3d1f0eab10")
.IsUnique();
b.HasIndex(new[] { "Host" }, "IDX_5900e907bb46516ddf2871327c");
b.HasIndex(new[] { "Name" }, "IDX_b37dafc86e9af007e3295c2781");
b.ToTable("emoji");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the FollowRequest.");
b.Property<string>("FolloweeHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followeeHost")
.HasComment("[Denormalized]");
b.Property<string>("FolloweeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followeeId")
.HasComment("The followee user ID.");
b.Property<string>("FolloweeInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followeeInbox")
.HasComment("[Denormalized]");
b.Property<string>("FolloweeSharedInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followeeSharedInbox")
.HasComment("[Denormalized]");
b.Property<string>("FollowerHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followerHost")
.HasComment("[Denormalized]");
b.Property<string>("FollowerId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followerId")
.HasComment("The follower user ID.");
b.Property<string>("FollowerInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followerInbox")
.HasComment("[Denormalized]");
b.Property<string>("FollowerSharedInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followerSharedInbox")
.HasComment("[Denormalized]");
b.Property<string>("RequestId")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("requestId")
.HasComment("id of Follow Activity.");
b.HasKey("Id")
.HasName("PK_53a9aa3725f7a3deb150b39dbfc");
b.HasIndex(new[] { "FolloweeId" }, "IDX_12c01c0d1a79f77d9f6c15fadd");
b.HasIndex(new[] { "FollowerId" }, "IDX_a7fd92dd6dc519e6fb435dd108");
b.HasIndex(new[] { "FollowerId", "FolloweeId" }, "IDX_d54a512b822fac7ed52800f6b4")
.IsUnique();
b.ToTable("follow_request");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Following", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Following.");
b.Property<string>("FolloweeHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followeeHost")
.HasComment("[Denormalized]");
b.Property<string>("FolloweeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followeeId")
.HasComment("The followee user ID.");
b.Property<string>("FolloweeInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followeeInbox")
.HasComment("[Denormalized]");
b.Property<string>("FolloweeSharedInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followeeSharedInbox")
.HasComment("[Denormalized]");
b.Property<string>("FollowerHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followerHost")
.HasComment("[Denormalized]");
b.Property<string>("FollowerId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followerId")
.HasComment("The follower user ID.");
b.Property<string>("FollowerInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followerInbox")
.HasComment("[Denormalized]");
b.Property<string>("FollowerSharedInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followerSharedInbox")
.HasComment("[Denormalized]");
b.HasKey("Id")
.HasName("PK_c76c6e044bdf76ecf8bfb82a645");
b.HasIndex(new[] { "FolloweeId" }, "IDX_24e0042143a18157b234df186c");
b.HasIndex(new[] { "FollowerId", "FolloweeId" }, "IDX_307be5f1d1252e0388662acb96")
.IsUnique();
b.HasIndex(new[] { "FollowerHost" }, "IDX_4ccd2239268ebbd1b35e318754");
b.HasIndex(new[] { "CreatedAt" }, "IDX_582f8fab771a9040a12961f3e7");
b.HasIndex(new[] { "FollowerId" }, "IDX_6516c5a6f3c015b4eed39978be");
b.HasIndex(new[] { "FolloweeHost" }, "IDX_fcdafee716dfe9c3b5fde90f30");
b.ToTable("following");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryLike", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("PostId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("postId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_853ab02be39b8de45cd720cc15f");
b.HasIndex("PostId");
b.HasIndex(new[] { "UserId" }, "IDX_8fd5215095473061855ceb948c");
b.HasIndex(new[] { "UserId", "PostId" }, "IDX_df1b5f4099e99fb0bc5eae53b6")
.IsUnique();
b.ToTable("gallery_like");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the GalleryPost.");
b.Property<string>("Description")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("description");
b.Property<List<string>>("FileIds")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("fileIds")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<bool>("IsSensitive")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isSensitive")
.HasComment("Whether the post is sensitive.");
b.Property<int>("LikedCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("likedCount");
b.Property<List<string>>("Tags")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("tags")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("title");
b.Property<DateTime>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the GalleryPost.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The ID of author.");
b.HasKey("Id")
.HasName("PK_8e90d7b6015f2c4518881b14753");
b.HasIndex(new[] { "Tags" }, "IDX_05cca34b985d1b8edc1d1e28df");
b.HasIndex(new[] { "LikedCount" }, "IDX_1a165c68a49d08f11caffbd206");
b.HasIndex(new[] { "FileIds" }, "IDX_3ca50563facd913c425e7a89ee");
b.HasIndex(new[] { "CreatedAt" }, "IDX_8f1a239bd077c8864a20c62c2c");
b.HasIndex(new[] { "UserId" }, "IDX_985b836dddd8615e432d7043dd");
b.HasIndex(new[] { "IsSensitive" }, "IDX_f2d744d9a14d0dfb8b96cb7fc5");
b.HasIndex(new[] { "UpdatedAt" }, "IDX_f631d37835adb04792e361807c");
b.ToTable("gallery_post");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Hashtag", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<List<string>>("AttachedLocalUserIds")
.IsRequired()
.HasColumnType("character varying(32)[]")
.HasColumnName("attachedLocalUserIds");
b.Property<int>("AttachedLocalUsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("attachedLocalUsersCount");
b.Property<List<string>>("AttachedRemoteUserIds")
.IsRequired()
.HasColumnType("character varying(32)[]")
.HasColumnName("attachedRemoteUserIds");
b.Property<int>("AttachedRemoteUsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("attachedRemoteUsersCount");
b.Property<List<string>>("AttachedUserIds")
.IsRequired()
.HasColumnType("character varying(32)[]")
.HasColumnName("attachedUserIds");
b.Property<int>("AttachedUsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("attachedUsersCount");
b.Property<List<string>>("MentionedLocalUserIds")
.IsRequired()
.HasColumnType("character varying(32)[]")
.HasColumnName("mentionedLocalUserIds");
b.Property<int>("MentionedLocalUsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("mentionedLocalUsersCount");
b.Property<List<string>>("MentionedRemoteUserIds")
.IsRequired()
.HasColumnType("character varying(32)[]")
.HasColumnName("mentionedRemoteUserIds");
b.Property<int>("MentionedRemoteUsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("mentionedRemoteUsersCount");
b.Property<List<string>>("MentionedUserIds")
.IsRequired()
.HasColumnType("character varying(32)[]")
.HasColumnName("mentionedUserIds");
b.Property<int>("MentionedUsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("mentionedUsersCount");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name");
b.HasKey("Id")
.HasName("PK_cb36eb8af8412bfa978f1165d78");
b.HasIndex(new[] { "AttachedRemoteUsersCount" }, "IDX_0b03cbcd7e6a7ce068efa8ecc2");
b.HasIndex(new[] { "AttachedLocalUsersCount" }, "IDX_0c44bf4f680964145f2a68a341");
b.HasIndex(new[] { "MentionedLocalUsersCount" }, "IDX_0e206cec573f1edff4a3062923");
b.HasIndex(new[] { "MentionedUsersCount" }, "IDX_2710a55f826ee236ea1a62698f");
b.HasIndex(new[] { "Name" }, "IDX_347fec870eafea7b26c8a73bac")
.IsUnique();
b.HasIndex(new[] { "MentionedRemoteUsersCount" }, "IDX_4c02d38a976c3ae132228c6fce");
b.HasIndex(new[] { "AttachedUsersCount" }, "IDX_d57f9030cd3af7f63ffb1c267c");
b.ToTable("hashtag");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", b =>
{
b.Property<string>("NoteId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("Content")
.HasColumnType("text")
.HasColumnName("content");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt");
b.HasKey("NoteId")
.HasName("PK_6ef86ec901b2017cbe82d3a8286");
b.ToTable("html_note_cache_entry");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", b =>
{
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.Property<string>("Bio")
.HasColumnType("text")
.HasColumnName("bio");
b.Property<string>("Fields")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("fields")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt");
b.HasKey("UserId")
.HasName("PK_920b9474e3c9cae3f3c37c057e1");
b.ToTable("html_user_cache_entry");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Instance", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CaughtAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("caughtAt")
.HasComment("The caught date of the Instance.");
b.Property<string>("Description")
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("description");
b.Property<string>("FaviconUrl")
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("faviconUrl");
b.Property<int>("FollowersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("followersCount");
b.Property<int>("FollowingCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("followingCount");
b.Property<string>("Host")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("host")
.HasComment("The host of the Instance.");
b.Property<string>("IconUrl")
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("iconUrl");
b.Property<DateTime?>("InfoUpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("infoUpdatedAt");
b.Property<bool>("IsNotResponding")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isNotResponding");
b.Property<bool>("IsSuspended")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isSuspended");
b.Property<DateTime>("LastCommunicatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastCommunicatedAt");
b.Property<DateTime?>("LatestRequestReceivedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("latestRequestReceivedAt");
b.Property<DateTime?>("LatestRequestSentAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("latestRequestSentAt");
b.Property<int?>("LatestStatus")
.HasColumnType("integer")
.HasColumnName("latestStatus");
b.Property<string>("MaintainerEmail")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("maintainerEmail");
b.Property<string>("MaintainerName")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("maintainerName");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("name");
b.Property<int>("NotesCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("notesCount")
.HasComment("The count of the notes of the Instance.");
b.Property<bool?>("OpenRegistrations")
.HasColumnType("boolean")
.HasColumnName("openRegistrations");
b.Property<string>("SoftwareName")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("softwareName")
.HasComment("The software of the Instance.");
b.Property<string>("SoftwareVersion")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("softwareVersion");
b.Property<string>("ThemeColor")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("themeColor");
b.Property<int>("UsersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("usersCount")
.HasComment("The count of the users of the Instance.");
b.HasKey("Id")
.HasName("PK_eaf60e4a0c399c9935413e06474");
b.HasIndex(new[] { "CaughtAt" }, "IDX_2cd3b2a6b4cf0b910b260afe08");
b.HasIndex(new[] { "IsSuspended" }, "IDX_34500da2e38ac393f7bb6b299c");
b.HasIndex(new[] { "Host" }, "IDX_8d5afc98982185799b160e10eb")
.IsUnique();
b.ToTable("instance");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.MessagingMessage", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the MessagingMessage.");
b.Property<string>("FileId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("fileId");
b.Property<string>("GroupId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("groupId")
.HasComment("The recipient group ID.");
b.Property<bool>("IsRead")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isRead");
b.Property<List<string>>("Reads")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("reads")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("RecipientId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("recipientId")
.HasComment("The recipient user ID.");
b.Property<string>("Text")
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("text");
b.Property<string>("Uri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("uri");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The sender user ID.");
b.HasKey("Id")
.HasName("PK_db398fd79dc95d0eb8c30456eaa");
b.HasIndex("FileId");
b.HasIndex(new[] { "GroupId" }, "IDX_2c4be03b446884f9e9c502135b");
b.HasIndex(new[] { "UserId" }, "IDX_5377c307783fce2b6d352e1203");
b.HasIndex(new[] { "RecipientId" }, "IDX_cac14a4e3944454a5ce7daa514");
b.HasIndex(new[] { "CreatedAt" }, "IDX_e21cd3646e52ef9c94aaf17c2e");
b.ToTable("messaging_message");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Meta", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<List<string>>("AllowedHosts")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("allowedHosts")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("AutofollowedAccount")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("autofollowedAccount");
b.Property<string>("BackgroundImageUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("backgroundImageUrl");
b.Property<string>("BannerUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("bannerUrl");
b.Property<List<string>>("BlockedHosts")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("blockedHosts")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<bool>("CacheRemoteFiles")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("cacheRemoteFiles");
b.Property<List<string>>("CustomMotd")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("customMOTD")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<List<string>>("CustomSplashIcons")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("customSplashIcons")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("DeeplAuthKey")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("deeplAuthKey");
b.Property<bool>("DeeplIsPro")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("deeplIsPro");
b.Property<string>("DefaultDarkTheme")
.HasMaxLength(8192)
.HasColumnType("character varying(8192)")
.HasColumnName("defaultDarkTheme");
b.Property<string>("DefaultLightTheme")
.HasMaxLength(8192)
.HasColumnType("character varying(8192)")
.HasColumnName("defaultLightTheme");
b.Property<string>("DefaultReaction")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("defaultReaction")
.HasDefaultValueSql("'⭐'::character varying");
b.Property<string>("Description")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("description");
b.Property<bool>("DisableGlobalTimeline")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("disableGlobalTimeline");
b.Property<bool>("DisableLocalTimeline")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("disableLocalTimeline");
b.Property<bool>("DisableRecommendedTimeline")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("disableRecommendedTimeline");
b.Property<bool>("DisableRegistration")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("disableRegistration");
b.Property<string>("DiscordClientId")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("discordClientId");
b.Property<string>("DiscordClientSecret")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("discordClientSecret");
b.Property<string>("DonationLink")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("donationLink");
b.Property<string>("Email")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("email");
b.Property<bool>("EmailRequiredForSignup")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("emailRequiredForSignup");
b.Property<bool>("EnableActiveEmailValidation")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("enableActiveEmailValidation");
b.Property<bool>("EnableDiscordIntegration")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableDiscordIntegration");
b.Property<bool>("EnableEmail")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableEmail");
b.Property<bool>("EnableGithubIntegration")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableGithubIntegration");
b.Property<bool>("EnableHcaptcha")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableHcaptcha");
b.Property<bool>("EnableIdenticonGeneration")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("enableIdenticonGeneration");
b.Property<bool>("EnableIpLogging")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableIpLogging");
b.Property<bool>("EnableRecaptcha")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableRecaptcha");
b.Property<bool>("EnableServerMachineStats")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableServerMachineStats");
b.Property<string>("ErrorImageUrl")
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("errorImageUrl")
.HasDefaultValueSql("'/static-assets/badges/error.png'::character varying");
b.Property<string>("ExperimentalFeatures")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("experimentalFeatures")
.HasDefaultValueSql("'{}'::jsonb");
b.Property<string>("FeedbackUrl")
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("feedbackUrl")
.HasDefaultValueSql("'https://iceshrimp.dev/iceshrimp/iceshrimp/issues/new'::character varying");
b.Property<string>("GithubClientId")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("githubClientId");
b.Property<string>("GithubClientSecret")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("githubClientSecret");
b.Property<string>("HcaptchaSecretKey")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("hcaptchaSecretKey");
b.Property<string>("HcaptchaSiteKey")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("hcaptchaSiteKey");
b.Property<List<string>>("HiddenTags")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("hiddenTags")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("IconUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("iconUrl");
b.Property<List<string>>("Langs")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(64)[]")
.HasColumnName("langs")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("LibreTranslateApiKey")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("libreTranslateApiKey");
b.Property<string>("LibreTranslateApiUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("libreTranslateApiUrl");
b.Property<int>("LocalDriveCapacityMb")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(1024)
.HasColumnName("localDriveCapacityMb")
.HasComment("Drive capacity of a local user (MB)");
b.Property<string>("LogoImageUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("logoImageUrl");
b.Property<string>("MaintainerEmail")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("maintainerEmail");
b.Property<string>("MaintainerName")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("maintainerName");
b.Property<string>("MascotImageUrl")
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("mascotImageUrl")
.HasDefaultValueSql("'/static-assets/badges/info.png'::character varying");
b.Property<string>("Name")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name");
b.Property<string>("ObjectStorageAccessKey")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStorageAccessKey");
b.Property<string>("ObjectStorageBaseUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStorageBaseUrl");
b.Property<string>("ObjectStorageBucket")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStorageBucket");
b.Property<string>("ObjectStorageEndpoint")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStorageEndpoint");
b.Property<int?>("ObjectStoragePort")
.HasColumnType("integer")
.HasColumnName("objectStoragePort");
b.Property<string>("ObjectStoragePrefix")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStoragePrefix");
b.Property<string>("ObjectStorageRegion")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStorageRegion");
b.Property<bool>("ObjectStorageS3forcePathStyle")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("objectStorageS3ForcePathStyle");
b.Property<string>("ObjectStorageSecretKey")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("objectStorageSecretKey");
b.Property<bool>("ObjectStorageSetPublicRead")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("objectStorageSetPublicRead");
b.Property<bool>("ObjectStorageUseProxy")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("objectStorageUseProxy");
b.Property<bool>("ObjectStorageUseSsl")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("objectStorageUseSSL");
b.Property<string>("PinnedClipId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("pinnedClipId");
b.Property<List<string>>("PinnedPages")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(512)[]")
.HasColumnName("pinnedPages")
.HasDefaultValueSql("'{/featured,/channels,/explore,/pages,/about-iceshrimp}'::character varying[]");
b.Property<List<string>>("PinnedUsers")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("pinnedUsers")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<bool>("PrivateMode")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("privateMode");
b.Property<string>("RecaptchaSecretKey")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("recaptchaSecretKey");
b.Property<string>("RecaptchaSiteKey")
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("recaptchaSiteKey");
b.Property<List<string>>("RecommendedInstances")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("recommendedInstances")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<int>("RemoteDriveCapacityMb")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(32)
.HasColumnName("remoteDriveCapacityMb")
.HasComment("Drive capacity of a remote user (MB)");
b.Property<string>("RepositoryUrl")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("repositoryUrl")
.HasDefaultValueSql("'https://iceshrimp.dev/iceshrimp/iceshrimp'::character varying");
b.Property<bool>("SecureMode")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("secureMode");
b.Property<List<string>>("SilencedHosts")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("silencedHosts")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("SmtpHost")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("smtpHost");
b.Property<string>("SmtpPass")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("smtpPass");
b.Property<int?>("SmtpPort")
.HasColumnType("integer")
.HasColumnName("smtpPort");
b.Property<bool>("SmtpSecure")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("smtpSecure");
b.Property<string>("SmtpUser")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("smtpUser");
b.Property<string>("SummalyProxy")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("summalyProxy");
b.Property<string>("SwPrivateKey")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("swPrivateKey");
b.Property<string>("SwPublicKey")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("swPublicKey");
b.Property<string>("ThemeColor")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("themeColor");
b.Property<string>("ToSurl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("ToSUrl");
b.Property<bool>("UseObjectStorage")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("useObjectStorage");
b.HasKey("Id")
.HasName("PK_c4c17a6c2bd7651338b60fc590b");
b.ToTable("meta");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ModerationLog", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the ModerationLog.");
b.Property<string>("Info")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("info");
b.Property<string>("Type")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("type");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_d0adca6ecfd068db83e4526cc26");
b.HasIndex(new[] { "UserId" }, "IDX_a08ad074601d204e0f69da9a95");
b.ToTable("moderation_log");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Muting", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Muting.");
b.Property<DateTime?>("ExpiresAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("expiresAt");
b.Property<string>("MuteeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("muteeId")
.HasComment("The mutee user ID.");
b.Property<string>("MuterId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("muterId")
.HasComment("The muter user ID.");
b.HasKey("Id")
.HasName("PK_2e92d06c8b5c602eeb27ca9ba48");
b.HasIndex(new[] { "MuterId", "MuteeId" }, "IDX_1eb9d9824a630321a29fd3b290")
.IsUnique();
b.HasIndex(new[] { "MuterId" }, "IDX_93060675b4a79a577f31d260c6");
b.HasIndex(new[] { "ExpiresAt" }, "IDX_c1fd1c3dfb0627aa36c253fd14");
b.HasIndex(new[] { "MuteeId" }, "IDX_ec96b4fed9dae517e0dbbe0675");
b.HasIndex(new[] { "CreatedAt" }, "IDX_f86d57fbca33c7a4e6897490cc");
b.ToTable("muting");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Note", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<List<string>>("AttachedFileTypes")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("attachedFileTypes")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("ChannelId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("channelId")
.HasComment("The ID of source channel.");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Note.");
b.Property<string>("Cw")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("cw");
b.Property<List<string>>("Emojis")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("emojis")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<List<string>>("FileIds")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("fileIds")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<bool>("HasPoll")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("hasPoll");
b.Property<bool>("LocalOnly")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("localOnly");
b.Property<string>("MentionedRemoteUsers")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("text")
.HasColumnName("mentionedRemoteUsers")
.HasDefaultValueSql("'[]'::text");
b.Property<List<string>>("Mentions")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("mentions")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Name")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("name");
b.Property<string>("Reactions")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("reactions")
.HasDefaultValueSql("'{}'::jsonb");
b.Property<short>("RenoteCount")
.ValueGeneratedOnAdd()
.HasColumnType("smallint")
.HasDefaultValue((short)0)
.HasColumnName("renoteCount");
b.Property<string>("RenoteId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("renoteId")
.HasComment("The ID of renote target.");
b.Property<string>("RenoteUserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("renoteUserHost")
.HasComment("[Denormalized]");
b.Property<string>("RenoteUserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("renoteUserId")
.HasComment("[Denormalized]");
b.Property<short>("RepliesCount")
.ValueGeneratedOnAdd()
.HasColumnType("smallint")
.HasDefaultValue((short)0)
.HasColumnName("repliesCount");
b.Property<string>("ReplyId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("replyId")
.HasComment("The ID of reply target.");
b.Property<string>("ReplyUserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("replyUserHost")
.HasComment("[Denormalized]");
b.Property<string>("ReplyUserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("replyUserId")
.HasComment("[Denormalized]");
b.Property<int>("Score")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("score");
b.Property<List<string>>("Tags")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("tags")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Text")
.HasColumnType("text")
.HasColumnName("text");
b.Property<string>("ThreadId")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("threadId");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the Note.");
b.Property<string>("Uri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("uri")
.HasComment("The URI of a note. it will be null when the note is local.");
b.Property<string>("Url")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("url")
.HasComment("The human readable url of a note. it will be null when the note is local.");
b.Property<string>("UserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("userHost")
.HasComment("[Denormalized]");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The ID of author.");
b.Property<Note.NoteVisibility>("Visibility")
.HasColumnType("note_visibility_enum")
.HasColumnName("visibility");
b.Property<List<string>>("VisibleUserIds")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("visibleUserIds")
.HasDefaultValueSql("'{}'::character varying[]");
b.HasKey("Id")
.HasName("PK_96d0c172a4fba276b1bbed43058");
b.HasIndex(new[] { "Uri" }, "IDX_153536c67d05e9adb24e99fc2b")
.IsUnique();
b.HasIndex(new[] { "ReplyId" }, "IDX_17cb3553c700a4985dff5a30ff");
b.HasIndex(new[] { "AttachedFileTypes" }, "IDX_25dfc71b0369b003a4cd434d0b");
b.HasIndex(new[] { "FileIds" }, "IDX_51c063b6a133a9cb87145450f5");
b.HasIndex(new[] { "RenoteId" }, "IDX_52ccc804d7c69037d558bac4c9");
b.HasIndex(new[] { "Mentions" }, "IDX_54ebcb6d27222913b908d56fd8");
b.HasIndex(new[] { "UserId" }, "IDX_5b87d9d19127bd5d92026017a7");
b.HasIndex(new[] { "UserHost" }, "IDX_7125a826ab192eb27e11d358a5");
b.HasIndex(new[] { "VisibleUserIds" }, "IDX_796a8c03959361f97dc2be1d5c");
b.HasIndex(new[] { "Tags" }, "IDX_88937d94d7443d9a99a76fa5c0");
b.HasIndex(new[] { "Mentions" }, "IDX_NOTE_MENTIONS");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Mentions" }, "IDX_NOTE_MENTIONS"), "gin");
b.HasIndex(new[] { "Tags" }, "IDX_NOTE_TAGS");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Tags" }, "IDX_NOTE_TAGS"), "gin");
b.HasIndex(new[] { "VisibleUserIds" }, "IDX_NOTE_VISIBLE_USER_IDS");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "VisibleUserIds" }, "IDX_NOTE_VISIBLE_USER_IDS"), "gin");
b.HasIndex(new[] { "ThreadId" }, "IDX_d4ebdef929896d6dc4a3c5bb48");
b.HasIndex(new[] { "CreatedAt" }, "IDX_e7c0567f5261063592f022e9b5");
b.HasIndex(new[] { "ChannelId" }, "IDX_f22169eb10657bded6d875ac8f");
b.HasIndex(new[] { "CreatedAt", "UserId" }, "IDX_note_createdAt_userId");
b.HasIndex(new[] { "Id", "UserHost" }, "IDX_note_id_userHost");
b.HasIndex(new[] { "Url" }, "IDX_note_url");
b.HasIndex(new[] { "UserId", "Id" }, "IDX_note_userId_id");
b.HasIndex(new[] { "Text" }, "note_text_fts_idx");
NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex(new[] { "Text" }, "note_text_fts_idx"), "gin");
NpgsqlIndexBuilderExtensions.HasOperators(b.HasIndex(new[] { "Text" }, "note_text_fts_idx"), new[] { "gin_trgm_ops" });
b.ToTable("note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteEdit", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("Cw")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("cw");
b.Property<List<string>>("FileIds")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("fileIds")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId")
.HasComment("The ID of note.");
b.Property<string>("Text")
.HasColumnType("text")
.HasColumnName("text");
b.Property<DateTime>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the Note.");
b.HasKey("Id")
.HasName("PK_736fc6e0d4e222ecc6f82058e08");
b.HasIndex(new[] { "NoteId" }, "IDX_702ad5ae993a672e4fbffbcd38");
b.ToTable("note_edit");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteFavorite", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the NoteFavorite.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_af0da35a60b9fa4463a62082b36");
b.HasIndex("NoteId");
b.HasIndex(new[] { "UserId", "NoteId" }, "IDX_0f4fb9ad355f3effff221ef245")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_47f4b1892f5d6ba8efb3057d81");
b.ToTable("note_favorite");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteReaction", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the NoteReaction.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("Reaction")
.IsRequired()
.HasMaxLength(260)
.HasColumnType("character varying(260)")
.HasColumnName("reaction");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_767ec729b108799b587a3fcc9cf");
b.HasIndex(new[] { "CreatedAt" }, "IDX_01f4581f114e0ebd2bbb876f0b");
b.HasIndex(new[] { "UserId" }, "IDX_13761f64257f40c5636d0ff95e");
b.HasIndex(new[] { "NoteId" }, "IDX_45145e4953780f3cd5656f0ea6");
b.HasIndex(new[] { "UserId", "NoteId" }, "IDX_ad0c221b25672daf2df320a817")
.IsUnique();
b.ToTable("note_reaction");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteThreadMuting", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("ThreadId")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("threadId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_ec5936d94d1a0369646d12a3a47");
b.HasIndex(new[] { "UserId" }, "IDX_29c11c7deb06615076f8c95b80");
b.HasIndex(new[] { "UserId", "ThreadId" }, "IDX_ae7aab18a2641d3e5f25e0c4ea")
.IsUnique();
b.HasIndex(new[] { "ThreadId" }, "IDX_c426394644267453e76f036926");
b.ToTable("note_thread_muting");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteUnread", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<bool>("IsMentioned")
.HasColumnType("boolean")
.HasColumnName("isMentioned");
b.Property<bool>("IsSpecified")
.HasColumnType("boolean")
.HasColumnName("isSpecified");
b.Property<string>("NoteChannelId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteChannelId")
.HasComment("[Denormalized]");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("NoteUserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteUserId")
.HasComment("[Denormalized]");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_1904eda61a784f57e6e51fa9c1f");
b.HasIndex(new[] { "IsMentioned" }, "IDX_25b1dd384bec391b07b74b861c");
b.HasIndex(new[] { "NoteUserId" }, "IDX_29e8c1d579af54d4232939f994");
b.HasIndex(new[] { "UserId" }, "IDX_56b0166d34ddae49d8ef7610bb");
b.HasIndex(new[] { "NoteChannelId" }, "IDX_6a57f051d82c6d4036c141e107");
b.HasIndex(new[] { "IsSpecified" }, "IDX_89a29c9237b8c3b6b3cbb4cb30");
b.HasIndex(new[] { "UserId", "NoteId" }, "IDX_d908433a4953cc13216cd9c274")
.IsUnique();
b.HasIndex(new[] { "NoteId" }, "IDX_e637cba4dc4410218c4251260e");
b.ToTable("note_unread");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteWatching", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the NoteWatching.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId")
.HasComment("The target Note ID.");
b.Property<string>("NoteUserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteUserId")
.HasComment("[Denormalized]");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The watcher ID.");
b.HasKey("Id")
.HasName("PK_49286fdb23725945a74aa27d757");
b.HasIndex(new[] { "NoteId" }, "IDX_03e7028ab8388a3f5e3ce2a861");
b.HasIndex(new[] { "CreatedAt" }, "IDX_318cdf42a9cfc11f479bd802bb");
b.HasIndex(new[] { "NoteUserId" }, "IDX_44499765eec6b5489d72c4253b");
b.HasIndex(new[] { "UserId", "NoteId" }, "IDX_a42c93c69989ce1d09959df4cf")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_b0134ec406e8d09a540f818288");
b.ToTable("note_watching");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Notification", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AppAccessTokenId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("appAccessTokenId");
b.Property<int?>("Choice")
.HasColumnType("integer")
.HasColumnName("choice");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Notification.");
b.Property<string>("CustomBody")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("customBody");
b.Property<string>("CustomHeader")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("customHeader");
b.Property<string>("CustomIcon")
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("customIcon");
b.Property<string>("FollowRequestId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("followRequestId");
b.Property<bool>("IsRead")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isRead")
.HasComment("Whether the notification was read.");
b.Property<string>("NoteId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("NotifieeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("notifieeId")
.HasComment("The ID of recipient user of the Notification.");
b.Property<string>("NotifierId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("notifierId")
.HasComment("The ID of sender user of the Notification.");
b.Property<string>("Reaction")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("reaction");
b.Property<Core.Database.Tables.Notification.NotificationType>("Type")
.HasColumnType("notification_type_enum")
.HasColumnName("type")
.HasComment("The type of the Notification.");
b.Property<string>("UserGroupInvitationId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userGroupInvitationId");
b.HasKey("Id")
.HasName("PK_705b6c7cdf9b2c2ff7ac7872cb7");
b.HasIndex("FollowRequestId");
b.HasIndex("NoteId");
b.HasIndex("UserGroupInvitationId");
b.HasIndex(new[] { "IsRead" }, "IDX_080ab397c379af09b9d2169e5b");
b.HasIndex(new[] { "Type" }, "IDX_33f33cc8ef29d805a97ff4628b");
b.HasIndex(new[] { "NotifierId" }, "IDX_3b4e96eec8d36a8bbb9d02aa71");
b.HasIndex(new[] { "NotifieeId" }, "IDX_3c601b70a1066d2c8b517094cb");
b.HasIndex(new[] { "CreatedAt" }, "IDX_b11a5e627c41d4dc3170f1d370");
b.HasIndex(new[] { "AppAccessTokenId" }, "IDX_e22bf6bda77b6adc1fd9e75c8c");
b.ToTable("notification");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthApp", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("ClientId")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("clientId")
.HasComment("The client id of the OAuth application");
b.Property<string>("ClientSecret")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("clientSecret")
.HasComment("The client secret of the OAuth application");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the OAuth application");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the OAuth application");
b.Property<List<string>>("RedirectUris")
.IsRequired()
.HasColumnType("character varying(512)[]")
.HasColumnName("redirectUris")
.HasComment("The redirect URIs of the OAuth application");
b.Property<List<string>>("Scopes")
.IsRequired()
.HasColumnType("character varying(64)[]")
.HasColumnName("scopes")
.HasComment("The scopes requested by the OAuth application");
b.Property<string>("Website")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("website")
.HasComment("The website of the OAuth application");
b.HasKey("Id")
.HasName("PK_3256b97c0a3ee2d67240805dca4");
b.HasIndex(new[] { "ClientId" }, "IDX_65b61f406c811241e1315a2f82")
.IsUnique();
b.ToTable("oauth_app");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthToken", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<bool>("Active")
.HasColumnType("boolean")
.HasColumnName("active")
.HasComment("Whether or not the token has been activated");
b.Property<string>("AppId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("appId");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("code")
.HasComment("The auth code for the OAuth token");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the OAuth token");
b.Property<string>("RedirectUri")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("redirectUri")
.HasComment("The redirect URI of the OAuth token");
b.Property<List<string>>("Scopes")
.IsRequired()
.HasColumnType("character varying(64)[]")
.HasColumnName("scopes")
.HasComment("The scopes requested by the OAuth token");
b.Property<string>("Token")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("token")
.HasComment("The OAuth token");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_7e6a25a3cc4395d1658f5b89c73");
b.HasIndex("AppId");
b.HasIndex("UserId");
b.HasIndex(new[] { "Token" }, "IDX_2cbeb4b389444bcf4379ef4273");
b.HasIndex(new[] { "Code" }, "IDX_dc5fe174a8b59025055f0ec136");
b.ToTable("oauth_token");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Page", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<bool>("AlignCenter")
.HasColumnType("boolean")
.HasColumnName("alignCenter");
b.Property<string>("Content")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("content")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Page.");
b.Property<string>("EyeCatchingImageId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("eyeCatchingImageId");
b.Property<string>("Font")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("font");
b.Property<bool>("HideTitleWhenPinned")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("hideTitleWhenPinned");
b.Property<bool>("IsPublic")
.HasColumnType("boolean")
.HasColumnName("isPublic");
b.Property<int>("LikedCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("likedCount");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("name");
b.Property<string>("Script")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(16384)
.HasColumnType("character varying(16384)")
.HasColumnName("script")
.HasDefaultValueSql("''::character varying");
b.Property<string>("Summary")
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("summary");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("title");
b.Property<DateTime>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the Page.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The ID of author.");
b.Property<string>("Variables")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("variables")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<Page.PageVisibility>("Visibility")
.HasColumnType("page_visibility_enum")
.HasColumnName("visibility");
b.Property<List<string>>("VisibleUserIds")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(32)[]")
.HasColumnName("visibleUserIds")
.HasDefaultValueSql("'{}'::character varying[]");
b.HasKey("Id")
.HasName("PK_742f4117e065c5b6ad21b37ba1f");
b.HasIndex("EyeCatchingImageId");
b.HasIndex(new[] { "UserId", "Name" }, "IDX_2133ef8317e4bdb839c0dcbf13")
.IsUnique();
b.HasIndex(new[] { "VisibleUserIds" }, "IDX_90148bbc2bf0854428786bfc15");
b.HasIndex(new[] { "UserId" }, "IDX_ae1d917992dd0c9d9bbdad06c4");
b.HasIndex(new[] { "UpdatedAt" }, "IDX_af639b066dfbca78b01a920f8a");
b.HasIndex(new[] { "Name" }, "IDX_b82c19c08afb292de4600d99e4");
b.HasIndex(new[] { "CreatedAt" }, "IDX_fbb4297c927a9b85e9cefa2eb1");
b.ToTable("page");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PageLike", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("PageId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("pageId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_813f034843af992d3ae0f43c64c");
b.HasIndex("PageId");
b.HasIndex(new[] { "UserId" }, "IDX_0e61efab7f88dbb79c9166dbb4");
b.HasIndex(new[] { "UserId", "PageId" }, "IDX_4ce6fb9c70529b4c8ac46c9bfa")
.IsUnique();
b.ToTable("page_like");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PasswordResetRequest", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("Token")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("token");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_fcf4b02eae1403a2edaf87fd074");
b.HasIndex(new[] { "Token" }, "IDX_0b575fa9a4cfe638a925949285")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_4bb7fd4a34492ae0e6cc8d30ac");
b.ToTable("password_reset_request");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Poll", b =>
{
b.Property<string>("NoteId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<List<string>>("Choices")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(256)[]")
.HasColumnName("choices")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<DateTime?>("ExpiresAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("expiresAt");
b.Property<bool>("Multiple")
.HasColumnType("boolean")
.HasColumnName("multiple");
b.Property<LegacyModels.PollNoteVisibility>("NoteVisibility")
.HasColumnType("poll_notevisibility_enum")
.HasColumnName("noteVisibility")
.HasComment("[Denormalized]");
b.Property<string>("UserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("userHost")
.HasComment("[Denormalized]");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("[Denormalized]");
b.Property<List<int>>("Votes")
.IsRequired()
.HasColumnType("integer[]")
.HasColumnName("votes");
b.HasKey("NoteId")
.HasName("PK_da851e06d0dfe2ef397d8b1bf1b");
b.HasIndex(new[] { "UserId" }, "IDX_0610ebcfcfb4a18441a9bcdab2");
b.HasIndex(new[] { "UserHost" }, "IDX_7fa20a12319c7f6dc3aed98c0a");
b.ToTable("poll");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PollVote", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<int>("Choice")
.HasColumnType("integer")
.HasColumnName("choice");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the PollVote.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_fd002d371201c472490ba89c6a0");
b.HasIndex(new[] { "CreatedAt" }, "IDX_0fb627e1c2f753262a74f0562d");
b.HasIndex(new[] { "UserId", "NoteId", "Choice" }, "IDX_50bd7164c5b78f1f4a42c4d21f")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_66d2bd2ee31d14bcc23069a89f");
b.HasIndex(new[] { "NoteId" }, "IDX_aecfbd5ef60374918e63ee95fa");
b.ToTable("poll_vote");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoNote", b =>
{
b.Property<string>("NoteId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<DateTime>("ExpiresAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("expiresAt");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("[Denormalized]");
b.HasKey("NoteId")
.HasName("PK_e263909ca4fe5d57f8d4230dd5c");
b.HasIndex(new[] { "UserId" }, "IDX_83f0862e9bae44af52ced7099e");
b.ToTable("promo_note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoRead", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the PromoRead.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_61917c1541002422b703318b7c9");
b.HasIndex("NoteId");
b.HasIndex(new[] { "UserId", "NoteId" }, "IDX_2882b8a1a07c7d281a98b6db16")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_9657d55550c3d37bfafaf7d4b0");
b.ToTable("promo_read");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RegistrationTicket", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("code");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.HasKey("Id")
.HasName("PK_f11696b6fafcf3662d4292734f8");
b.HasIndex(new[] { "Code" }, "IDX_0ff69e8dfa9fe31bb4a4660f59")
.IsUnique();
b.ToTable("registration_ticket");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RegistryItem", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the RegistryItem.");
b.Property<string>("Domain")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("domain");
b.Property<string>("Key")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("key")
.HasComment("The key of the RegistryItem.");
b.Property<List<string>>("Scope")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(1024)[]")
.HasColumnName("scope")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<DateTime>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the RegistryItem.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.Property<string>("Value")
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("value")
.HasDefaultValueSql("'{}'::jsonb")
.HasComment("The value of the RegistryItem.");
b.HasKey("Id")
.HasName("PK_64b3f7e6008b4d89b826cd3af95");
b.HasIndex(new[] { "Domain" }, "IDX_0a72bdfcdb97c0eca11fe7ecad");
b.HasIndex(new[] { "Scope" }, "IDX_22baca135bb8a3ea1a83d13df3");
b.HasIndex(new[] { "UserId" }, "IDX_fb9d21ba0abb83223263df6bcb");
b.ToTable("registry_item");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Relay", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("Inbox")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("inbox");
b.Property<Relay.RelayStatus>("Status")
.HasColumnType("relay_status_enum")
.HasColumnName("status");
b.HasKey("Id")
.HasName("PK_78ebc9cfddf4292633b7ba57aee");
b.HasIndex(new[] { "Inbox" }, "IDX_0d9a1738f2cf7f3b1c3334dfab")
.IsUnique();
b.ToTable("relay");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RenoteMuting", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Muting.");
b.Property<string>("MuteeId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("muteeId")
.HasComment("The mutee user ID.");
b.Property<string>("MuterId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("muterId")
.HasComment("The muter user ID.");
b.HasKey("Id")
.HasName("PK_renoteMuting_id");
b.HasIndex(new[] { "MuterId", "MuteeId" }, "IDX_0d801c609cec4e9eb4b6b4490c")
.IsUnique();
b.HasIndex(new[] { "MuterId" }, "IDX_7aa72a5fe76019bfe8e5e0e8b7");
b.HasIndex(new[] { "MuteeId" }, "IDX_7eac97594bcac5ffcf2068089b");
b.HasIndex(new[] { "CreatedAt" }, "IDX_d1259a2c2b7bb413ff449e8711");
b.ToTable("renote_muting");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Session", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<bool>("Active")
.HasColumnType("boolean")
.HasColumnName("active")
.HasComment("Whether or not the token has been activated (i.e. 2fa has been confirmed)");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the OAuth token");
b.Property<string>("Token")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasColumnName("token")
.HasComment("The authorization token");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_f55da76ac1c3ac420f444d2ff11");
b.HasIndex("UserId");
b.HasIndex(new[] { "Token" }, "IDX_232f8e85d7633bd6ddfad42169");
b.ToTable("session");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Signin", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Signin.");
b.Property<string>("Headers")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("headers");
b.Property<string>("Ip")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("ip");
b.Property<bool>("Success")
.HasColumnType("boolean")
.HasColumnName("success");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_9e96ddc025712616fc492b3b588");
b.HasIndex(new[] { "UserId" }, "IDX_2c308dbdc50d94dc625670055f");
b.ToTable("signin");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.SwSubscription", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("Auth")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("auth");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("Endpoint")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("endpoint");
b.Property<string>("Publickey")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("publickey");
b.Property<bool>("SendReadMessage")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("sendReadMessage");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_e8f763631530051b95eb6279b91");
b.HasIndex(new[] { "UserId" }, "IDX_97754ca6f2baff9b4abb7f853d");
b.ToTable("sw_subscription");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UsedUsername", b =>
{
b.Property<string>("Username")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("username");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.HasKey("Username")
.HasName("PK_78fd79d2d24c6ac2f4cc9a31a5d");
b.ToTable("used_username");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.User", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("AlsoKnownAs")
.HasColumnType("text")
.HasColumnName("alsoKnownAs")
.HasComment("URIs the user is known as too");
b.Property<string>("AvatarBlurhash")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("avatarBlurhash")
.HasComment("The blurhash of the avatar DriveFile");
b.Property<string>("AvatarId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("avatarId")
.HasComment("The ID of avatar DriveFile.");
b.Property<string>("AvatarUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("avatarUrl")
.HasComment("The URL of the avatar DriveFile");
b.Property<string>("BannerBlurhash")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("bannerBlurhash")
.HasComment("The blurhash of the banner DriveFile");
b.Property<string>("BannerId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("bannerId")
.HasComment("The ID of banner DriveFile.");
b.Property<string>("BannerUrl")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("bannerUrl")
.HasComment("The URL of the banner DriveFile");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the User.");
b.Property<int?>("DriveCapacityOverrideMb")
.HasColumnType("integer")
.HasColumnName("driveCapacityOverrideMb")
.HasComment("Overrides user drive capacity limit");
b.Property<List<string>>("Emojis")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("emojis")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Featured")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("featured")
.HasComment("The featured URL of the User. It will be null if the origin of the user is local.");
b.Property<int>("FollowersCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("followersCount")
.HasComment("The count of followers.");
b.Property<string>("FollowersUri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("followersUri")
.HasComment("The URI of the user Follower Collection. It will be null if the origin of the user is local.");
b.Property<int>("FollowingCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("followingCount")
.HasComment("The count of following.");
b.Property<bool>("HideOnlineStatus")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("hideOnlineStatus");
b.Property<string>("Host")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("host")
.HasComment("The host of the User. It will be null if the origin of the user is local.");
b.Property<string>("Inbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("inbox")
.HasComment("The inbox URL of the User. It will be null if the origin of the user is local.");
b.Property<bool>("IsAdmin")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isAdmin")
.HasComment("Whether the User is the admin.");
b.Property<bool>("IsBot")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isBot")
.HasComment("Whether the User is a bot.");
b.Property<bool>("IsCat")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isCat")
.HasComment("Whether the User is a cat.");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isDeleted")
.HasComment("Whether the User is deleted.");
b.Property<bool>("IsExplorable")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("isExplorable")
.HasComment("Whether the User is explorable.");
b.Property<bool>("IsLocked")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isLocked")
.HasComment("Whether the User is locked.");
b.Property<bool>("IsModerator")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isModerator")
.HasComment("Whether the User is a moderator.");
b.Property<bool>("IsSilenced")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isSilenced")
.HasComment("Whether the User is silenced.");
b.Property<bool>("IsSuspended")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isSuspended")
.HasComment("Whether the User is suspended.");
b.Property<DateTime?>("LastActiveDate")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastActiveDate");
b.Property<DateTime?>("LastFetchedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastFetchedAt");
b.Property<string>("MovedToUri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("movedToUri")
.HasComment("The URI of the new account of the User");
b.Property<string>("Name")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the User.");
b.Property<int>("NotesCount")
.ValueGeneratedOnAdd()
.HasColumnType("integer")
.HasDefaultValue(0)
.HasColumnName("notesCount")
.HasComment("The count of notes.");
b.Property<string>("SharedInbox")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("sharedInbox")
.HasComment("The sharedInbox URL of the User. It will be null if the origin of the user is local.");
b.Property<bool>("SpeakAsCat")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("speakAsCat")
.HasComment("Whether to speak as a cat if isCat.");
b.Property<List<string>>("Tags")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("tags")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Token")
.HasMaxLength(16)
.HasColumnType("character(16)")
.HasColumnName("token")
.IsFixedLength()
.HasComment("The native access token of the User. It will be null if the origin of the user is local.");
b.Property<DateTime?>("UpdatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("updatedAt")
.HasComment("The updated date of the User.");
b.Property<string>("Uri")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("uri")
.HasComment("The URI of the User. It will be null if the origin of the user is local.");
b.Property<string>("Username")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("username")
.HasComment("The username of the User.");
b.Property<string>("UsernameLower")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("usernameLower")
.HasComment("The username (lowercased) of the User.");
b.HasKey("Id")
.HasName("PK_cace4a159ff9f2512dd42373760");
b.HasIndex(new[] { "Host" }, "IDX_3252a5df8d5bbd16b281f7799e");
b.HasIndex(new[] { "UsernameLower", "Host" }, "IDX_5deb01ae162d1d70b80d064c27")
.IsUnique();
b.HasIndex(new[] { "UpdatedAt" }, "IDX_80ca6e6ef65fb9ef34ea8c90f4");
b.HasIndex(new[] { "UsernameLower" }, "IDX_a27b942a0d6dcff90e3ee9b5e8");
b.HasIndex(new[] { "Token" }, "IDX_a854e557b1b14814750c7c7b0c")
.IsUnique();
b.HasIndex(new[] { "Uri" }, "IDX_be623adaa4c566baf5d29ce0c8");
b.HasIndex(new[] { "LastActiveDate" }, "IDX_c8cc87bd0f2f4487d17c651fbf");
b.HasIndex(new[] { "IsExplorable" }, "IDX_d5a1b83c7cab66f167e6888188");
b.HasIndex(new[] { "CreatedAt" }, "IDX_e11e649824a45d8ed01d597fd9");
b.HasIndex(new[] { "Tags" }, "IDX_fa99d777623947a5b05f394cae");
b.HasIndex(new[] { "AvatarId" }, "REL_58f5c71eaab331645112cf8cfa")
.IsUnique();
b.HasIndex(new[] { "BannerId" }, "REL_afc64b53f8db3707ceb34eb28e")
.IsUnique();
b.HasIndex(new[] { "Token" }, "UQ_a854e557b1b14814750c7c7b0c9")
.IsUnique();
b.ToTable("user");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroup", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the UserGroup.");
b.Property<bool>("IsPrivate")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("isPrivate");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)")
.HasColumnName("name");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The ID of owner.");
b.HasKey("Id")
.HasName("PK_3c29fba6fe013ec8724378ce7c9");
b.HasIndex(new[] { "CreatedAt" }, "IDX_20e30aa35180e317e133d75316");
b.HasIndex(new[] { "UserId" }, "IDX_3d6b372788ab01be58853003c9");
b.ToTable("user_group");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the UserGroupInvitation.");
b.Property<string>("UserGroupId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userGroupId")
.HasComment("The group ID.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The user ID.");
b.HasKey("Id")
.HasName("PK_160c63ec02bf23f6a5c5e8140d6");
b.HasIndex(new[] { "UserGroupId" }, "IDX_5cc8c468090e129857e9fecce5");
b.HasIndex(new[] { "UserId" }, "IDX_bfbc6305547539369fe73eb144");
b.HasIndex(new[] { "UserId", "UserGroupId" }, "IDX_e9793f65f504e5a31fbaedbf2f")
.IsUnique();
b.ToTable("user_group_invitation");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvite", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("UserGroupId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userGroupId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_3893884af0d3a5f4d01e7921a97");
b.HasIndex(new[] { "UserId" }, "IDX_1039988afa3bf991185b277fe0");
b.HasIndex(new[] { "UserId", "UserGroupId" }, "IDX_78787741f9010886796f2320a4")
.IsUnique();
b.HasIndex(new[] { "UserGroupId" }, "IDX_e10924607d058004304611a436");
b.ToTable("user_group_invite");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the UserGroupMember.");
b.Property<string>("UserGroupId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userGroupId")
.HasComment("The group ID.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The user ID.");
b.HasKey("Id")
.HasName("PK_15f2425885253c5507e1599cfe7");
b.HasIndex(new[] { "UserGroupId" }, "IDX_67dc758bc0566985d1b3d39986");
b.HasIndex(new[] { "UserId", "UserGroupId" }, "IDX_d9ecaed8c6dc43f3592c229282")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_f3a1b4bd0c7cabba958a0c0b23");
b.ToTable("user_group_member");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", b =>
{
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.Property<string>("PrivateKey")
.IsRequired()
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("privateKey");
b.Property<string>("PublicKey")
.IsRequired()
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("publicKey");
b.HasKey("UserId")
.HasName("PK_f4853eb41ab722fe05f81cedeb6");
b.ToTable("user_keypair");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserList", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the UserList.");
b.Property<bool>("HideFromHomeTl")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("hideFromHomeTl")
.HasComment("Whether posts from list members should be hidden from the home timeline.");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the UserList.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.HasKey("Id")
.HasName("PK_87bab75775fd9b1ff822b656402");
b.HasIndex(new[] { "UserId" }, "IDX_b7fcefbdd1c18dce86687531f9");
b.ToTable("user_list");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserListMember", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the UserListMember.");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The user ID.");
b.Property<string>("UserListId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userListId")
.HasComment("The list ID.");
b.HasKey("Id")
.HasName("PK_11abb3768da1c5f8de101c9df45");
b.HasIndex(new[] { "UserListId" }, "IDX_605472305f26818cc93d1baaa7");
b.HasIndex(new[] { "UserId", "UserListId" }, "IDX_90f7da835e4c10aca6853621e1")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_d844bfc6f3f523a05189076efa");
b.ToTable("user_list_member");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserNotePin", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the UserNotePins.");
b.Property<string>("NoteId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("noteId");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_a6a2dad4ae000abce2ea9d9b103");
b.HasIndex("NoteId");
b.HasIndex(new[] { "UserId", "NoteId" }, "IDX_410cd649884b501c02d6e72738")
.IsUnique();
b.HasIndex(new[] { "UserId" }, "IDX_bfbc6f79ba4007b4ce5097f08d");
b.ToTable("user_note_pin");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserPending", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("code");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("email");
b.Property<string>("Password")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("password");
b.Property<string>("Username")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("username");
b.HasKey("Id")
.HasName("PK_d4c84e013c98ec02d19b8fbbafa");
b.HasIndex(new[] { "Code" }, "IDX_4e5c4c99175638ec0761714ab0")
.IsUnique();
b.ToTable("user_pending");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserProfile", b =>
{
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.Property<bool>("AlwaysMarkNsfw")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("alwaysMarkNsfw");
b.Property<bool>("AutoAcceptFollowed")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("autoAcceptFollowed");
b.Property<string>("Birthday")
.HasMaxLength(10)
.HasColumnType("character(10)")
.HasColumnName("birthday")
.IsFixedLength()
.HasComment("The birthday (YYYY-MM-DD) of the User.");
b.Property<bool>("CarefulBot")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("carefulBot");
b.Property<string>("ClientData")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("clientData")
.HasDefaultValueSql("'{}'::jsonb")
.HasComment("The client-specific data of the User.");
b.Property<string>("Description")
.HasMaxLength(2048)
.HasColumnType("character varying(2048)")
.HasColumnName("description")
.HasComment("The description (bio) of the User.");
b.Property<string>("Email")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("email")
.HasComment("The email address of the User.");
b.Property<string>("EmailNotificationTypes")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("emailNotificationTypes")
.HasDefaultValueSql("'[\"follow\", \"receiveFollowRequest\", \"groupInvited\"]'::jsonb");
b.Property<bool>("EmailVerified")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("emailVerified");
b.Property<string>("EmailVerifyCode")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("emailVerifyCode");
b.Property<bool>("EnableWordMute")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("enableWordMute");
b.Property<UserProfile.UserProfileFFVisibility>("FFVisibility")
.ValueGeneratedOnAdd()
.HasColumnType("user_profile_ffvisibility_enum")
.HasDefaultValue(UserProfile.UserProfileFFVisibility.Public)
.HasColumnName("ffVisibility");
b.Property<string>("Fields")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("fields")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<bool>("InjectFeaturedNote")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("injectFeaturedNote");
b.Property<string>("Integrations")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("integrations")
.HasDefaultValueSql("'{}'::jsonb");
b.Property<string>("Lang")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("lang");
b.Property<string>("Location")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("location")
.HasComment("The location of the User.");
b.Property<string>("Mentions")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("mentions")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<string>("ModerationNote")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(8192)
.HasColumnType("character varying(8192)")
.HasColumnName("moderationNote")
.HasDefaultValueSql("''::character varying");
b.Property<string>("MutedInstances")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("mutedInstances")
.HasDefaultValueSql("'[]'::jsonb")
.HasComment("List of instances muted by the user.");
b.Property<string>("MutedWords")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("mutedWords")
.HasDefaultValueSql("'[]'::jsonb");
b.Property<List<LegacyModels.MutingNotificationType>>("MutingNotificationTypes")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("user_profile_mutingnotificationtypes_enum[]")
.HasColumnName("mutingNotificationTypes")
.HasDefaultValueSql("'{}'::public.user_profile_mutingnotificationtypes_enum[]");
b.Property<bool>("NoCrawle")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("noCrawle")
.HasComment("Whether reject index by crawler.");
b.Property<string>("Password")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("password")
.HasComment("The password hash of the User. It will be null if the origin of the user is local.");
b.Property<string>("PinnedPageId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("pinnedPageId");
b.Property<bool>("PreventAiLearning")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("preventAiLearning");
b.Property<bool>("PublicReactions")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("publicReactions");
b.Property<bool>("ReceiveAnnouncementEmail")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("receiveAnnouncementEmail");
b.Property<string>("Room")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("jsonb")
.HasColumnName("room")
.HasDefaultValueSql("'{}'::jsonb")
.HasComment("The room data of the User.");
b.Property<bool>("SecurityKeysAvailable")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("securityKeysAvailable");
b.Property<bool>("TwoFactorEnabled")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("twoFactorEnabled");
b.Property<string>("TwoFactorSecret")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("twoFactorSecret");
b.Property<string>("TwoFactorTempSecret")
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("twoFactorTempSecret");
b.Property<string>("Url")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("url")
.HasComment("Remote URL of the user.");
b.Property<bool>("UsePasswordLessLogin")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("usePasswordLessLogin");
b.Property<string>("UserHost")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("userHost")
.HasComment("[Denormalized]");
b.HasKey("UserId")
.HasName("PK_51cb79b5555effaf7d69ba1cff9");
b.HasIndex(new[] { "EnableWordMute" }, "IDX_3befe6f999c86aff06eb0257b4");
b.HasIndex(new[] { "UserHost" }, "IDX_dce530b98e454793dac5ec2f5a");
b.HasIndex(new[] { "PinnedPageId" }, "UQ_6dc44f1ceb65b1e72bacef2ca27")
.IsUnique();
b.ToTable("user_profile");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", b =>
{
b.Property<string>("UserId")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.Property<string>("KeyId")
.IsRequired()
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("keyId");
b.Property<string>("KeyPem")
.IsRequired()
.HasMaxLength(4096)
.HasColumnType("character varying(4096)")
.HasColumnName("keyPem");
b.HasKey("UserId")
.HasName("PK_10c146e4b39b443ede016f6736d");
b.HasIndex(new[] { "KeyId" }, "IDX_171e64971c780ebd23fae140bb")
.IsUnique();
b.ToTable("user_publickey");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserSecurityKey", b =>
{
b.Property<string>("Id")
.HasColumnType("character varying")
.HasColumnName("id")
.HasComment("Variable-length id given to navigator.credentials.get()");
b.Property<DateTime>("LastUsed")
.HasColumnType("timestamp with time zone")
.HasColumnName("lastUsed")
.HasComment("The date of the last time the UserSecurityKey was successfully validated.");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("character varying(30)")
.HasColumnName("name")
.HasComment("User-defined name for this key");
b.Property<string>("PublicKey")
.IsRequired()
.HasColumnType("character varying")
.HasColumnName("publicKey")
.HasComment("Variable-length public key used to verify attestations (hex-encoded).");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId");
b.HasKey("Id")
.HasName("PK_3e508571121ab39c5f85d10c166");
b.HasIndex(new[] { "PublicKey" }, "IDX_0d7718e562dcedd0aa5cf2c9f7");
b.HasIndex(new[] { "UserId" }, "IDX_ff9ca3b5f3ee3d0681367a9b44");
b.ToTable("user_security_key");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Webhook", b =>
{
b.Property<string>("Id")
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("id");
b.Property<bool>("Active")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(true)
.HasColumnName("active");
b.Property<DateTime>("CreatedAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("createdAt")
.HasComment("The created date of the Antenna.");
b.Property<DateTime?>("LatestSentAt")
.HasColumnType("timestamp with time zone")
.HasColumnName("latestSentAt");
b.Property<int?>("LatestStatus")
.HasColumnType("integer")
.HasColumnName("latestStatus");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasColumnName("name")
.HasComment("The name of the Antenna.");
b.Property<List<string>>("On")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("character varying(128)[]")
.HasColumnName("on")
.HasDefaultValueSql("'{}'::character varying[]");
b.Property<string>("Secret")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("secret");
b.Property<string>("Url")
.IsRequired()
.HasMaxLength(1024)
.HasColumnType("character varying(1024)")
.HasColumnName("url");
b.Property<string>("UserId")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)")
.HasColumnName("userId")
.HasComment("The owner ID.");
b.HasKey("Id")
.HasName("PK_e6765510c2d078db49632b59020");
b.HasIndex(new[] { "Active" }, "IDX_5a056076f76b2efe08216ba655");
b.HasIndex(new[] { "On" }, "IDX_8063a0586ed1dfbe86e982d961");
b.HasIndex(new[] { "UserId" }, "IDX_f272c8c8805969e6a6449c77b3");
b.ToTable("webhook");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AbuseUserReport", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Assignee")
.WithMany("AbuseUserReportAssignees")
.HasForeignKey("AssigneeId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_08b883dd5fdd6f9c4c1572b36de");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Reporter")
.WithMany("AbuseUserReportReporters")
.HasForeignKey("ReporterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_04cc96756f89d0b7f9473e8cdf3");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "TargetUser")
.WithMany("AbuseUserReportTargetUsers")
.HasForeignKey("TargetUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_a9021cc2e1feb5f72d3db6e9f5f");
b.Navigation("Assignee");
b.Navigation("Reporter");
b.Navigation("TargetUser");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AccessToken", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.App", "App")
.WithMany("AccessTokens")
.HasForeignKey("AppId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_a3ff16c90cc87a82a0b5959e560");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("AccessTokens")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_9949557d0e1b2c19e5344c171e9");
b.Navigation("App");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AnnouncementRead", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Announcement", "Announcement")
.WithMany("AnnouncementReads")
.HasForeignKey("AnnouncementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_603a7b1e7aa0533c6c88e9bfafe");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("AnnouncementReads")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_8288151386172b8109f7239ab28");
b.Navigation("Announcement");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Antenna", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", "UserGroupMember")
.WithMany("Antennas")
.HasForeignKey("UserGroupMemberId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_ccbf5a8c0be4511133dcc50ddeb");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Antennas")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_6446c571a0e8d0f05f01c789096");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserList", "UserList")
.WithMany("Antennas")
.HasForeignKey("UserListId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_709d7d32053d0dd7620f678eeb9");
b.Navigation("User");
b.Navigation("UserGroupMember");
b.Navigation("UserList");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.App", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Apps")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_3f5b0899ef90527a3462d7c2cb3");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AttestationChallenge", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("AttestationChallenges")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_f1a461a618fa1755692d0e0d592");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AuthSession", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.App", "App")
.WithMany("AuthSessions")
.HasForeignKey("AppId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_dbe037d4bddd17b03a1dc778dee");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("AuthSessions")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_c072b729d71697f959bde66ade0");
b.Navigation("App");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Blocking", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Blockee")
.WithMany("BlockingBlockees")
.HasForeignKey("BlockeeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_2cd4a2743a99671308f5417759e");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Blocker")
.WithMany("BlockingBlockers")
.HasForeignKey("BlockerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_0627125f1a8a42c9a1929edb552");
b.Navigation("Blockee");
b.Navigation("Blocker");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Channel", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Banner")
.WithMany("Channels")
.HasForeignKey("BannerId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_999da2bcc7efadbfe0e92d3bc19");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Channels")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_823bae55bd81b3be6e05cff4383");
b.Navigation("Banner");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelFollowing", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Followee")
.WithMany("ChannelFollowings")
.HasForeignKey("FolloweeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_0e43068c3f92cab197c3d3cd86e");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower")
.WithMany("ChannelFollowings")
.HasForeignKey("FollowerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_6d8084ec9496e7334a4602707e1");
b.Navigation("Followee");
b.Navigation("Follower");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ChannelNotePin", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Channel")
.WithMany("ChannelNotePins")
.HasForeignKey("ChannelId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_8125f950afd3093acb10d2db8a8");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("ChannelNotePins")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_10b19ef67d297ea9de325cd4502");
b.Navigation("Channel");
b.Navigation("Note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Clip", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Clips")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_2b5ec6c574d6802c94c80313fb2");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ClipNote", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Clip", "Clip")
.WithMany("ClipNotes")
.HasForeignKey("ClipId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_ebe99317bbbe9968a0c6f579adf");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("ClipNotes")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_a012eaf5c87c65da1deb5fdbfa3");
b.Navigation("Clip");
b.Navigation("Note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFile", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", "Folder")
.WithMany("DriveFiles")
.HasForeignKey("FolderId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_bb90d1956dafc4068c28aa7560a");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("DriveFiles")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_860fa6f6c7df5bb887249fba22e");
b.Navigation("Folder");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", "Parent")
.WithMany("InverseParent")
.HasForeignKey("ParentId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_00ceffb0cdc238b3233294f08f2");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("DriveFolders")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_f4fc06e49c0171c85f1c48060d2");
b.Navigation("Parent");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Followee")
.WithMany("FollowRequestFollowees")
.HasForeignKey("FolloweeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_12c01c0d1a79f77d9f6c15fadd2");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower")
.WithMany("FollowRequestFollowers")
.HasForeignKey("FollowerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_a7fd92dd6dc519e6fb435dd108f");
b.Navigation("Followee");
b.Navigation("Follower");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Following", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Followee")
.WithMany("FollowingFollowees")
.HasForeignKey("FolloweeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_24e0042143a18157b234df186c3");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Follower")
.WithMany("FollowingFollowers")
.HasForeignKey("FollowerId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_6516c5a6f3c015b4eed39978be5");
b.Navigation("Followee");
b.Navigation("Follower");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryLike", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", "Post")
.WithMany("GalleryLikes")
.HasForeignKey("PostId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_b1cb568bfe569e47b7051699fc8");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("GalleryLikes")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_8fd5215095473061855ceb948cf");
b.Navigation("Post");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("GalleryPosts")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_985b836dddd8615e432d7043ddb");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithOne("HtmlNoteCacheEntry")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.HtmlNoteCacheEntry", "NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_6ef86ec901b2017cbe82d3a8286");
b.Navigation("Note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithOne("HtmlUserCacheEntry")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.HtmlUserCacheEntry", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_920b9474e3c9cae3f3c37c057e1");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.MessagingMessage", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "File")
.WithMany("MessagingMessages")
.HasForeignKey("FileId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_535def119223ac05ad3fa9ef64b");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "Group")
.WithMany("MessagingMessages")
.HasForeignKey("GroupId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_2c4be03b446884f9e9c502135be");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Recipient")
.WithMany("MessagingMessageRecipients")
.HasForeignKey("RecipientId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_cac14a4e3944454a5ce7daa5142");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("MessagingMessageUsers")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_5377c307783fce2b6d352e1203b");
b.Navigation("File");
b.Navigation("Group");
b.Navigation("Recipient");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.ModerationLog", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("ModerationLogs")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_a08ad074601d204e0f69da9a954");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Muting", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Mutee")
.WithMany("MutingMutees")
.HasForeignKey("MuteeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_ec96b4fed9dae517e0dbbe0675c");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Muter")
.WithMany("MutingMuters")
.HasForeignKey("MuterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_93060675b4a79a577f31d260c67");
b.Navigation("Mutee");
b.Navigation("Muter");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Note", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Channel", "Channel")
.WithMany("Notes")
.HasForeignKey("ChannelId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_f22169eb10657bded6d875ac8f9");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Renote")
.WithMany("InverseRenote")
.HasForeignKey("RenoteId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_52ccc804d7c69037d558bac4c96");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Reply")
.WithMany("InverseReply")
.HasForeignKey("ReplyId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_17cb3553c700a4985dff5a30ff5");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Notes")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_5b87d9d19127bd5d92026017a7b");
b.Navigation("Channel");
b.Navigation("Renote");
b.Navigation("Reply");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteEdit", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("NoteEdits")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_702ad5ae993a672e4fbffbcd38c");
b.Navigation("Note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteFavorite", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("NoteFavorites")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_0e00498f180193423c992bc4370");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("NoteFavorites")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_47f4b1892f5d6ba8efb3057d81a");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteReaction", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("NoteReactions")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_45145e4953780f3cd5656f0ea6a");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("NoteReactions")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_13761f64257f40c5636d0ff95ee");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteThreadMuting", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("NoteThreadMutings")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_29c11c7deb06615076f8c95b80a");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteUnread", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("NoteUnreads")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_e637cba4dc4410218c4251260e4");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("NoteUnreads")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_56b0166d34ddae49d8ef7610bb9");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.NoteWatching", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("NoteWatchings")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_03e7028ab8388a3f5e3ce2a8619");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("NoteWatchings")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_b0134ec406e8d09a540f8182888");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Notification", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.AccessToken", "AppAccessToken")
.WithMany("Notifications")
.HasForeignKey("AppAccessTokenId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_e22bf6bda77b6adc1fd9e75c8c9");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", "FollowRequest")
.WithMany("Notifications")
.HasForeignKey("FollowRequestId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_bd7fab507621e635b32cd31892c");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("Notifications")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_769cb6b73a1efe22ddf733ac453");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Notifiee")
.WithMany("NotificationNotifiees")
.HasForeignKey("NotifieeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_3c601b70a1066d2c8b517094cb9");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Notifier")
.WithMany("NotificationNotifiers")
.HasForeignKey("NotifierId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_3b4e96eec8d36a8bbb9d02aa710");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", "UserGroupInvitation")
.WithMany("Notifications")
.HasForeignKey("UserGroupInvitationId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_8fe87814e978053a53b1beb7e98");
b.Navigation("AppAccessToken");
b.Navigation("FollowRequest");
b.Navigation("Note");
b.Navigation("Notifiee");
b.Navigation("Notifier");
b.Navigation("UserGroupInvitation");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthToken", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.OauthApp", "App")
.WithMany("OauthTokens")
.HasForeignKey("AppId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_6d3ef28ea647b1449ba79690874");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("OauthTokens")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_f6b4b1ac66b753feab5d831ba04");
b.Navigation("App");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Page", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "EyeCatchingImage")
.WithMany("Pages")
.HasForeignKey("EyeCatchingImageId")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("FK_a9ca79ad939bf06066b81c9d3aa");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Pages")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_ae1d917992dd0c9d9bbdad06c4a");
b.Navigation("EyeCatchingImage");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PageLike", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Page", "Page")
.WithMany("PageLikes")
.HasForeignKey("PageId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_cf8782626dced3176038176a847");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("PageLikes")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_0e61efab7f88dbb79c9166dbb48");
b.Navigation("Page");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PasswordResetRequest", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("PasswordResetRequests")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_4bb7fd4a34492ae0e6cc8d30ac8");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Poll", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithOne("Poll")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.Poll", "NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_da851e06d0dfe2ef397d8b1bf1b");
b.Navigation("Note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PollVote", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("PollVotes")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_aecfbd5ef60374918e63ee95fa7");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("PollVotes")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_66d2bd2ee31d14bcc23069a89f8");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoNote", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithOne("PromoNote")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.PromoNote", "NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_e263909ca4fe5d57f8d4230dd5c");
b.Navigation("Note");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.PromoRead", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("PromoReads")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_a46a1a603ecee695d7db26da5f4");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("PromoReads")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_9657d55550c3d37bfafaf7d4b05");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RegistryItem", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("RegistryItems")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_fb9d21ba0abb83223263df6bcb3");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.RenoteMuting", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Mutee")
.WithMany("RenoteMutingMutees")
.HasForeignKey("MuteeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_7eac97594bcac5ffcf2068089b6");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "Muter")
.WithMany("RenoteMutingMuters")
.HasForeignKey("MuterId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_7aa72a5fe76019bfe8e5e0e8b7d");
b.Navigation("Mutee");
b.Navigation("Muter");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Session", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Sessions")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_3d2f174ef04fb312fdebd0ddc53");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Signin", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Signins")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_2c308dbdc50d94dc625670055f7");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.SwSubscription", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("SwSubscriptions")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_97754ca6f2baff9b4abb7f853dd");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.User", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Avatar")
.WithOne("UserAvatar")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.User", "AvatarId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_58f5c71eaab331645112cf8cfa5");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.DriveFile", "Banner")
.WithOne("UserBanner")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.User", "BannerId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_afc64b53f8db3707ceb34eb28e2");
b.Navigation("Avatar");
b.Navigation("Banner");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroup", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserGroups")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_3d6b372788ab01be58853003c93");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "UserGroup")
.WithMany("UserGroupInvitations")
.HasForeignKey("UserGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_5cc8c468090e129857e9fecce5a");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserGroupInvitations")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_bfbc6305547539369fe73eb144a");
b.Navigation("User");
b.Navigation("UserGroup");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvite", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "UserGroup")
.WithMany("UserGroupInvites")
.HasForeignKey("UserGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_e10924607d058004304611a436a");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserGroupInvites")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_1039988afa3bf991185b277fe03");
b.Navigation("User");
b.Navigation("UserGroup");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserGroup", "UserGroup")
.WithMany("UserGroupMembers")
.HasForeignKey("UserGroupId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_67dc758bc0566985d1b3d399865");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserGroupMembers")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_f3a1b4bd0c7cabba958a0c0b231");
b.Navigation("User");
b.Navigation("UserGroup");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithOne("UserKeypair")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserKeypair", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_f4853eb41ab722fe05f81cedeb6");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserList", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserLists")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_b7fcefbdd1c18dce86687531f99");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserListMember", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserListMembers")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_d844bfc6f3f523a05189076efaa");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.UserList", "UserList")
.WithMany("UserListMembers")
.HasForeignKey("UserListId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_605472305f26818cc93d1baaa74");
b.Navigation("User");
b.Navigation("UserList");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserNotePin", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Note", "Note")
.WithMany("UserNotePins")
.HasForeignKey("NoteId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_68881008f7c3588ad7ecae471cf");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserNotePins")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_bfbc6f79ba4007b4ce5097f08d6");
b.Navigation("Note");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserProfile", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.Page", "PinnedPage")
.WithOne("UserProfile")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserProfile", "PinnedPageId")
.OnDelete(DeleteBehavior.SetNull)
.HasConstraintName("FK_6dc44f1ceb65b1e72bacef2ca27");
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithOne("UserProfile")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserProfile", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_51cb79b5555effaf7d69ba1cff9");
b.Navigation("PinnedPage");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithOne("UserPublickey")
.HasForeignKey("Iceshrimp.Backend.Core.Database.Tables.UserPublickey", "UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_10c146e4b39b443ede016f6736d");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserSecurityKey", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("UserSecurityKeys")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_ff9ca3b5f3ee3d0681367a9b447");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Webhook", b =>
{
b.HasOne("Iceshrimp.Backend.Core.Database.Tables.User", "User")
.WithMany("Webhooks")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("FK_f272c8c8805969e6a6449c77b3c");
b.Navigation("User");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.AccessToken", b =>
{
b.Navigation("Notifications");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Announcement", b =>
{
b.Navigation("AnnouncementReads");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.App", b =>
{
b.Navigation("AccessTokens");
b.Navigation("AuthSessions");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Channel", b =>
{
b.Navigation("ChannelFollowings");
b.Navigation("ChannelNotePins");
b.Navigation("Notes");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Clip", b =>
{
b.Navigation("ClipNotes");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFile", b =>
{
b.Navigation("Channels");
b.Navigation("MessagingMessages");
b.Navigation("Pages");
b.Navigation("UserAvatar");
b.Navigation("UserBanner");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.DriveFolder", b =>
{
b.Navigation("DriveFiles");
b.Navigation("InverseParent");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.FollowRequest", b =>
{
b.Navigation("Notifications");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.GalleryPost", b =>
{
b.Navigation("GalleryLikes");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Note", b =>
{
b.Navigation("ChannelNotePins");
b.Navigation("ClipNotes");
b.Navigation("HtmlNoteCacheEntry");
b.Navigation("InverseRenote");
b.Navigation("InverseReply");
b.Navigation("NoteEdits");
b.Navigation("NoteFavorites");
b.Navigation("NoteReactions");
b.Navigation("NoteUnreads");
b.Navigation("NoteWatchings");
b.Navigation("Notifications");
b.Navigation("Poll");
b.Navigation("PollVotes");
b.Navigation("PromoNote");
b.Navigation("PromoReads");
b.Navigation("UserNotePins");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.OauthApp", b =>
{
b.Navigation("OauthTokens");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.Page", b =>
{
b.Navigation("PageLikes");
b.Navigation("UserProfile");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.User", b =>
{
b.Navigation("AbuseUserReportAssignees");
b.Navigation("AbuseUserReportReporters");
b.Navigation("AbuseUserReportTargetUsers");
b.Navigation("AccessTokens");
b.Navigation("AnnouncementReads");
b.Navigation("Antennas");
b.Navigation("Apps");
b.Navigation("AttestationChallenges");
b.Navigation("AuthSessions");
b.Navigation("BlockingBlockees");
b.Navigation("BlockingBlockers");
b.Navigation("ChannelFollowings");
b.Navigation("Channels");
b.Navigation("Clips");
b.Navigation("DriveFiles");
b.Navigation("DriveFolders");
b.Navigation("FollowRequestFollowees");
b.Navigation("FollowRequestFollowers");
b.Navigation("FollowingFollowees");
b.Navigation("FollowingFollowers");
b.Navigation("GalleryLikes");
b.Navigation("GalleryPosts");
b.Navigation("HtmlUserCacheEntry");
b.Navigation("MessagingMessageRecipients");
b.Navigation("MessagingMessageUsers");
b.Navigation("ModerationLogs");
b.Navigation("MutingMutees");
b.Navigation("MutingMuters");
b.Navigation("NoteFavorites");
b.Navigation("NoteReactions");
b.Navigation("NoteThreadMutings");
b.Navigation("NoteUnreads");
b.Navigation("NoteWatchings");
b.Navigation("Notes");
b.Navigation("NotificationNotifiees");
b.Navigation("NotificationNotifiers");
b.Navigation("OauthTokens");
b.Navigation("PageLikes");
b.Navigation("Pages");
b.Navigation("PasswordResetRequests");
b.Navigation("PollVotes");
b.Navigation("PromoReads");
b.Navigation("RegistryItems");
b.Navigation("RenoteMutingMutees");
b.Navigation("RenoteMutingMuters");
b.Navigation("Sessions");
b.Navigation("Signins");
b.Navigation("SwSubscriptions");
b.Navigation("UserGroupInvitations");
b.Navigation("UserGroupInvites");
b.Navigation("UserGroupMembers");
b.Navigation("UserGroups");
b.Navigation("UserKeypair");
b.Navigation("UserListMembers");
b.Navigation("UserLists");
b.Navigation("UserNotePins");
b.Navigation("UserProfile");
b.Navigation("UserPublickey");
b.Navigation("UserSecurityKeys");
b.Navigation("Webhooks");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroup", b =>
{
b.Navigation("MessagingMessages");
b.Navigation("UserGroupInvitations");
b.Navigation("UserGroupInvites");
b.Navigation("UserGroupMembers");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupInvitation", b =>
{
b.Navigation("Notifications");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserGroupMember", b =>
{
b.Navigation("Antennas");
});
modelBuilder.Entity("Iceshrimp.Backend.Core.Database.Tables.UserList", b =>
{
b.Navigation("Antennas");
b.Navigation("UserListMembers");
});
#pragma warning restore 612, 618
}
}
}