// using System; using CalendarReminder.Api.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace CalendarReminder.Api.Migrations { [DbContext(typeof(AppDbContext))] partial class AppDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.0") .HasAnnotation("Relational:MaxIdentifierLength", 64); MySqlModelBuilderExtensions.AutoIncrementColumns(modelBuilder); modelBuilder.Entity("CalendarReminder.Domain.Entities.PasswordResetToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("Code") .IsRequired() .HasColumnType("longtext"); b.Property("Email") .IsRequired() .HasColumnType("longtext"); b.Property("ExpiresAt") .HasColumnType("datetime(6)"); b.Property("Used") .HasColumnType("tinyint(1)"); b.HasKey("Id"); b.ToTable("PasswordResetTokens"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.Reminder", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Description") .HasMaxLength(1000) .HasColumnType("varchar(1000)"); b.Property("IsCompleted") .HasColumnType("tinyint(1)"); b.Property("NotificationSent") .HasColumnType("tinyint(1)"); b.Property("ReminderDate") .HasColumnType("datetime(6)"); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("UserId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Reminders"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.ReminderShare", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("ReminderId") .HasColumnType("int"); b.Property("SharedWithUserId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("SharedWithUserId"); b.HasIndex("ReminderId", "SharedWithUserId") .IsUnique(); b.ToTable("ReminderShares"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); MySqlPropertyBuilderExtensions.UseMySqlIdentityColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("datetime(6)"); b.Property("Email") .IsRequired() .HasMaxLength(200) .HasColumnType("varchar(200)"); b.Property("PasswordHash") .IsRequired() .HasColumnType("longtext"); b.Property("Username") .IsRequired() .HasMaxLength(100) .HasColumnType("varchar(100)"); b.HasKey("Id"); b.HasIndex("Email") .IsUnique(); b.HasIndex("Username") .IsUnique(); b.ToTable("Users"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.Reminder", b => { b.HasOne("CalendarReminder.Domain.Entities.User", "User") .WithMany("Reminders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.ReminderShare", b => { b.HasOne("CalendarReminder.Domain.Entities.Reminder", "Reminder") .WithMany("Shares") .HasForeignKey("ReminderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("CalendarReminder.Domain.Entities.User", "SharedWithUser") .WithMany() .HasForeignKey("SharedWithUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Reminder"); b.Navigation("SharedWithUser"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.Reminder", b => { b.Navigation("Shares"); }); modelBuilder.Entity("CalendarReminder.Domain.Entities.User", b => { b.Navigation("Reminders"); }); #pragma warning restore 612, 618 } } }