// using System; using CredentialManager.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace CredentialManager.Migrations { [DbContext(typeof(CredentialDbContext))] partial class CredentialDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "9.0.0"); modelBuilder.Entity("CredentialManager.Models.CredentialEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AdditionalParameters") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("CommandTimeout") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(30); b.Property("ConnectionString") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("DatabaseName") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("DatabaseType") .HasMaxLength(50) .HasColumnType("TEXT"); b.Property("EncryptedApiKey") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("EncryptedAuthToken") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("EncryptedPassword") .HasColumnType("TEXT"); b.Property("Headers") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("Host") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("IgnoreSslErrors") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(false); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(true); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("Port") .HasColumnType("INTEGER"); b.Property("RestServiceType") .HasMaxLength(50) .HasColumnType("TEXT"); b.Property("TimeoutSeconds") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(100); b.Property("Type") .IsRequired() .HasMaxLength(50) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.Property("Username") .HasMaxLength(100) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("DatabaseType"); b.HasIndex("IsActive"); b.HasIndex("Name") .IsUnique(); b.HasIndex("Type"); b.ToTable("Credentials", (string)null); }); modelBuilder.Entity("CredentialManager.Models.DataCouplerProfile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValueSql("CURRENT_TIMESTAMP"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("Description") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("DestinationCredentialId") .HasColumnType("INTEGER"); b.Property("DestinationEndpoint") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("DestinationSchema") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("DestinationTable") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("DestinationType") .IsRequired() .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("FieldMappingJson") .HasMaxLength(4000) .HasColumnType("TEXT"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(true); b.Property("LastUsedAt") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("SourceCredentialId") .HasColumnType("INTEGER"); b.Property("SourceCustomQuery") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("SourceDatabaseName") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("SourceFilePath") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("SourceKeyField") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("SourceSchema") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("SourceTable") .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("SourceType") .IsRequired() .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("UseRecordAssociations") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CreatedAt"); b.HasIndex("DestinationCredentialId"); b.HasIndex("DestinationType"); b.HasIndex("IsActive"); b.HasIndex("LastUsedAt"); b.HasIndex("Name") .IsUnique(); b.HasIndex("SourceCredentialId"); b.HasIndex("SourceType"); b.ToTable("DataCouplerProfiles", (string)null); }); modelBuilder.Entity("CredentialManager.Models.KeyAssociation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AdditionalInfo") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("Data_Hash") .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("DestinationEntity") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("DestinationId") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("DestinationKeyField") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("IsActive") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(true); b.Property("KeyValue") .IsRequired() .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("LastVerifiedAt") .HasColumnType("TEXT"); b.Property("RestCredentialName") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("SourceKeyField") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("SourcesInfo") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedAt"); b.HasIndex("DestinationEntity"); b.HasIndex("IsActive"); b.HasIndex("KeyValue") .HasDatabaseName("IX_KeyAssociations_KeyValue"); b.HasIndex("LastVerifiedAt"); b.HasIndex("RestCredentialName"); b.HasIndex("KeyValue", "DestinationEntity", "RestCredentialName") .IsUnique() .HasDatabaseName("IX_KeyAssociations_Unique"); b.ToTable("KeyAssociations", (string)null); }); modelBuilder.Entity("CredentialManager.Models.ProfileSchedule", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("DailyTime") .HasMaxLength(10) .HasColumnType("TEXT"); b.Property("DayOfMonth") .HasColumnType("INTEGER"); b.Property("DayOfWeek") .HasColumnType("INTEGER"); b.Property("Description") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("DestinationDatabaseOverride") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("ExecutionCount") .HasColumnType("INTEGER"); b.Property("IntervalUnit") .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("IntervalValue") .HasColumnType("INTEGER"); b.Property("IsActive") .HasColumnType("INTEGER"); b.Property("IsEnabled") .HasColumnType("INTEGER"); b.Property("LastExecutionMessage") .HasMaxLength(1000) .HasColumnType("TEXT"); b.Property("LastExecutionRecordCount") .HasColumnType("INTEGER"); b.Property("LastExecutionStatus") .IsRequired() .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("LastExecutionTime") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("NextExecutionTime") .HasColumnType("TEXT"); b.Property("ProfileId") .HasColumnType("INTEGER"); b.Property("ScheduleType") .IsRequired() .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("ScheduledDateTime") .HasColumnType("TEXT"); b.Property("SourceDatabaseOverride") .HasMaxLength(100) .HasColumnType("TEXT"); b.Property("UpdatedAt") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ProfileId"); b.ToTable("ProfileSchedules"); }); modelBuilder.Entity("CredentialManager.Models.ScheduleExecutionHistory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AdditionalInfo") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("DestinationInfo") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("DestinationType") .HasMaxLength(50) .HasColumnType("TEXT"); b.Property("EndTime") .HasColumnType("TEXT"); b.Property("ErrorDetails") .HasMaxLength(5000) .HasColumnType("TEXT"); b.Property("Message") .HasMaxLength(2000) .HasColumnType("TEXT"); b.Property("ProfileId") .HasColumnType("INTEGER"); b.Property("ProfileName") .IsRequired() .HasMaxLength(200) .HasColumnType("TEXT"); b.Property("RecordsProcessed") .HasColumnType("INTEGER"); b.Property("RecordsWithErrors") .HasColumnType("INTEGER"); b.Property("ScheduleId") .HasColumnType("INTEGER"); b.Property("SourceInfo") .HasMaxLength(500) .HasColumnType("TEXT"); b.Property("SourceType") .HasMaxLength(50) .HasColumnType("TEXT"); b.Property("StartTime") .HasColumnType("TEXT"); b.Property("Status") .IsRequired() .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("TriggerType") .IsRequired() .HasMaxLength(20) .HasColumnType("TEXT"); b.Property("TriggeredBy") .HasMaxLength(100) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ProfileId"); b.HasIndex("ScheduleId"); b.HasIndex("StartTime"); b.HasIndex("Status"); b.HasIndex("TriggerType"); b.ToTable("ScheduleExecutionHistories", (string)null); }); modelBuilder.Entity("CredentialManager.Models.DataCouplerProfile", b => { b.HasOne("CredentialManager.Models.CredentialEntity", "DestinationCredential") .WithMany() .HasForeignKey("DestinationCredentialId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("CredentialManager.Models.CredentialEntity", "SourceCredential") .WithMany() .HasForeignKey("SourceCredentialId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("DestinationCredential"); b.Navigation("SourceCredential"); }); modelBuilder.Entity("CredentialManager.Models.ProfileSchedule", b => { b.HasOne("CredentialManager.Models.DataCouplerProfile", "Profile") .WithMany() .HasForeignKey("ProfileId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Profile"); }); modelBuilder.Entity("CredentialManager.Models.ScheduleExecutionHistory", b => { b.HasOne("CredentialManager.Models.ProfileSchedule", "Schedule") .WithMany() .HasForeignKey("ScheduleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Schedule"); }); #pragma warning restore 612, 618 } } }