FlowAPI / FlowAPI.Infrastructure /Migrations /20260518170308_AddSharedGraphs.Designer.cs
danylokhodus's picture
init
b9c7f0e
Raw
History Blame Contribute Delete
14.4 kB
// <auto-generated />
using System;
using FlowAPI.Infrastructure.Data;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace FlowAPI.Infrastructure.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260518170308_AddSharedGraphs")]
partial class AddSharedGraphs
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "10.0.8");
modelBuilder.Entity("FlowAPI.Domain.Entities.Achievement", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<string>("Category")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property<string>("Description")
.IsRequired()
.HasColumnType("TEXT");
b.Property<string>("IconUrl")
.IsRequired()
.HasColumnType("TEXT");
b.Property<int>("RewardPoints")
.HasColumnType("INTEGER");
b.Property<int>("TargetValue")
.HasColumnType("INTEGER");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property<string>("TriggerEventName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property<int>("Type")
.HasColumnType("INTEGER");
b.HasKey("Id");
b.ToTable("Achievements");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.Edge", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<int>("Condition")
.HasMaxLength(50)
.HasColumnType("INTEGER");
b.Property<Guid>("FromNodeId")
.HasColumnType("TEXT");
b.Property<Guid>("GraphId")
.HasColumnType("TEXT");
b.Property<Guid>("ToNodeId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("FromNodeId");
b.HasIndex("GraphId");
b.HasIndex("ToNodeId");
b.ToTable("Edges");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.Graph", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("Description")
.HasMaxLength(1000)
.HasColumnType("TEXT");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(200)
.HasColumnType("TEXT");
b.Property<DateTime>("UpdatedAt")
.HasColumnType("TEXT");
b.Property<Guid>("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("Graphs");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.HabitRecord", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<DateTime>("CheckedDate")
.HasColumnType("TEXT");
b.Property<string>("HabitName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property<int>("StreakCount")
.HasColumnType("INTEGER");
b.Property<Guid>("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("HabitRecords");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.SharedGraph", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAt")
.HasColumnType("TEXT");
b.Property<Guid>("GraphId")
.HasColumnType("TEXT");
b.Property<string>("Permission")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("TEXT")
.HasDefaultValue("Read");
b.Property<Guid>("SharedWithUserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("SharedWithUserId");
b.HasIndex("GraphId", "SharedWithUserId")
.IsUnique();
b.ToTable("SharedGraphs");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.TaskNode", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("Decision")
.HasMaxLength(50)
.HasColumnType("TEXT");
b.Property<Guid>("GraphId")
.HasColumnType("TEXT");
b.Property<string>("Label")
.IsRequired()
.HasMaxLength(30)
.HasColumnType("TEXT");
b.Property<double>("PosX")
.HasColumnType("REAL");
b.Property<double>("PosY")
.HasColumnType("REAL");
b.Property<string>("State")
.IsRequired()
.ValueGeneratedOnAdd()
.HasColumnType("TEXT")
.HasDefaultValue("Pending");
b.Property<string>("Type")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("TEXT")
.HasDefaultValue("sketch");
b.HasKey("Id");
b.HasIndex("GraphId");
b.ToTable("TaskNodes");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.User", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<string>("AvatarUrl")
.HasColumnType("TEXT");
b.Property<DateTime>("CreatedAt")
.HasColumnType("TEXT");
b.Property<string>("DisplayName")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("TEXT");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("TEXT");
b.Property<bool>("IsPremium")
.HasColumnType("INTEGER");
b.Property<string>("PasswordHash")
.IsRequired()
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("Email")
.IsUnique();
b.ToTable("Users");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.UserAchievement", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("TEXT");
b.Property<Guid>("AchievementId")
.HasColumnType("TEXT");
b.Property<int>("CurrentValue")
.HasColumnType("INTEGER");
b.Property<bool>("IsUnlocked")
.HasColumnType("INTEGER");
b.Property<DateTime?>("UnlockedAt")
.HasColumnType("TEXT");
b.Property<Guid>("UserId")
.HasColumnType("TEXT");
b.HasKey("Id");
b.HasIndex("AchievementId");
b.HasIndex("UserId");
b.ToTable("UserAchievements");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.Edge", b =>
{
b.HasOne("FlowAPI.Domain.Entities.TaskNode", "FromNode")
.WithMany("OutgoingEdges")
.HasForeignKey("FromNodeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("FlowAPI.Domain.Entities.Graph", "Graph")
.WithMany("Edges")
.HasForeignKey("GraphId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("FlowAPI.Domain.Entities.TaskNode", "ToNode")
.WithMany("IncomingEdges")
.HasForeignKey("ToNodeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("FromNode");
b.Navigation("Graph");
b.Navigation("ToNode");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.Graph", b =>
{
b.HasOne("FlowAPI.Domain.Entities.User", "User")
.WithMany("Graphs")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.HabitRecord", b =>
{
b.HasOne("FlowAPI.Domain.Entities.User", "User")
.WithMany("HabitRecords")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("User");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.SharedGraph", b =>
{
b.HasOne("FlowAPI.Domain.Entities.Graph", "Graph")
.WithMany("SharedGraphs")
.HasForeignKey("GraphId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("FlowAPI.Domain.Entities.User", "SharedWithUser")
.WithMany("SharedGraphs")
.HasForeignKey("SharedWithUserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Graph");
b.Navigation("SharedWithUser");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.TaskNode", b =>
{
b.HasOne("FlowAPI.Domain.Entities.Graph", "Graph")
.WithMany("Nodes")
.HasForeignKey("GraphId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Graph");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.UserAchievement", b =>
{
b.HasOne("FlowAPI.Domain.Entities.Achievement", "Achievement")
.WithMany()
.HasForeignKey("AchievementId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("FlowAPI.Domain.Entities.User", "User")
.WithMany("UserAchievements")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Achievement");
b.Navigation("User");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.Graph", b =>
{
b.Navigation("Edges");
b.Navigation("Nodes");
b.Navigation("SharedGraphs");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.TaskNode", b =>
{
b.Navigation("IncomingEdges");
b.Navigation("OutgoingEdges");
});
modelBuilder.Entity("FlowAPI.Domain.Entities.User", b =>
{
b.Navigation("Graphs");
b.Navigation("HabitRecords");
b.Navigation("SharedGraphs");
b.Navigation("UserAchievements");
});
#pragma warning restore 612, 618
}
}
}