// using System; using LiteCharms.Features.Shop.Postgres; using LiteCharms.Features.Shop.Products.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace LiteCharms.Features.Shop.Postgres.Migrations { [DbContext(typeof(ShopDbContext))] partial class ShopDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("LiteCharms.Features.Shop.CartPackages.Entities.Package", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Active") .HasColumnType("boolean"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("Description") .IsRequired() .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("ImageUrl") .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Summary") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Package", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.CartPackages.Entities.PackageItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Active") .HasColumnType("boolean"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("PackageId") .HasColumnType("uuid"); b.Property("ProductPriceId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("PackageId"); b.HasIndex("ProductPriceId"); b.ToTable("PackageItem", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Customers.Entities.Customer", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Active") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true); b.Property("Address") .HasColumnType("text"); b.Property("City") .HasColumnType("text"); b.Property("Company") .HasColumnType("text"); b.Property("Country") .HasColumnType("text"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("Discord") .HasColumnType("text"); b.Property("Email") .IsRequired() .HasColumnType("text"); b.Property("LastName") .IsRequired() .HasColumnType("text"); b.Property("LinkedIn") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Phone") .HasColumnType("text"); b.Property("PostalCode") .HasColumnType("text"); b.Property("Region") .HasColumnType("text"); b.Property("Slack") .HasColumnType("text"); b.Property("Tax") .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("Website") .HasColumnType("text"); b.Property("Whatsapp") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Customers", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Leads.Entities.Lead", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AdGroupId") .HasColumnType("bigint"); b.Property("AdName") .HasColumnType("bigint"); b.Property("AppClickId") .HasColumnType("text"); b.Property("AttributionHash") .IsRequired() .HasColumnType("text"); b.Property("CampaignId") .HasColumnType("bigint"); b.Property("ClickId") .HasColumnType("text"); b.Property("ClickLocation") .HasColumnType("text"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("CustomerId") .HasColumnType("uuid"); b.Property("FeedItemId") .HasColumnType("bigint"); b.Property("Source") .HasColumnType("text"); b.Property("Status") .HasColumnType("integer"); b.Property("TargetId") .HasColumnType("bigint"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("WebClickId") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("CustomerId"); b.ToTable("Leads", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Notifications.Entities.Notification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CorrelationId") .IsRequired() .HasColumnType("text"); b.Property("CorrelationIdType") .HasColumnType("integer"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("Direction") .HasColumnType("integer"); b.PrimitiveCollection("Errors") .HasColumnType("jsonb"); b.Property("HasError") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false); b.Property("IsHtml") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false); b.Property("IsInternal") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(true); b.Property("Message") .IsRequired() .HasColumnType("text"); b.Property("Platform") .HasColumnType("integer"); b.Property("Priority") .HasColumnType("integer"); b.Property("Processed") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false); b.Property("RecipientAddress") .IsRequired() .HasColumnType("text"); b.Property("RecipientName") .IsRequired() .HasColumnType("text"); b.Property("SenderAddress") .IsRequired() .HasColumnType("text"); b.Property("SenderName") .HasColumnType("text"); b.Property("Subject") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Notification", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Orders.Entities.Order", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("CustomerId") .HasColumnType("uuid"); b.Property("InvoiceUrl") .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.PrimitiveCollection("Notes") .HasColumnType("jsonb"); b.PrimitiveCollection("Requirements") .HasColumnType("jsonb"); b.Property("Status") .HasColumnType("integer"); b.PrimitiveCollection("Terms") .HasColumnType("jsonb"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("CustomerId"); b.ToTable("Orders", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Orders.Entities.OrderRefund", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Amount") .HasPrecision(18, 2) .HasColumnType("numeric(18,2)"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("OrderId") .HasColumnType("uuid"); b.Property("Reason") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("OrderId"); b.ToTable("OrderRefunds", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Products.Entities.Product", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Active") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("Description") .IsRequired() .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("ImageUrl") .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("Metadata") .HasColumnType("jsonb"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Summary") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.PrimitiveCollection("Thumbnails") .HasColumnType("jsonb"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Products", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Products.Entities.ProductPrice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Active") .HasColumnType("boolean"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("Discount") .HasPrecision(18, 2) .HasColumnType("numeric(18,2)"); b.Property("Price") .HasPrecision(18, 2) .HasColumnType("numeric(18,2)"); b.Property("ProductId") .HasColumnType("uuid"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("ProductId"); b.ToTable("ProductPrices", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.Quotes.Entities.Quote", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("CustomerId") .HasColumnType("uuid"); b.Property("ExpiredAt") .HasColumnType("timestamp with time zone"); b.Property("InvoiceUrl") .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.Property("OrderId") .HasColumnType("uuid"); b.Property("Reason") .HasColumnType("text"); b.Property("ShoppingCartId") .HasColumnType("uuid"); b.Property("Status") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("CustomerId"); b.HasIndex("OrderId") .IsUnique(); b.HasIndex("ShoppingCartId") .IsUnique(); b.ToTable("Quotes", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("CustomerId") .HasColumnType("uuid"); b.Property("OrderId") .HasColumnType("uuid"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("CustomerId"); b.HasIndex("OrderId") .IsUnique(); b.ToTable("ShoppingCarts", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCartItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("ProductPriceId") .HasColumnType("uuid"); b.Property("Quantity") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(1); b.Property("ShoppingCartId") .HasColumnType("uuid"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("ProductPriceId"); b.HasIndex("ShoppingCartId"); b.ToTable("ShoppingCartItems", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCartPackage", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .ValueGeneratedOnAdd() .HasColumnType("timestamp with time zone") .HasDefaultValueSql("now()"); b.Property("PackageId") .HasColumnType("uuid"); b.Property("ShoppingCartId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("PackageId"); b.HasIndex("ShoppingCartId"); b.ToTable("ShoppingCartPackages", (string)null); }); modelBuilder.Entity("LiteCharms.Features.Shop.CartPackages.Entities.PackageItem", b => { b.HasOne("LiteCharms.Features.Shop.CartPackages.Entities.Package", "Package") .WithMany("PackageItems") .HasForeignKey("PackageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LiteCharms.Features.Shop.Products.Entities.ProductPrice", "ProductPrice") .WithMany() .HasForeignKey("ProductPriceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Package"); b.Navigation("ProductPrice"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Leads.Entities.Lead", b => { b.HasOne("LiteCharms.Features.Shop.Customers.Entities.Customer", "Customer") .WithMany("Leads") .HasForeignKey("CustomerId") .OnDelete(DeleteBehavior.Restrict); b.Navigation("Customer"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Orders.Entities.Order", b => { b.HasOne("LiteCharms.Features.Shop.Customers.Entities.Customer", "Customer") .WithMany("Orders") .HasForeignKey("CustomerId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Customer"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Orders.Entities.OrderRefund", b => { b.HasOne("LiteCharms.Features.Shop.Orders.Entities.Order", "Order") .WithMany("Refunds") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Order"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Products.Entities.ProductPrice", b => { b.HasOne("LiteCharms.Features.Shop.Products.Entities.Product", "Product") .WithMany("ProductPrices") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Product"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Quotes.Entities.Quote", b => { b.HasOne("LiteCharms.Features.Shop.Customers.Entities.Customer", "Customer") .WithMany("Quotes") .HasForeignKey("CustomerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LiteCharms.Features.Shop.Orders.Entities.Order", "Order") .WithOne("Quote") .HasForeignKey("LiteCharms.Features.Shop.Quotes.Entities.Quote", "OrderId"); b.HasOne("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", "ShoppingCart") .WithOne("Quote") .HasForeignKey("LiteCharms.Features.Shop.Quotes.Entities.Quote", "ShoppingCartId"); b.Navigation("Customer"); b.Navigation("Order"); b.Navigation("ShoppingCart"); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", b => { b.HasOne("LiteCharms.Features.Shop.Customers.Entities.Customer", "Customer") .WithMany("ShoppingCarts") .HasForeignKey("CustomerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LiteCharms.Features.Shop.Orders.Entities.Order", "Order") .WithOne("ShoppingCart") .HasForeignKey("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", "OrderId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Customer"); b.Navigation("Order"); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCartItem", b => { b.HasOne("LiteCharms.Features.Shop.Products.Entities.ProductPrice", "ProductPrice") .WithMany() .HasForeignKey("ProductPriceId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", "ShoppingCart") .WithMany("ShoppingCartItems") .HasForeignKey("ShoppingCartId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("ProductPrice"); b.Navigation("ShoppingCart"); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCartPackage", b => { b.HasOne("LiteCharms.Features.Shop.CartPackages.Entities.Package", "Package") .WithMany() .HasForeignKey("PackageId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", "ShoppingCart") .WithMany("ShoppingCartPackages") .HasForeignKey("ShoppingCartId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Package"); b.Navigation("ShoppingCart"); }); modelBuilder.Entity("LiteCharms.Features.Shop.CartPackages.Entities.Package", b => { b.Navigation("PackageItems"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Customers.Entities.Customer", b => { b.Navigation("Leads"); b.Navigation("Orders"); b.Navigation("Quotes"); b.Navigation("ShoppingCarts"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Orders.Entities.Order", b => { b.Navigation("Quote"); b.Navigation("Refunds"); b.Navigation("ShoppingCart"); }); modelBuilder.Entity("LiteCharms.Features.Shop.Products.Entities.Product", b => { b.Navigation("ProductPrices"); }); modelBuilder.Entity("LiteCharms.Features.Shop.ShoppingCarts.Entities.ShoppingCart", b => { b.Navigation("Quote"); b.Navigation("ShoppingCartItems"); b.Navigation("ShoppingCartPackages"); }); #pragma warning restore 612, 618 } } }