//
using System.Collections.Generic;
using Catalogger.Backend.Database;
using Catalogger.Backend.Database.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NodaTime;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Catalogger.Backend.Database.Migrations
{
[DbContext(typeof(DatabaseContext))]
partial class DatabaseContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.7")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Catalogger.Backend.Database.Models.Guild", b =>
{
b.Property("Id")
.HasColumnType("bigint")
.HasColumnName("id");
b.Property>("BannedSystems")
.IsRequired()
.HasColumnType("text[]")
.HasColumnName("banned_systems");
b.Property("Channels")
.IsRequired()
.HasColumnType("jsonb")
.HasColumnName("channels");
b.Property>("KeyRoles")
.IsRequired()
.HasColumnType("bigint[]")
.HasColumnName("key_roles");
b.HasKey("Id")
.HasName("pk_guilds");
b.ToTable("guilds", (string)null);
});
modelBuilder.Entity("Catalogger.Backend.Database.Models.IgnoredMessage", b =>
{
b.Property("Id")
.HasColumnType("bigint")
.HasColumnName("id");
b.HasKey("Id")
.HasName("pk_ignored_messages");
b.ToTable("ignored_messages", (string)null);
});
modelBuilder.Entity("Catalogger.Backend.Database.Models.Invite", b =>
{
b.Property("Code")
.HasColumnType("text")
.HasColumnName("code");
b.Property("GuildId")
.HasColumnType("bigint")
.HasColumnName("guild_id");
b.Property("Name")
.IsRequired()
.HasColumnType("text")
.HasColumnName("name");
b.HasKey("Code")
.HasName("pk_invites");
b.HasIndex("GuildId")
.HasDatabaseName("ix_invites_guild_id");
b.ToTable("invites", (string)null);
});
modelBuilder.Entity("Catalogger.Backend.Database.Models.Message", b =>
{
b.Property("Id")
.HasColumnType("bigint")
.HasColumnName("id");
b.Property("AttachmentSize")
.HasColumnType("integer")
.HasColumnName("attachment_size");
b.Property("ChannelId")
.HasColumnType("bigint")
.HasColumnName("channel_id");
b.Property("EncryptedContent")
.IsRequired()
.HasColumnType("bytea")
.HasColumnName("content");
b.Property("EncryptedMetadata")
.HasColumnType("bytea")
.HasColumnName("metadata");
b.Property("EncryptedUsername")
.IsRequired()
.HasColumnType("bytea")
.HasColumnName("username");
b.Property("GuildId")
.HasColumnType("bigint")
.HasColumnName("guild_id");
b.Property("Member")
.HasColumnType("text")
.HasColumnName("member");
b.Property("OriginalId")
.HasColumnType("bigint")
.HasColumnName("original_id");
b.Property("System")
.HasColumnType("text")
.HasColumnName("system");
b.Property("UserId")
.HasColumnType("bigint")
.HasColumnName("user_id");
b.HasKey("Id")
.HasName("pk_messages");
b.ToTable("messages", (string)null);
});
modelBuilder.Entity("Catalogger.Backend.Database.Models.Watchlist", b =>
{
b.Property("GuildId")
.HasColumnType("bigint")
.HasColumnName("guild_id");
b.Property("UserId")
.HasColumnType("bigint")
.HasColumnName("user_id");
b.Property("AddedAt")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasColumnName("added_at")
.HasDefaultValueSql("now()");
b.Property("ModeratorId")
.HasColumnType("bigint")
.HasColumnName("moderator_id");
b.Property("Reason")
.IsRequired()
.HasColumnType("text")
.HasColumnName("reason");
b.HasKey("GuildId", "UserId")
.HasName("pk_watchlists");
b.ToTable("watchlists", (string)null);
});
#pragma warning restore 612, 618
}
}
}