From 88c29a5f93b69dddef0727ea9896354c132887ab Mon Sep 17 00:00:00 2001 From: Paweł Bernaciak Date: Sat, 21 Oct 2023 17:07:28 +0200 Subject: Add initial data --- backend/Elements.Data/ApplicationDbContext.cs | 54 +++++ .../20231021150037_Add initial data.Designer.cs | 247 +++++++++++++++++++++ .../Migrations/20231021150037_Add initial data.cs | 240 ++++++++++++++++++++ .../ApplicationDbContextModelSnapshot.cs | 97 +++++++- backend/Elements.Data/Models/Recipe.cs | 1 + 5 files changed, 638 insertions(+), 1 deletion(-) create mode 100644 backend/Elements.Data/Migrations/20231021150037_Add initial data.Designer.cs create mode 100644 backend/Elements.Data/Migrations/20231021150037_Add initial data.cs (limited to 'backend/Elements.Data') diff --git a/backend/Elements.Data/ApplicationDbContext.cs b/backend/Elements.Data/ApplicationDbContext.cs index a912cc4..bab3170 100644 --- a/backend/Elements.Data/ApplicationDbContext.cs +++ b/backend/Elements.Data/ApplicationDbContext.cs @@ -6,9 +6,63 @@ public class ApplicationDbContext : DbContext { public DbSet Elements { get; set; } public DbSet Users { get; set; } + public DbSet Suggestions { get; set; } + public DbSet Recipes { get; set; } public ApplicationDbContext(DbContextOptions options) : base(options) { } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity().HasData( + new User() + { + Id = 1, + Name = "Elements", + GoogleId = String.Empty, + Elements = new List(), + Suggestions = new List() + }); + + modelBuilder.Entity().HasData( + new Element() + { + Id = 1, + Name = "Fire", + UserId = 1, + State = ElementState.HasIcon, + IconBitmap = + "/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w==" + }, + new Element() + { + Id = 2, + Name = "Water", + UserId = 1, + State = ElementState.HasIcon, + IconBitmap = + "IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/w==" + }, + new Element() + { + Id = 3, + Name = "Air", + UserId = 1, + State = ElementState.HasIcon, + IconBitmap = + "u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/w==" + + }, + new Element() + { + Id = 4, + Name = "Ground", + UserId = 1, + State = ElementState.HasIcon, + IconBitmap = + "XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/w==" + }); + } } diff --git a/backend/Elements.Data/Migrations/20231021150037_Add initial data.Designer.cs b/backend/Elements.Data/Migrations/20231021150037_Add initial data.Designer.cs new file mode 100644 index 0000000..11477a0 --- /dev/null +++ b/backend/Elements.Data/Migrations/20231021150037_Add initial data.Designer.cs @@ -0,0 +1,247 @@ +// +using System; +using Elements.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Elements.Data.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20231021150037_Add initial data")] + partial class Addinitialdata + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "7.0.12"); + + modelBuilder.Entity("Elements.Data.Models.Element", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("IconBitmap") + .IsRequired() + .HasColumnType("TEXT"); + + 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, + IconBitmap = "/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w==", + Name = "Fire", + State = 1, + UserId = 1 + }, + new + { + Id = 2, + IconBitmap = "IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/w==", + Name = "Water", + State = 1, + UserId = 1 + }, + new + { + Id = 3, + IconBitmap = "u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/w==", + Name = "Air", + State = 1, + UserId = 1 + }, + new + { + Id = 4, + IconBitmap = "XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/w==", + Name = "Ground", + State = 1, + UserId = 1 + }); + }); + + modelBuilder.Entity("Elements.Data.Models.Recipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FirstIngredientId") + .HasColumnType("INTEGER"); + + b.Property("ResultId") + .HasColumnType("INTEGER"); + + b.Property("SecondIngredientId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("FirstIngredientId"); + + b.HasIndex("ResultId"); + + b.HasIndex("SecondIngredientId"); + + b.ToTable("Recipes"); + }); + + modelBuilder.Entity("Elements.Data.Models.Suggestion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FirstIngredientId") + .HasColumnType("INTEGER"); + + b.Property("Icon") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("SecondIngredientId") + .HasColumnType("INTEGER"); + + b.Property("UserId") + .HasColumnType("INTEGER"); + + b.Property("Votes") + .HasColumnType("INTEGER"); + + b.Property("VotingEnd") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("FirstIngredientId"); + + b.HasIndex("SecondIngredientId"); + + b.HasIndex("UserId"); + + b.ToTable("Suggestions"); + }); + + modelBuilder.Entity("Elements.Data.Models.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + 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.Element", b => + { + b.HasOne("Elements.Data.Models.User", null) + .WithMany("Elements") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Elements.Data.Models.Recipe", b => + { + b.HasOne("Elements.Data.Models.Element", "FirstIngredient") + .WithMany() + .HasForeignKey("FirstIngredientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Elements.Data.Models.Element", "Result") + .WithMany() + .HasForeignKey("ResultId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Elements.Data.Models.Element", "SecondIngredient") + .WithMany() + .HasForeignKey("SecondIngredientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FirstIngredient"); + + b.Navigation("Result"); + + b.Navigation("SecondIngredient"); + }); + + modelBuilder.Entity("Elements.Data.Models.Suggestion", b => + { + b.HasOne("Elements.Data.Models.Element", "FirstIngredient") + .WithMany() + .HasForeignKey("FirstIngredientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Elements.Data.Models.Element", "SecondIngredient") + .WithMany() + .HasForeignKey("SecondIngredientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Elements.Data.Models.User", null) + .WithMany("Suggestions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FirstIngredient"); + + b.Navigation("SecondIngredient"); + }); + + modelBuilder.Entity("Elements.Data.Models.User", b => + { + b.Navigation("Elements"); + + b.Navigation("Suggestions"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/backend/Elements.Data/Migrations/20231021150037_Add initial data.cs b/backend/Elements.Data/Migrations/20231021150037_Add initial data.cs new file mode 100644 index 0000000..a7d24f3 --- /dev/null +++ b/backend/Elements.Data/Migrations/20231021150037_Add initial data.cs @@ -0,0 +1,240 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace Elements.Data.Migrations +{ + /// + public partial class Addinitialdata : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Suggestion_Elements_FirstIngredientId", + table: "Suggestion"); + + migrationBuilder.DropForeignKey( + name: "FK_Suggestion_Elements_SecondIngredientId", + table: "Suggestion"); + + migrationBuilder.DropForeignKey( + name: "FK_Suggestion_Users_UserId", + table: "Suggestion"); + + migrationBuilder.DropPrimaryKey( + name: "PK_Suggestion", + table: "Suggestion"); + + migrationBuilder.RenameTable( + name: "Suggestion", + newName: "Suggestions"); + + migrationBuilder.RenameIndex( + name: "IX_Suggestion_UserId", + table: "Suggestions", + newName: "IX_Suggestions_UserId"); + + migrationBuilder.RenameIndex( + name: "IX_Suggestion_SecondIngredientId", + table: "Suggestions", + newName: "IX_Suggestions_SecondIngredientId"); + + migrationBuilder.RenameIndex( + name: "IX_Suggestion_FirstIngredientId", + table: "Suggestions", + newName: "IX_Suggestions_FirstIngredientId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_Suggestions", + table: "Suggestions", + column: "Id"); + + migrationBuilder.CreateTable( + name: "Recipes", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + FirstIngredientId = table.Column(type: "INTEGER", nullable: false), + SecondIngredientId = table.Column(type: "INTEGER", nullable: false), + ResultId = table.Column(type: "INTEGER", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Recipes", x => x.Id); + table.ForeignKey( + name: "FK_Recipes_Elements_FirstIngredientId", + column: x => x.FirstIngredientId, + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Recipes_Elements_ResultId", + column: x => x.ResultId, + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Recipes_Elements_SecondIngredientId", + column: x => x.SecondIngredientId, + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.InsertData( + table: "Users", + columns: new[] { "Id", "GoogleId", "Name" }, + values: new object[] { 1, "", "Elements" }); + + migrationBuilder.InsertData( + table: "Elements", + columns: new[] { "Id", "IconBitmap", "Name", "State", "UserId" }, + values: new object[,] + { + { 1, "/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w==", "Fire", 1, 1 }, + { 2, "IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/w==", "Water", 1, 1 }, + { 3, "u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/w==", "Air", 1, 1 }, + { 4, "XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/w==", "Ground", 1, 1 } + }); + + migrationBuilder.CreateIndex( + name: "IX_Recipes_FirstIngredientId", + table: "Recipes", + column: "FirstIngredientId"); + + migrationBuilder.CreateIndex( + name: "IX_Recipes_ResultId", + table: "Recipes", + column: "ResultId"); + + migrationBuilder.CreateIndex( + name: "IX_Recipes_SecondIngredientId", + table: "Recipes", + column: "SecondIngredientId"); + + migrationBuilder.AddForeignKey( + name: "FK_Suggestions_Elements_FirstIngredientId", + table: "Suggestions", + column: "FirstIngredientId", + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_Suggestions_Elements_SecondIngredientId", + table: "Suggestions", + column: "SecondIngredientId", + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_Suggestions_Users_UserId", + table: "Suggestions", + column: "UserId", + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Suggestions_Elements_FirstIngredientId", + table: "Suggestions"); + + migrationBuilder.DropForeignKey( + name: "FK_Suggestions_Elements_SecondIngredientId", + table: "Suggestions"); + + migrationBuilder.DropForeignKey( + name: "FK_Suggestions_Users_UserId", + table: "Suggestions"); + + migrationBuilder.DropTable( + name: "Recipes"); + + migrationBuilder.DropPrimaryKey( + name: "PK_Suggestions", + table: "Suggestions"); + + migrationBuilder.DeleteData( + table: "Elements", + keyColumn: "Id", + keyValue: 1); + + migrationBuilder.DeleteData( + table: "Elements", + keyColumn: "Id", + keyValue: 2); + + migrationBuilder.DeleteData( + table: "Elements", + keyColumn: "Id", + keyValue: 3); + + migrationBuilder.DeleteData( + table: "Elements", + keyColumn: "Id", + keyValue: 4); + + migrationBuilder.DeleteData( + table: "Users", + keyColumn: "Id", + keyValue: 1); + + migrationBuilder.RenameTable( + name: "Suggestions", + newName: "Suggestion"); + + migrationBuilder.RenameIndex( + name: "IX_Suggestions_UserId", + table: "Suggestion", + newName: "IX_Suggestion_UserId"); + + migrationBuilder.RenameIndex( + name: "IX_Suggestions_SecondIngredientId", + table: "Suggestion", + newName: "IX_Suggestion_SecondIngredientId"); + + migrationBuilder.RenameIndex( + name: "IX_Suggestions_FirstIngredientId", + table: "Suggestion", + newName: "IX_Suggestion_FirstIngredientId"); + + migrationBuilder.AddPrimaryKey( + name: "PK_Suggestion", + table: "Suggestion", + column: "Id"); + + migrationBuilder.AddForeignKey( + name: "FK_Suggestion_Elements_FirstIngredientId", + table: "Suggestion", + column: "FirstIngredientId", + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_Suggestion_Elements_SecondIngredientId", + table: "Suggestion", + column: "SecondIngredientId", + principalTable: "Elements", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_Suggestion_Users_UserId", + table: "Suggestion", + column: "UserId", + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/backend/Elements.Data/Migrations/ApplicationDbContextModelSnapshot.cs b/backend/Elements.Data/Migrations/ApplicationDbContextModelSnapshot.cs index a43306c..7fde457 100644 --- a/backend/Elements.Data/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/backend/Elements.Data/Migrations/ApplicationDbContextModelSnapshot.cs @@ -42,6 +42,66 @@ namespace Elements.Data.Migrations b.HasIndex("UserId"); b.ToTable("Elements"); + + b.HasData( + new + { + Id = 1, + IconBitmap = "/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/w==", + Name = "Fire", + State = 1, + UserId = 1 + }, + new + { + Id = 2, + IconBitmap = "IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/yGW/f8hlv3/IZb9/w==", + Name = "Water", + State = 1, + UserId = 1 + }, + new + { + Id = 3, + IconBitmap = "u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/7ve+/+73vv/u977/w==", + Name = "Air", + State = 1, + UserId = 1 + }, + new + { + Id = 4, + IconBitmap = "XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/11AN/9dQDf/XUA3/w==", + Name = "Ground", + State = 1, + UserId = 1 + }); + }); + + modelBuilder.Entity("Elements.Data.Models.Recipe", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("FirstIngredientId") + .HasColumnType("INTEGER"); + + b.Property("ResultId") + .HasColumnType("INTEGER"); + + b.Property("SecondIngredientId") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("FirstIngredientId"); + + b.HasIndex("ResultId"); + + b.HasIndex("SecondIngredientId"); + + b.ToTable("Recipes"); }); modelBuilder.Entity("Elements.Data.Models.Suggestion", b => @@ -81,7 +141,7 @@ namespace Elements.Data.Migrations b.HasIndex("UserId"); - b.ToTable("Suggestion"); + b.ToTable("Suggestions"); }); modelBuilder.Entity("Elements.Data.Models.User", b => @@ -101,6 +161,14 @@ namespace Elements.Data.Migrations b.HasKey("Id"); b.ToTable("Users"); + + b.HasData( + new + { + Id = 1, + GoogleId = "", + Name = "Elements" + }); }); modelBuilder.Entity("Elements.Data.Models.Element", b => @@ -112,6 +180,33 @@ namespace Elements.Data.Migrations .IsRequired(); }); + modelBuilder.Entity("Elements.Data.Models.Recipe", b => + { + b.HasOne("Elements.Data.Models.Element", "FirstIngredient") + .WithMany() + .HasForeignKey("FirstIngredientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Elements.Data.Models.Element", "Result") + .WithMany() + .HasForeignKey("ResultId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Elements.Data.Models.Element", "SecondIngredient") + .WithMany() + .HasForeignKey("SecondIngredientId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("FirstIngredient"); + + b.Navigation("Result"); + + b.Navigation("SecondIngredient"); + }); + modelBuilder.Entity("Elements.Data.Models.Suggestion", b => { b.HasOne("Elements.Data.Models.Element", "FirstIngredient") diff --git a/backend/Elements.Data/Models/Recipe.cs b/backend/Elements.Data/Models/Recipe.cs index 3c4a491..7d7eaeb 100644 --- a/backend/Elements.Data/Models/Recipe.cs +++ b/backend/Elements.Data/Models/Recipe.cs @@ -2,6 +2,7 @@ namespace Elements.Data.Models; public class Recipe { + public required int Id { get; set; } public required Element FirstIngredient { get; init; } public required Element SecondIngredient { get; set; } public required Element Result { get; set; } -- cgit v1.2.3