summaryrefslogtreecommitdiff
path: root/backend/Elements.Data
diff options
context:
space:
mode:
authorPaweł Bernaciak <pawelbernaciak@zohomail.eu>2023-10-21 17:07:28 +0200
committerPaweł Bernaciak <pawelbernaciak@zohomail.eu>2023-10-21 17:07:28 +0200
commit88c29a5f93b69dddef0727ea9896354c132887ab (patch)
treeb1049ac5655ae2d1e72fdc92e9b45355f00a8acf /backend/Elements.Data
parent0bdc7889bf9d6e666558717d1ff093616eb006d9 (diff)
Add initial data
Diffstat (limited to 'backend/Elements.Data')
-rw-r--r--backend/Elements.Data/ApplicationDbContext.cs54
-rw-r--r--backend/Elements.Data/Migrations/20231021150037_Add initial data.Designer.cs247
-rw-r--r--backend/Elements.Data/Migrations/20231021150037_Add initial data.cs240
-rw-r--r--backend/Elements.Data/Migrations/ApplicationDbContextModelSnapshot.cs97
-rw-r--r--backend/Elements.Data/Models/Recipe.cs1
5 files changed, 638 insertions, 1 deletions
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<Element> Elements { get; set; }
public DbSet<User> Users { get; set; }
+ public DbSet<Suggestion> Suggestions { get; set; }
+ public DbSet<Recipe> Recipes { get; set; }
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
{
}
+
+ protected override void OnModelCreating(ModelBuilder modelBuilder)
+ {
+ modelBuilder.Entity<User>().HasData(
+ new User()
+ {
+ Id = 1,
+ Name = "Elements",
+ GoogleId = String.Empty,
+ Elements = new List<Element>(),
+ Suggestions = new List<Suggestion>()
+ });
+
+ modelBuilder.Entity<Element>().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 @@
+// <auto-generated />
+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
+ {
+ /// <inheritdoc />
+ 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<int>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property<string>("IconBitmap")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property<string>("Name")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property<int>("State")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("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<int>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("FirstIngredientId")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("ResultId")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("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<int>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("FirstIngredientId")
+ .HasColumnType("INTEGER");
+
+ b.Property<string>("Icon")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property<string>("Name")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property<int>("SecondIngredientId")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("UserId")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("Votes")
+ .HasColumnType("INTEGER");
+
+ b.Property<DateTime>("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<int>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property<string>("GoogleId")
+ .IsRequired()
+ .HasColumnType("TEXT");
+
+ b.Property<string>("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
+{
+ /// <inheritdoc />
+ public partial class Addinitialdata : Migration
+ {
+ /// <inheritdoc />
+ 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<int>(type: "INTEGER", nullable: false)
+ .Annotation("Sqlite:Autoincrement", true),
+ FirstIngredientId = table.Column<int>(type: "INTEGER", nullable: false),
+ SecondIngredientId = table.Column<int>(type: "INTEGER", nullable: false),
+ ResultId = table.Column<int>(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);
+ }
+
+ /// <inheritdoc />
+ 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<int>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("FirstIngredientId")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("ResultId")
+ .HasColumnType("INTEGER");
+
+ b.Property<int>("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; }