// using System; using HrynCo.NotificationService.DAL.EF; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace HrynCo.NotificationService.DAL.EF.Migrations { [DbContext(typeof(NotificationDbContext))] partial class NotificationDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("HrynCo.NotificationService.DAL.EF.Entities.EmailChannelEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Created") .HasColumnType("timestamp with time zone") .HasColumnName("created"); b.Property("DailyLimit") .HasColumnType("integer") .HasColumnName("daily_limit"); b.Property("EmailChannelType") .HasColumnType("integer") .HasColumnName("provider_type"); b.Property("IsActive") .HasColumnType("boolean") .HasColumnName("is_active"); b.Property("MonthlyLimit") .HasColumnType("integer") .HasColumnName("monthly_limit"); b.Property("Priority") .HasColumnType("integer") .HasColumnName("priority"); b.Property("ServiceName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("service_name"); b.Property("SettingsJson") .IsRequired() .HasColumnType("jsonb") .HasColumnName("settings"); b.Property("Updated") .HasColumnType("timestamp with time zone") .HasColumnName("updated"); b.Property("WarnThresholdPercent") .HasColumnType("integer") .HasColumnName("warn_threshold_percent"); b.HasKey("Id"); b.HasIndex("ServiceName", "Priority"); b.ToTable("email_channels", (string)null); }); modelBuilder.Entity("HrynCo.NotificationService.DAL.EF.Entities.EmailChannelUsageEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Created") .HasColumnType("timestamp with time zone") .HasColumnName("created"); b.Property("Date") .HasColumnType("date") .HasColumnName("date"); b.Property("ProviderId") .HasColumnType("uuid") .HasColumnName("provider_id"); b.Property("SentCount") .HasColumnType("integer") .HasColumnName("sent_count"); b.Property("Updated") .HasColumnType("timestamp with time zone") .HasColumnName("updated"); b.HasKey("Id"); b.HasIndex("ProviderId", "Date") .IsUnique(); b.ToTable("email_channel_usage", (string)null); }); modelBuilder.Entity("HrynCo.NotificationService.DAL.EF.Entities.EmailTemplateEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Created") .HasColumnType("timestamp with time zone") .HasColumnName("created"); b.Property("HtmlBody") .IsRequired() .HasColumnType("text") .HasColumnName("html_body"); b.Property("Key") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("key"); b.Property("LanguageCode") .IsRequired() .HasMaxLength(10) .HasColumnType("character varying(10)") .HasColumnName("language_code"); b.Property("ServiceName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)") .HasColumnName("service_name"); b.Property("Subject") .IsRequired() .HasColumnType("text") .HasColumnName("subject"); b.Property("TextBody") .IsRequired() .HasColumnType("text") .HasColumnName("text_body"); b.Property("Updated") .HasColumnType("timestamp with time zone") .HasColumnName("updated"); b.HasKey("Id"); b.HasIndex("ServiceName", "Key", "LanguageCode") .IsUnique(); b.ToTable("email_templates", (string)null); }); modelBuilder.Entity("HrynCo.NotificationService.DAL.EF.Entities.EmailTemplateEntity", b => { b.OwnsMany("HrynCo.NotificationService.DAL.EF.Entities.EmailTemplateVariableData", "Variables", b1 => { b1.Property("EmailTemplateEntityId") .HasColumnType("uuid"); b1.Property("__synthesizedOrdinal") .ValueGeneratedOnAdd() .HasColumnType("integer"); b1.Property("Name") .IsRequired() .HasColumnType("text") .HasAnnotation("Relational:JsonPropertyName", "name"); b1.Property("Required") .HasColumnType("boolean") .HasAnnotation("Relational:JsonPropertyName", "required"); b1.HasKey("EmailTemplateEntityId", "__synthesizedOrdinal"); b1.ToTable("email_templates"); b1.ToJson("variables"); b1.WithOwner() .HasForeignKey("EmailTemplateEntityId"); }); b.Navigation("Variables"); }); #pragma warning restore 612, 618 } } }