//
using System;
using API.DBAccess;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace API.Migrations
{
[DbContext(typeof(DBContext))]
partial class DBContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.10");
modelBuilder.Entity("API.Models.RecipeModels.Ingredient", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Amount")
.HasColumnType("INTEGER");
b.Property("Element")
.IsRequired()
.HasColumnType("TEXT");
b.Property("RecipeId")
.HasColumnType("INTEGER");
b.Property("Unit")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("RecipeId");
b.ToTable("Ingredient");
});
modelBuilder.Entity("API.Models.RecipeModels.PrefereredRecipes", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("PrefereredRecipes");
});
modelBuilder.Entity("API.Models.RecipeModels.Recipe", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Description")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Directions")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Name")
.IsRequired()
.HasColumnType("TEXT");
b.Property("PrefereredRecipesId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("PrefereredRecipesId");
b.ToTable("Recipes");
});
modelBuilder.Entity("API.Models.ShoppingListModels.ShoppingList", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Amount")
.HasColumnType("REAL");
b.Property("Checked")
.HasColumnType("INTEGER");
b.Property("Name")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Unit")
.IsRequired()
.HasColumnType("TEXT");
b.Property("UserId")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("ShoppingList");
});
modelBuilder.Entity("API.Models.UserModels.User", b =>
{
b.Property("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
b.Property("Email")
.IsRequired()
.HasColumnType("TEXT");
b.Property("Password")
.IsRequired()
.HasColumnType("TEXT");
b.Property("PrefereredRecipesId")
.HasColumnType("INTEGER");
b.Property("RefreshToken")
.HasColumnType("TEXT");
b.Property("RefreshTokenExpireAt")
.HasColumnType("TEXT");
b.Property("Salt")
.HasColumnType("TEXT");
b.Property("UserName")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("PrefereredRecipesId");
b.ToTable("Users");
});
modelBuilder.Entity("API.Models.RecipeModels.Ingredient", b =>
{
b.HasOne("API.Models.RecipeModels.Recipe", null)
.WithMany("Ingredients")
.HasForeignKey("RecipeId");
});
modelBuilder.Entity("API.Models.RecipeModels.Recipe", b =>
{
b.HasOne("API.Models.RecipeModels.PrefereredRecipes", null)
.WithMany("Recipes")
.HasForeignKey("PrefereredRecipesId");
});
modelBuilder.Entity("API.Models.ShoppingListModels.ShoppingList", b =>
{
b.HasOne("API.Models.UserModels.User", null)
.WithMany("ShoppingList")
.HasForeignKey("UserId");
});
modelBuilder.Entity("API.Models.UserModels.User", b =>
{
b.HasOne("API.Models.RecipeModels.PrefereredRecipes", "PrefereredRecipes")
.WithMany()
.HasForeignKey("PrefereredRecipesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("PrefereredRecipes");
});
modelBuilder.Entity("API.Models.RecipeModels.PrefereredRecipes", b =>
{
b.Navigation("Recipes");
});
modelBuilder.Entity("API.Models.RecipeModels.Recipe", b =>
{
b.Navigation("Ingredients");
});
modelBuilder.Entity("API.Models.UserModels.User", b =>
{
b.Navigation("ShoppingList");
});
#pragma warning restore 612, 618
}
}
}