// using System; using Hua.Todo.Application.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace Hua.Todo.Application.Migrations { [DbContext(typeof(TodoDbContext))] [Migration("20260413140753_AddAuditLogs")] partial class AddAuditLogs { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "10.0.5"); modelBuilder.Entity("Hua.Todo.Core.Entities.AuditLogEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("ClientIp") .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("EventType") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("IsSuccess") .HasColumnType("INTEGER"); b.Property("TimestampUtc") .IsRequired() .HasColumnType("TEXT"); b.Property("UserAgent") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.Property("UserName") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("TimestampUtc"); b.HasIndex("UserId"); b.ToTable("AuditLogs", (string)null); }); modelBuilder.Entity("Hua.Todo.Core.Entities.SecurityPolicyEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AllowPersist") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(true); b.Property("AllowSync") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(true); b.Property("IsTrustedDeviceOnly") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(false); b.Property("SecondFactorExpiryMinutes") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(30); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("UserId") .IsUnique(); b.ToTable("SecurityPolicies", (string)null); }); modelBuilder.Entity("Hua.Todo.Core.Entities.TaskEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValueSql("datetime('now')"); b.Property("IsCompleted") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(false); b.Property("ParentTaskId") .HasColumnType("INTEGER"); b.Property("Priority") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(1); b.Property("Title") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("UpdatedAt") .IsRequired() .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValueSql("datetime('now')"); b.Property("UserId") .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue(new Guid("00000000-0000-0000-0000-000000000001")); b.HasKey("Id"); b.HasIndex("ParentTaskId"); b.HasIndex("UserId"); b.ToTable("Tasks", (string)null); }); modelBuilder.Entity("Hua.Todo.Core.Entities.UserEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedAtUtc") .HasColumnType("TEXT"); b.Property("PasswordHash") .IsRequired() .HasColumnType("TEXT"); b.Property("Role") .IsRequired() .HasMaxLength(32) .HasColumnType("TEXT"); b.Property("UpdatedAtUtc") .HasColumnType("TEXT"); b.Property("UserName") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("UserName") .IsUnique(); b.ToTable("Users", (string)null); }); modelBuilder.Entity("Hua.Todo.Core.Entities.UserSessionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedAtUtc") .IsRequired() .HasColumnType("TEXT"); b.Property("ExpiresAtUtc") .IsRequired() .HasColumnType("TEXT"); b.Property("StepUpExpiresAtUtc") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserSessions", (string)null); }); modelBuilder.Entity("Hua.Todo.Core.Entities.SecurityPolicyEntity", b => { b.HasOne("Hua.Todo.Core.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Hua.Todo.Core.Entities.TaskEntity", b => { b.HasOne("Hua.Todo.Core.Entities.TaskEntity", "ParentTask") .WithMany("SubTasks") .HasForeignKey("ParentTaskId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("Hua.Todo.Core.Entities.UserEntity", "User") .WithMany("Tasks") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("ParentTask"); b.Navigation("User"); }); modelBuilder.Entity("Hua.Todo.Core.Entities.UserSessionEntity", b => { b.HasOne("Hua.Todo.Core.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Hua.Todo.Core.Entities.TaskEntity", b => { b.Navigation("SubTasks"); }); modelBuilder.Entity("Hua.Todo.Core.Entities.UserEntity", b => { b.Navigation("Tasks"); }); #pragma warning restore 612, 618 } } }