//
using System;
using Elements.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace Elements.Data.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "7.0.12")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("Elements.Data.Models.Element", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("CreationDate")
.HasColumnType("timestamp with time zone");
b.Property("IconPng")
.IsRequired()
.HasColumnType("bytea");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("State")
.HasColumnType("integer");
b.Property("UserId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Elements");
b.HasData(
new
{
Id = 1,
CreationDate = new DateTime(2023, 10, 28, 17, 53, 52, 688, DateTimeKind.Utc).AddTicks(9070),
IconPng = new byte[] { 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 16, 0, 0, 0, 16, 8, 6, 0, 0, 0, 31, 243, 255, 97, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 14, 196, 0, 0, 14, 196, 1, 149, 43, 14, 27, 0, 0, 0, 29, 73, 68, 65, 84, 120, 156, 99, 249, 95, 224, 252, 159, 129, 2, 192, 194, 64, 33, 24, 53, 96, 212, 128, 81, 3, 6, 139, 1, 0, 119, 65, 2, 242, 233, 108, 215, 141, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130 },
Name = "Fire",
State = 1,
UserId = 1
},
new
{
Id = 2,
CreationDate = new DateTime(2023, 10, 28, 17, 53, 52, 689, DateTimeKind.Utc).AddTicks(230),
IconPng = new byte[] { 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 16, 0, 0, 0, 16, 8, 6, 0, 0, 0, 31, 243, 255, 97, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 14, 196, 0, 0, 14, 196, 1, 149, 43, 14, 27, 0, 0, 0, 29, 73, 68, 65, 84, 120, 156, 99, 81, 156, 246, 249, 63, 3, 5, 128, 133, 129, 66, 48, 106, 192, 168, 1, 163, 6, 12, 22, 3, 0, 85, 67, 2, 234, 36, 203, 134, 16, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130 },
Name = "Water",
State = 1,
UserId = 1
},
new
{
Id = 3,
CreationDate = new DateTime(2023, 10, 28, 17, 53, 52, 689, DateTimeKind.Utc).AddTicks(720),
IconPng = new byte[] { 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 16, 0, 0, 0, 16, 8, 6, 0, 0, 0, 31, 243, 255, 97, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 14, 196, 0, 0, 14, 196, 1, 149, 43, 14, 27, 0, 0, 0, 30, 73, 68, 65, 84, 120, 156, 99, 217, 125, 239, 247, 127, 6, 10, 0, 11, 3, 133, 96, 212, 128, 81, 3, 70, 13, 24, 44, 6, 0, 0, 10, 221, 3, 212, 197, 89, 182, 174, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130 },
Name = "Air",
State = 1,
UserId = 1
},
new
{
Id = 4,
CreationDate = new DateTime(2023, 10, 28, 17, 53, 52, 689, DateTimeKind.Utc).AddTicks(1160),
IconPng = new byte[] { 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 16, 0, 0, 0, 16, 8, 6, 0, 0, 0, 31, 243, 255, 97, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 14, 196, 0, 0, 14, 196, 1, 149, 43, 14, 27, 0, 0, 0, 29, 73, 68, 65, 84, 120, 156, 99, 137, 117, 48, 255, 207, 64, 1, 96, 97, 160, 16, 140, 26, 48, 106, 192, 168, 1, 131, 197, 0, 0, 242, 75, 2, 20, 1, 55, 196, 168, 0, 0, 0, 0, 73, 69, 78, 68, 174, 66, 96, 130 },
Name = "Ground",
State = 1,
UserId = 1
});
});
modelBuilder.Entity("Elements.Data.Models.Recipe", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("FirstElementId")
.HasColumnType("integer");
b.Property("ResultElementId")
.HasColumnType("integer");
b.Property("SecondElementId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("FirstElementId");
b.HasIndex("ResultElementId");
b.HasIndex("SecondElementId");
b.ToTable("Recipes");
});
modelBuilder.Entity("Elements.Data.Models.Suggestion", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("CreationDate")
.HasColumnType("timestamp with time zone");
b.Property("FirstElementId")
.HasColumnType("integer");
b.Property("Icon")
.IsRequired()
.HasColumnType("bytea");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.Property("SecondElementId")
.HasColumnType("integer");
b.Property("UserId")
.HasColumnType("integer");
b.Property("VotingEnd")
.HasColumnType("timestamp with time zone");
b.HasKey("Id");
b.HasIndex("FirstElementId");
b.HasIndex("SecondElementId");
b.HasIndex("UserId");
b.ToTable("Suggestions");
});
modelBuilder.Entity("Elements.Data.Models.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("GoogleId")
.IsRequired()
.HasColumnType("text");
b.Property("Name")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.ToTable("Users");
b.HasData(
new
{
Id = 1,
GoogleId = "",
Name = "Elements"
});
});
modelBuilder.Entity("Elements.Data.Models.Vote", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("integer");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
b.Property("SuggestionId")
.HasColumnType("integer");
b.Property("UserId")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("SuggestionId");
b.HasIndex("UserId");
b.ToTable("Votes");
});
modelBuilder.Entity("Elements.Data.Models.Element", b =>
{
b.HasOne("Elements.Data.Models.User", "User")
.WithMany("Elements")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("Elements.Data.Models.Recipe", b =>
{
b.HasOne("Elements.Data.Models.Element", "FirstElement")
.WithMany()
.HasForeignKey("FirstElementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Elements.Data.Models.Element", "ResultElement")
.WithMany()
.HasForeignKey("ResultElementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Elements.Data.Models.Element", "SecondElement")
.WithMany()
.HasForeignKey("SecondElementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("FirstElement");
b.Navigation("ResultElement");
b.Navigation("SecondElement");
});
modelBuilder.Entity("Elements.Data.Models.Suggestion", b =>
{
b.HasOne("Elements.Data.Models.Element", "FirstElement")
.WithMany()
.HasForeignKey("FirstElementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Elements.Data.Models.Element", "SecondElement")
.WithMany()
.HasForeignKey("SecondElementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Elements.Data.Models.User", null)
.WithMany("Suggestions")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("FirstElement");
b.Navigation("SecondElement");
});
modelBuilder.Entity("Elements.Data.Models.Vote", b =>
{
b.HasOne("Elements.Data.Models.Suggestion", null)
.WithMany("Votes")
.HasForeignKey("SuggestionId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("Elements.Data.Models.User", null)
.WithMany("Votes")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Elements.Data.Models.Suggestion", b =>
{
b.Navigation("Votes");
});
modelBuilder.Entity("Elements.Data.Models.User", b =>
{
b.Navigation("Elements");
b.Navigation("Suggestions");
b.Navigation("Votes");
});
#pragma warning restore 612, 618
}
}
}