// using System; using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using eprintServer.Data; using eprintServer.Entities; #nullable disable namespace eprintServer.Migrations { [DbContext(typeof(DataContext))] [Migration("20260228230544_InitialDatabaseSetup")] partial class InitialDatabaseSetup { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("eprintServer.Entities.Blog", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Author") .IsRequired() .HasColumnType("text") .HasColumnName("author"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("ImageId") .HasColumnType("bigint") .HasColumnName("image_id"); b.Property("Published") .HasColumnType("boolean") .HasColumnName("published"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.HasKey("Id"); b.HasIndex("ImageId"); b.ToTable("blog_posts", (string)null); }); modelBuilder.Entity("eprintServer.Entities.BrandingColor", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AccentColor") .IsRequired() .HasColumnType("text") .HasColumnName("accent_color"); b.Property("ButtonColor") .IsRequired() .HasColumnType("text") .HasColumnName("button_color"); b.Property("FaviconId") .HasColumnType("bigint") .HasColumnName("favicon_id"); b.Property("HeaderColor") .IsRequired() .HasColumnType("text") .HasColumnName("header_color"); b.Property("LogoId") .HasColumnType("bigint") .HasColumnName("logo_id"); b.Property("PlatformEmail") .IsRequired() .HasColumnType("text") .HasColumnName("platform_email"); b.Property("PlatformName") .IsRequired() .HasColumnType("text") .HasColumnName("platform_name"); b.Property("PrimaryColor") .IsRequired() .HasColumnType("text") .HasColumnName("primary_color"); b.Property("SecondaryColor") .IsRequired() .HasColumnType("text") .HasColumnName("secondary_color"); b.HasKey("Id"); b.HasIndex("FaviconId") .IsUnique(); b.HasIndex("LogoId") .IsUnique(); b.ToTable("branding_colors"); }); modelBuilder.Entity("eprintServer.Entities.CarouselItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ImageId") .HasColumnType("bigint") .HasColumnName("image_id"); b.Property("Order") .HasColumnType("integer") .HasColumnName("order_index"); b.Property("RedirectUrl") .IsRequired() .HasColumnType("text") .HasColumnName("redirect_url"); b.Property("Status") .HasColumnType("boolean") .HasColumnName("status"); b.HasKey("Id"); b.HasIndex("ImageId") .IsUnique(); b.ToTable("carousel_items", (string)null); }); modelBuilder.Entity("eprintServer.Entities.ContactSettings", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Address") .IsRequired() .HasColumnType("text") .HasColumnName("address"); b.Property("Email") .IsRequired() .HasColumnType("text") .HasColumnName("email"); b.PrimitiveCollection>("EmailRecipients") .IsRequired() .HasColumnType("text[]") .HasColumnName("email_recipients"); b.Property("MapUrl") .IsRequired() .HasColumnType("text") .HasColumnName("map_url"); b.Property("Phone") .IsRequired() .HasColumnType("text") .HasColumnName("phone"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.Property("WorkingHours") .IsRequired() .HasColumnType("text") .HasColumnName("working_hours"); b.HasKey("Id"); b.ToTable("contact_settings"); }); modelBuilder.Entity("eprintServer.Entities.Currency", b => { b.Property("Code") .HasColumnType("text"); b.Property("ArabicName") .IsRequired() .HasColumnType("text") .HasAnnotation("Relational:JsonPropertyName", "arabic_name"); b.Property("EnglishName") .IsRequired() .HasColumnType("text") .HasAnnotation("Relational:JsonPropertyName", "english_name"); b.Property("IsDefault") .HasColumnType("boolean"); b.Property("Symbol") .IsRequired() .HasColumnType("text"); b.HasKey("Code"); b.ToTable("Currencies"); }); modelBuilder.Entity("eprintServer.Entities.CustomizableProduct", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property>("AllowedQuantities") .HasColumnType("jsonb") .HasColumnName("allowed_quantities"); b.Property("Archive") .HasColumnType("boolean") .HasColumnName("archive"); b.Property("BaseDeliveryDays") .HasColumnType("integer") .HasColumnName("base_delivery_days"); b.Property("BasePrice") .HasColumnType("numeric") .HasColumnName("base_price"); b.Property("CategoryId") .HasColumnType("bigint") .HasColumnName("category_id"); b.Property("Has3DPreview") .HasColumnType("boolean") .HasColumnName("has_3d_preview"); b.Property("ImageId") .HasColumnType("bigint") .HasColumnName("image_id"); b.Property("IsCanvasEnabled") .HasColumnType("boolean") .HasColumnName("is_canvas_enabled"); b.Property("MinimumOrderQuantity") .HasColumnType("integer") .HasColumnName("minimum_order_quantity"); b.Property("QuantityPricingConfig") .HasColumnType("jsonb") .HasColumnName("quantity_pricing_config"); b.Property("ThreeDConfig") .HasColumnType("jsonb") .HasColumnName("three_d_config"); b.Property("ThreeDModelFileId") .HasColumnType("bigint") .HasColumnName("three_d_model_file_id"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.Property("UnitWeight") .HasColumnType("numeric") .HasColumnName("unit_weight"); b.Property("UvMapImageId") .HasColumnType("bigint") .HasColumnName("uv_map_image_id"); b.HasKey("Id"); b.HasIndex("CategoryId"); b.HasIndex("ImageId") .IsUnique(); b.HasIndex("ThreeDModelFileId") .IsUnique(); b.HasIndex("UvMapImageId") .IsUnique(); b.ToTable("customizable_products"); }); modelBuilder.Entity("eprintServer.Entities.DynamicValue", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("BlogContentId") .HasColumnType("integer") .HasColumnName("BlogContentId"); b.Property("BlogTitleId") .HasColumnType("integer") .HasColumnName("BlogTitleId"); b.Property("CarouselButtonTextId") .HasColumnType("bigint") .HasColumnName("CarouselButtonTextId"); b.Property("CarouselDescriptionId") .HasColumnType("bigint") .HasColumnName("CarouselDescriptionId"); b.Property("CarouselTitleId") .HasColumnType("bigint") .HasColumnName("CarouselTitleId"); b.Property("CustomizableProductDescriptionId") .HasColumnType("bigint") .HasColumnName("CustomizableProductDescriptionId"); b.Property("CustomizableProductNameId") .HasColumnType("bigint") .HasColumnName("CustomizableProductNameId"); b.Property("FaqAnswerId") .HasColumnType("integer") .HasColumnName("FaqAnswerId"); b.Property("FaqQuestionId") .HasColumnType("integer") .HasColumnName("FaqQuestionId"); b.Property("FormElementLabelId") .HasColumnType("bigint") .HasColumnName("FormElementLabelId"); b.Property("FormElementOptionLabelId") .HasColumnType("bigint") .HasColumnName("FormElementOptionLabelId"); b.Property("LanguageTag") .IsRequired() .HasColumnType("varchar(10)") .HasColumnName("language_tag"); b.Property("OfferDescriptionId") .HasColumnType("integer") .HasColumnName("OfferDescriptionId"); b.Property("OfferTitleId") .HasColumnType("integer") .HasColumnName("OfferTitleId"); b.Property("ProductCategoryId") .HasColumnType("bigint") .HasColumnName("ProductCategoryId"); b.Property("SellableProductDescriptionId") .HasColumnType("integer") .HasColumnName("SellableProductDescriptionId"); b.Property("SellableProductNameId") .HasColumnType("integer") .HasColumnName("SellableProductNameId"); b.Property("StepNameId") .HasColumnType("bigint") .HasColumnName("StepNameId"); b.Property("StepTemplateNameId") .HasColumnType("bigint") .HasColumnName("StepTemplateNameId"); b.Property("Value") .IsRequired() .HasColumnType("text") .HasColumnName("value"); b.HasKey("Id"); b.HasIndex("BlogContentId"); b.HasIndex("BlogTitleId"); b.HasIndex("CarouselButtonTextId"); b.HasIndex("CarouselDescriptionId"); b.HasIndex("CarouselTitleId"); b.HasIndex("CustomizableProductDescriptionId"); b.HasIndex("CustomizableProductNameId"); b.HasIndex("FaqAnswerId"); b.HasIndex("FaqQuestionId"); b.HasIndex("FormElementLabelId"); b.HasIndex("FormElementOptionLabelId"); b.HasIndex("OfferDescriptionId"); b.HasIndex("OfferTitleId"); b.HasIndex("ProductCategoryId"); b.HasIndex("SellableProductDescriptionId"); b.HasIndex("SellableProductNameId"); b.HasIndex("StepNameId"); b.HasIndex("StepTemplateNameId"); b.ToTable("dynamic_values"); }); modelBuilder.Entity("eprintServer.Entities.Faq", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Active") .HasColumnType("boolean") .HasColumnName("is_active"); b.Property("AnswerAR") .IsRequired() .HasColumnType("text") .HasColumnName("answer_ar"); b.Property("AnswerEN") .IsRequired() .HasColumnType("text") .HasColumnName("answer_en"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("QuestionAR") .IsRequired() .HasColumnType("text") .HasColumnName("question_ar"); b.Property("QuestionEN") .IsRequired() .HasColumnType("text") .HasColumnName("question_en"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.HasKey("Id"); b.ToTable("faqs"); }); modelBuilder.Entity("eprintServer.Entities.FileModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Description") .HasColumnType("text") .HasColumnName("description"); b.Property("Name") .HasColumnType("text") .HasColumnName("file_name"); b.Property("Range") .HasColumnType("integer") .HasColumnName("range"); b.Property("Share") .HasColumnType("boolean") .HasColumnName("share"); b.Property("Size") .HasColumnType("bigint") .HasColumnName("file_size"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.Property("Type") .HasColumnType("text") .HasColumnName("file_type"); b.Property("Url") .IsRequired() .HasColumnType("text") .HasColumnName("file_url"); b.HasKey("Id"); b.ToTable("File_model"); }); modelBuilder.Entity("eprintServer.Entities.FormElement", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ColorPricingConfig") .HasColumnType("jsonb") .HasColumnName("color_pricing_config"); b.Property("DefaultValue") .HasColumnType("text") .HasColumnName("default_value"); b.Property("ElementOrder") .HasColumnType("integer") .HasColumnName("element_order"); b.Property("FieldName") .IsRequired() .HasColumnType("text") .HasColumnName("field_name"); b.Property("InputType") .HasColumnType("integer") .HasColumnName("input_type"); b.Property("IsRequired") .HasColumnType("boolean") .HasColumnName("is_required"); b.Property("Placeholder") .HasColumnType("text") .HasColumnName("placeholder"); b.Property("PriceConfigType") .HasColumnType("integer") .HasColumnName("price_config_type"); b.Property("QuantityPricingConfig") .HasColumnType("jsonb") .HasColumnName("quantity_pricing_config"); b.Property("StepId") .HasColumnType("bigint") .HasColumnName("step_id"); b.Property("StepTemplateId") .HasColumnType("bigint"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.Property("ValidationRules") .HasColumnType("text") .HasColumnName("validation_rules"); b.HasKey("Id"); b.HasIndex("StepId"); b.HasIndex("StepTemplateId"); b.ToTable("form_elements"); }); modelBuilder.Entity("eprintServer.Entities.FormElementOption", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FormElementId") .HasColumnType("bigint") .HasColumnName("form_element_id"); b.Property("OptionOrder") .HasColumnType("integer") .HasColumnName("option_order"); b.Property("OptionValue") .IsRequired() .HasColumnType("text") .HasColumnName("option_value"); b.Property("PriceConfig") .HasColumnType("jsonb") .HasColumnName("price_config"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.HasIndex("FormElementId"); b.ToTable("form_element_options"); }); modelBuilder.Entity("eprintServer.Entities.Invoice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DiscountAmount") .HasColumnType("numeric") .HasColumnName("discount_amount"); b.Property("DiscountPercentage") .HasColumnType("double precision") .HasColumnName("discount_percentage"); b.Property("InvoiceDate") .HasColumnType("timestamp without time zone") .HasColumnName("invoice_date"); b.Property("OrderId") .HasColumnType("bigint") .HasColumnName("order_id"); b.Property("RefundDate") .HasColumnType("timestamp without time zone") .HasColumnName("refund_date"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property("TaxAmount") .HasColumnType("numeric") .HasColumnName("tax_amount"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.Property("TotalAmount") .HasColumnType("numeric") .HasColumnName("total_amount"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("OrderId"); b.HasIndex("UserId"); b.ToTable("invoices", (string)null); }); modelBuilder.Entity("eprintServer.Entities.Language", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Direction") .IsRequired() .HasMaxLength(3) .HasColumnType("character varying(3)") .HasColumnName("direction"); b.Property("Name") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)") .HasColumnName("name"); b.Property("Tag") .IsRequired() .HasMaxLength(10) .HasColumnType("character varying(10)") .HasColumnName("tag"); b.HasKey("Id"); b.HasIndex("Tag") .IsUnique(); b.ToTable("languages", (string)null); }); modelBuilder.Entity("eprintServer.Entities.Mockup", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CustomizableProductId") .HasColumnType("bigint") .HasColumnName("customizable_product_id"); b.Property("DesignHeight") .HasColumnType("double precision") .HasColumnName("design_height"); b.Property("DesignWidth") .HasColumnType("double precision") .HasColumnName("design_width"); b.Property("FileId") .HasColumnType("bigint") .HasColumnName("file_id"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("PrintHeight") .HasColumnType("double precision") .HasColumnName("print_height"); b.Property("PrintWidth") .HasColumnType("double precision") .HasColumnName("print_width"); b.Property("ThumbnailFileId") .HasColumnType("bigint") .HasColumnName("thumbnail_file_id"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.HasIndex("CustomizableProductId"); b.HasIndex("FileId") .IsUnique(); b.HasIndex("ThumbnailFileId") .IsUnique(); b.ToTable("product_mockups", (string)null); }); modelBuilder.Entity("eprintServer.Entities.NotificationModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("notificatoin_id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Action") .HasColumnType("integer") .HasColumnName("action"); b.Property("ActionId") .HasColumnType("bigint") .HasColumnName("action_id"); b.Property("Content") .IsRequired() .HasColumnType("text") .HasColumnName("content"); b.Property("LogUrl") .IsRequired() .HasColumnType("text") .HasColumnName("logUrl"); b.Property("ReciverId") .HasColumnType("bigint") .HasColumnName("ReciverId"); b.Property("SenderId") .HasColumnType("bigint") .HasColumnName("SenderId"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property("Subject") .IsRequired() .HasColumnType("text") .HasColumnName("subject"); b.Property("Timestmp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.HasIndex("ReciverId"); b.HasIndex("SenderId"); b.ToTable("notificationmodel"); }); modelBuilder.Entity("eprintServer.Entities.OAuthSettings", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AIApiKey") .IsRequired() .HasColumnType("text") .HasColumnName("ai_api_key"); b.Property("AssiadExpressPassword") .IsRequired() .HasColumnType("text") .HasColumnName("assiyad_express_password"); b.Property("AssiadExpressUserName") .IsRequired() .HasColumnType("text") .HasColumnName("assiyad_express_user_name"); b.Property("CanvaKey") .IsRequired() .HasColumnType("text") .HasColumnName("canva_key"); b.Property("FacebookAppId") .IsRequired() .HasColumnType("text") .HasColumnName("facebook_app_id"); b.Property("FacebookAppSecret") .IsRequired() .HasColumnType("text") .HasColumnName("facebook_app_secret"); b.Property("GoogleClientId") .IsRequired() .HasColumnType("text") .HasColumnName("google_client_id"); b.Property("GoogleClientSecret") .IsRequired() .HasColumnType("text") .HasColumnName("google_client_secret"); b.Property("InstagramAppId") .IsRequired() .HasColumnType("text") .HasColumnName("instagram_app_id"); b.Property("InstagramAppSecret") .IsRequired() .HasColumnType("text") .HasColumnName("instagram_app_secret"); b.Property("LinkedInClientId") .IsRequired() .HasColumnType("text") .HasColumnName("linkedin_client_id"); b.Property("LinkedInClientSecret") .IsRequired() .HasColumnType("text") .HasColumnName("linkedin_client_secret"); b.Property("ThawaniApiKey") .IsRequired() .HasColumnType("text") .HasColumnName("thawani_api_key"); b.Property("ThawaniCheckoutModelUrl") .IsRequired() .HasColumnType("text") .HasColumnName("thawani_checkout_model_url"); b.Property("ThawaniPublicKey") .IsRequired() .HasColumnType("text") .HasColumnName("thawani_public_key"); b.Property("ThawaniRoot") .IsRequired() .HasColumnType("text") .HasColumnName("thawani_root"); b.Property("TwilioAccountSid") .IsRequired() .HasColumnType("text") .HasColumnName("twilio_account_sid"); b.Property("TwilioAuthToken") .IsRequired() .HasColumnType("text") .HasColumnName("twilio_auth_token"); b.Property("TwilioPhoneNumber") .IsRequired() .HasColumnType("text") .HasColumnName("twilio_phone_number"); b.Property("TwilioShippmentTemplate") .IsRequired() .HasColumnType("text") .HasColumnName("twilio_shippment_template"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.HasKey("Id"); b.ToTable("oauth_settings"); }); modelBuilder.Entity("eprintServer.Entities.Offer", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("BannerImageId") .HasColumnType("bigint"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("DiscountAmount") .HasColumnType("numeric"); b.Property("DiscountPercentage") .HasColumnType("numeric"); b.Property("DiscountType") .HasColumnType("text"); b.Property("DiscountValue") .HasColumnType("numeric"); b.Property("EndDate") .HasColumnType("timestamp without time zone"); b.Property("IsActive") .HasColumnType("boolean"); b.Property("IsFeatured") .HasColumnType("boolean"); b.Property("IsPublic") .HasColumnType("boolean"); b.Property("MaxUses") .HasColumnType("integer"); b.Property("OfferPrice") .HasColumnType("numeric"); b.Property("OriginalTotal") .HasColumnType("numeric"); b.Property("StartDate") .HasColumnType("timestamp without time zone"); b.Property("Status") .HasColumnType("text"); b.Property("Type") .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("BannerImageId") .IsUnique(); b.ToTable("offers_table", (string)null); }); modelBuilder.Entity("eprintServer.Entities.OfferProduct", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("IsCustomizableProduct") .HasColumnType("boolean"); b.Property("OfferForeignKey") .HasColumnType("integer") .HasColumnName("OfferId"); b.Property("ProductId") .HasColumnType("text"); b.Property("ProductImageId") .HasColumnType("bigint"); b.Property("ProductName") .HasColumnType("text"); b.Property("Quantity") .HasColumnType("integer"); b.Property("UnitPrice") .HasColumnType("numeric"); b.HasKey("Id"); b.HasIndex("OfferForeignKey"); b.HasIndex("ProductImageId") .IsUnique(); b.ToTable("offer_products_table", (string)null); }); modelBuilder.Entity("eprintServer.Entities.Order", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AddressId") .HasColumnType("bigint") .HasColumnName("address_id"); b.Property("BatchId") .HasColumnType("text") .HasColumnName("batch_id"); b.Property("Discount") .HasColumnType("numeric") .HasColumnName("discount"); b.Property("InvoiceId") .HasColumnType("bigint") .HasColumnName("invoice_id"); b.Property("OrderDate") .HasColumnType("timestamp without time zone") .HasColumnName("order_date"); b.Property("ShippingRef") .HasColumnType("text") .HasColumnName("shipping_ref"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property("ThawaniSessionId") .HasColumnType("text") .HasColumnName("thawani_session_id"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.Property("TotalAmount") .HasColumnType("numeric") .HasColumnName("total_amount"); b.Property("TrackingNumber") .HasColumnType("text") .HasColumnName("tracking_number"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("AddressId"); b.HasIndex("UserId"); b.ToTable("Order", (string)null); }); modelBuilder.Entity("eprintServer.Entities.OrderItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CustomizableProductId") .HasColumnType("bigint") .HasColumnName("customizable_product_id"); b.Property("InvoiceId") .HasColumnType("bigint") .HasColumnName("invoice_id"); b.Property("OfferId") .HasColumnType("bigint") .HasColumnName("offer_id"); b.Property("OrderId") .HasColumnType("bigint") .HasColumnName("order_id"); b.Property("PackageAwb") .HasColumnType("text") .HasColumnName("package_awb"); b.Property("Quantity") .HasColumnType("integer") .HasColumnName("quantity"); b.Property("SellableProductId") .HasColumnType("integer") .HasColumnName("sellable_product_id"); b.Property("UnitPrice") .HasColumnType("numeric") .HasColumnName("unit_price"); b.Property("UserCustomizationId") .HasColumnType("uuid") .HasColumnName("user_customization_id"); b.HasKey("Id"); b.HasIndex("CustomizableProductId"); b.HasIndex("InvoiceId"); b.HasIndex("OrderId"); b.HasIndex("SellableProductId"); b.HasIndex("UserCustomizationId"); b.ToTable("OrderItem", (string)null); }); modelBuilder.Entity("eprintServer.Entities.PaymentModel", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Amount") .HasColumnType("numeric") .HasColumnName("amount"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("Currency") .IsRequired() .HasColumnType("text") .HasColumnName("currency"); b.Property("Discount") .HasColumnType("numeric") .HasColumnName("discount"); b.Property("OrderId") .HasColumnType("bigint") .HasColumnName("order_id"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.HasKey("Id"); b.HasIndex("OrderId"); b.ToTable("Payments", (string)null); }); modelBuilder.Entity("eprintServer.Entities.ProductCategory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Archive") .HasColumnType("boolean") .HasColumnName("archive"); b.Property("ImageId") .HasColumnType("bigint") .HasColumnName("image_id"); b.Property("ProductType") .HasColumnType("integer") .HasColumnName("product_type"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.HasIndex("ImageId") .IsUnique(); b.ToTable("product_categories"); }); modelBuilder.Entity("eprintServer.Entities.ReportSettings", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.PrimitiveCollection>("AdminEmailList") .IsRequired() .HasColumnType("text[]"); b.Property("DailyReports") .HasColumnType("boolean"); b.Property("MonthlyReports") .HasColumnType("boolean"); b.Property("WeeklyReports") .HasColumnType("boolean"); b.Property("YearlyReports") .HasColumnType("boolean"); b.HasKey("Id"); b.ToTable("ReportSettings"); }); modelBuilder.Entity("eprintServer.Entities.RevokedToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ExpiresAt") .HasColumnType("timestamp without time zone"); b.Property("RevokedAt") .HasColumnType("timestamp without time zone"); b.Property("Token") .IsRequired() .HasMaxLength(500) .HasColumnType("character varying(500)"); b.HasKey("Id"); b.HasIndex("Token") .IsUnique(); b.ToTable("revoked_tokens", (string)null); }); modelBuilder.Entity("eprintServer.Entities.SellableProduct", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CategoryId") .HasColumnType("bigint") .HasColumnName("category_id"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("DescriptionAR") .HasMaxLength(3000) .HasColumnType("text") .HasColumnName("description_ar"); b.Property("DescriptionEN") .HasMaxLength(3000) .HasColumnType("text") .HasColumnName("description_en"); b.Property("ImageId") .HasColumnType("bigint") .HasColumnName("image_id"); b.Property("Price") .HasColumnType("double precision") .HasColumnName("price"); b.Property("ProductNameAR") .HasColumnType("text") .HasColumnName("product_name_ar"); b.Property("ProductNameEN") .HasColumnType("text") .HasColumnName("product_name_en"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property("StockQuantity") .HasColumnType("double precision") .HasColumnName("stock_quantity"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.HasKey("Id"); b.HasIndex("CategoryId"); b.HasIndex("ImageId"); b.ToTable("sellable_products"); }); modelBuilder.Entity("eprintServer.Entities.Step", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Archive") .HasColumnType("boolean") .HasColumnName("archive"); b.Property("IsTemplate") .HasColumnType("boolean") .HasColumnName("is_template"); b.Property("ProductId") .HasColumnType("bigint") .HasColumnName("product_id"); b.Property("StepOrder") .HasColumnType("integer") .HasColumnName("step_order"); b.Property("StepType") .HasColumnType("integer") .HasColumnName("step_type"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.HasIndex("ProductId"); b.ToTable("steps"); }); modelBuilder.Entity("eprintServer.Entities.StepTemplate", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Archive") .HasColumnType("boolean") .HasColumnName("archive"); b.Property("StepType") .HasColumnType("integer") .HasColumnName("step_type"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.ToTable("step_templates"); }); modelBuilder.Entity("eprintServer.Entities.TextureSlot", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CustomizableProductId") .HasColumnType("bigint") .HasColumnName("customizable_product_id"); b.Property("FileId") .HasColumnType("bigint") .HasColumnName("file_id"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("TextureType") .HasColumnType("integer") .HasColumnName("texture_type"); b.Property("UvCoordinates") .IsRequired() .HasColumnType("jsonb") .HasColumnName("uv_coordinates"); b.HasKey("Id"); b.HasIndex("CustomizableProductId"); b.HasIndex("FileId") .IsUnique(); b.ToTable("texture_slots", (string)null); }); modelBuilder.Entity("eprintServer.Entities.TranslationSetting", b => { b.Property("Id") .HasColumnType("bigint"); b.Property("ActiveLanguageTags") .IsRequired() .HasMaxLength(500) .HasColumnType("varchar(500)") .HasColumnName("active_language_tags"); b.HasKey("Id"); b.ToTable("translation_settings_table", (string)null); }); modelBuilder.Entity("eprintServer.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("user_id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Active") .HasColumnType("boolean") .HasColumnName("active"); b.Property("City") .HasColumnType("text") .HasColumnName("city"); b.Property("Country") .HasColumnType("text") .HasColumnName("country"); b.Property("Deleted") .HasColumnType("boolean") .HasColumnName("deleted"); b.Property("Email") .IsRequired() .HasColumnType("text") .HasColumnName("email"); b.Property("Gendre") .HasColumnType("integer") .HasColumnName("gender"); b.Property("LastOtp") .HasColumnType("text") .HasColumnName("otp"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("OfficeRole") .HasColumnType("text") .HasColumnName("office_role"); b.Property("Password") .IsRequired() .HasColumnType("text") .HasColumnName("password"); b.Property("PhoneNumber") .HasColumnType("text") .HasColumnName("phone_number"); b.Property("Provider") .HasColumnType("integer") .HasColumnName("provider"); b.Property("Role") .HasColumnType("integer") .HasColumnName("role"); b.PrimitiveCollection("SubAdminsPrivilegesList") .IsRequired() .HasColumnType("integer[]") .HasColumnName("sub_admin_privileges"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.Property("Username") .IsRequired() .HasColumnType("text") .HasColumnName("user_name"); b.Property("user_device") .HasColumnType("bigint"); b.Property("users_profile_media") .HasColumnType("bigint"); b.HasKey("Id"); b.HasIndex("Email") .IsUnique(); b.HasIndex("Username") .IsUnique(); b.HasIndex("user_device") .IsUnique(); b.HasIndex("users_profile_media") .IsUnique(); b.ToTable("users_table", (string)null); }); modelBuilder.Entity("eprintServer.Entities.UserAddress", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AddressLine1") .HasColumnType("text") .HasColumnName("address_line1"); b.Property("Area") .HasColumnType("text") .HasColumnName("area"); b.Property("City") .HasColumnType("text") .HasColumnName("city"); b.Property("Country") .HasColumnType("text") .HasColumnName("country"); b.Property("Region") .HasColumnType("text") .HasColumnName("region"); b.Property("ZipCode") .HasColumnType("text") .HasColumnName("zip_code"); b.HasKey("Id"); b.ToTable("user_addresses", (string)null); }); modelBuilder.Entity("eprintServer.Entities.UserCanvasDesign", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CanvasProvider") .HasColumnType("text") .HasColumnName("canvas_provider"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("DesignJsonData") .IsRequired() .HasColumnType("text") .HasColumnName("design_json_data"); b.Property("ExternalDesignId") .HasColumnType("text") .HasColumnName("external_design_id"); b.Property("PreviewImageUrl") .HasColumnType("text") .HasColumnName("preview_image_url"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.Property("UserCustomizationStepId") .HasColumnType("uuid") .HasColumnName("user_customization_step_id"); b.HasKey("Id"); b.HasIndex("UserCustomizationStepId") .IsUnique(); b.ToTable("user_canvas_designs"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomization", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CompletedAt") .HasColumnType("timestamp without time zone") .HasColumnName("completed_at"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("OrderId") .HasColumnType("bigint") .HasColumnName("order_id"); b.Property("ProductId") .HasColumnType("bigint") .HasColumnName("product_id"); b.Property("ProgressId") .HasColumnType("uuid") .HasColumnName("progress_id"); b.Property("StartedAt") .HasColumnType("timestamp without time zone") .HasColumnName("started_at"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.Property("TotalPrice") .HasColumnType("numeric") .HasColumnName("total_price"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.Property("UserId") .HasColumnType("bigint") .HasColumnName("user_id"); b.HasKey("Id"); b.HasIndex("ProductId"); b.HasIndex("ProgressId") .IsUnique(); b.HasIndex("UserId"); b.ToTable("user_customizations"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomizationFieldValue", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("FieldLabel") .IsRequired() .HasColumnType("text") .HasColumnName("field_label"); b.Property("FieldName") .IsRequired() .HasColumnType("text") .HasColumnName("field_name"); b.Property("FieldValue") .IsRequired() .HasColumnType("text") .HasColumnName("field_value"); b.Property("FormElementId") .HasColumnType("bigint") .HasColumnName("form_element_id"); b.Property("InputType") .HasColumnType("integer") .HasColumnName("input_type"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.Property("UserCustomizationStepId") .HasColumnType("uuid") .HasColumnName("user_customization_step_id"); b.HasKey("Id"); b.HasIndex("UserCustomizationStepId"); b.ToTable("user_customization_field_values"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomizationStep", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CompletedAt") .HasColumnType("timestamp without time zone") .HasColumnName("completed_at"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("created_at"); b.Property("IsCompleted") .HasColumnType("boolean") .HasColumnName("is_completed"); b.Property("StepId") .HasColumnType("bigint") .HasColumnName("step_id"); b.Property("StepName") .IsRequired() .HasColumnType("text") .HasColumnName("step_name"); b.Property("StepOrder") .HasColumnType("integer") .HasColumnName("step_order"); b.Property("UpdatedAt") .HasColumnType("timestamp without time zone") .HasColumnName("updated_at"); b.Property("UserCustomizationId") .HasColumnType("uuid") .HasColumnName("user_customization_id"); b.HasKey("Id"); b.HasIndex("UserCustomizationId"); b.ToTable("user_customization_steps"); }); modelBuilder.Entity("eprintServer.Entities.UserDevice", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DeviceId") .HasColumnType("text") .HasColumnName("device_Id"); b.Property("DeviceType") .HasColumnType("text") .HasColumnName("deviceType"); b.Property("Ip") .HasColumnType("text") .HasColumnName("ip"); b.Property("LastJwt") .HasColumnType("text") .HasColumnName("token"); b.Property("PushNotificationToken") .HasColumnType("text") .HasColumnName("tokendevice"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestmp"); b.HasKey("Id"); b.ToTable("UserDevice"); }); modelBuilder.Entity("eprintServer.Entities.UserMockup", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("bigint") .HasColumnName("id"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FileId") .HasColumnType("bigint") .HasColumnName("file_id"); b.Property("PrintHeight") .HasColumnType("double precision") .HasColumnName("print_height"); b.Property("PrintWidth") .HasColumnType("double precision") .HasColumnName("print_width"); b.Property("ThumbnailFileId") .HasColumnType("bigint") .HasColumnName("thumbnail_file_id"); b.Property("Timestamp") .HasColumnType("timestamp without time zone") .HasColumnName("timestamp"); b.Property("UserCustomizationStepId") .HasColumnType("uuid") .HasColumnName("user_customization_step_id"); b.HasKey("Id"); b.HasIndex("FileId") .IsUnique(); b.HasIndex("ThumbnailFileId") .IsUnique(); b.HasIndex("UserCustomizationStepId") .IsUnique(); b.ToTable("user_mockups", (string)null); }); modelBuilder.Entity("eprintServer.Entities.Blog", b => { b.HasOne("eprintServer.Entities.FileModel", "Image") .WithMany() .HasForeignKey("ImageId"); b.Navigation("Image"); }); modelBuilder.Entity("eprintServer.Entities.BrandingColor", b => { b.HasOne("eprintServer.Entities.FileModel", "Favicon") .WithOne() .HasForeignKey("eprintServer.Entities.BrandingColor", "FaviconId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.FileModel", "Logo") .WithOne() .HasForeignKey("eprintServer.Entities.BrandingColor", "LogoId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Favicon"); b.Navigation("Logo"); }); modelBuilder.Entity("eprintServer.Entities.CarouselItem", b => { b.HasOne("eprintServer.Entities.FileModel", "Image") .WithOne() .HasForeignKey("eprintServer.Entities.CarouselItem", "ImageId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Image"); }); modelBuilder.Entity("eprintServer.Entities.CustomizableProduct", b => { b.HasOne("eprintServer.Entities.ProductCategory", "Category") .WithMany("CustomizableProducts") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("eprintServer.Entities.FileModel", "Image") .WithOne() .HasForeignKey("eprintServer.Entities.CustomizableProduct", "ImageId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.FileModel", "ThreeDModelFile") .WithOne() .HasForeignKey("eprintServer.Entities.CustomizableProduct", "ThreeDModelFileId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.FileModel", "UvMapImage") .WithOne() .HasForeignKey("eprintServer.Entities.CustomizableProduct", "UvMapImageId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Category"); b.Navigation("Image"); b.Navigation("ThreeDModelFile"); b.Navigation("UvMapImage"); }); modelBuilder.Entity("eprintServer.Entities.DynamicValue", b => { b.HasOne("eprintServer.Entities.Blog", null) .WithMany("ContentDynamic") .HasForeignKey("BlogContentId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Blog", null) .WithMany("TitleDynamic") .HasForeignKey("BlogTitleId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.CarouselItem", null) .WithMany("ButtonText") .HasForeignKey("CarouselButtonTextId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.CarouselItem", null) .WithMany("Description") .HasForeignKey("CarouselDescriptionId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.CarouselItem", null) .WithMany("Title") .HasForeignKey("CarouselTitleId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.CustomizableProduct", null) .WithMany("Descriptions") .HasForeignKey("CustomizableProductDescriptionId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.CustomizableProduct", null) .WithMany("Names") .HasForeignKey("CustomizableProductNameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Faq", null) .WithMany("Answer") .HasForeignKey("FaqAnswerId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Faq", null) .WithMany("Question") .HasForeignKey("FaqQuestionId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.FormElement", null) .WithMany("Label") .HasForeignKey("FormElementLabelId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.FormElementOption", null) .WithMany("OptionLabel") .HasForeignKey("FormElementOptionLabelId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Offer", null) .WithMany("Description") .HasForeignKey("OfferDescriptionId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Offer", null) .WithMany("Title") .HasForeignKey("OfferTitleId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.ProductCategory", null) .WithMany("Name") .HasForeignKey("ProductCategoryId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.SellableProduct", null) .WithMany("Descriptions") .HasForeignKey("SellableProductDescriptionId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.SellableProduct", null) .WithMany("Names") .HasForeignKey("SellableProductNameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Step", null) .WithMany("StepName") .HasForeignKey("StepNameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.StepTemplate", null) .WithMany("TemplateName") .HasForeignKey("StepTemplateNameId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("eprintServer.Entities.FormElement", b => { b.HasOne("eprintServer.Entities.Step", "Step") .WithMany("FormElements") .HasForeignKey("StepId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("eprintServer.Entities.StepTemplate", null) .WithMany("FormElements") .HasForeignKey("StepTemplateId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Step"); }); modelBuilder.Entity("eprintServer.Entities.FormElementOption", b => { b.HasOne("eprintServer.Entities.FormElement", "FormElement") .WithMany("Options") .HasForeignKey("FormElementId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("FormElement"); }); modelBuilder.Entity("eprintServer.Entities.Invoice", b => { b.HasOne("eprintServer.Entities.Order", "Order") .WithMany() .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("eprintServer.Entities.User", "User") .WithMany("Invoices") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Order"); b.Navigation("User"); }); modelBuilder.Entity("eprintServer.Entities.Mockup", b => { b.HasOne("eprintServer.Entities.CustomizableProduct", null) .WithMany("Mockups") .HasForeignKey("CustomizableProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("eprintServer.Entities.FileModel", "File") .WithOne() .HasForeignKey("eprintServer.Entities.Mockup", "FileId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.FileModel", "Thumbnail") .WithOne() .HasForeignKey("eprintServer.Entities.Mockup", "ThumbnailFileId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("File"); b.Navigation("Thumbnail"); }); modelBuilder.Entity("eprintServer.Entities.NotificationModel", b => { b.HasOne("eprintServer.Entities.User", "Reciver") .WithMany() .HasForeignKey("ReciverId"); b.HasOne("eprintServer.Entities.User", "Sender") .WithMany() .HasForeignKey("SenderId"); b.Navigation("Reciver"); b.Navigation("Sender"); }); modelBuilder.Entity("eprintServer.Entities.Offer", b => { b.HasOne("eprintServer.Entities.FileModel", "BannerImage") .WithOne() .HasForeignKey("eprintServer.Entities.Offer", "BannerImageId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("BannerImage"); }); modelBuilder.Entity("eprintServer.Entities.OfferProduct", b => { b.HasOne("eprintServer.Entities.Offer", "Offer") .WithMany("Products") .HasForeignKey("OfferForeignKey") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("eprintServer.Entities.FileModel", "ProductImage") .WithOne() .HasForeignKey("eprintServer.Entities.OfferProduct", "ProductImageId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Offer"); b.Navigation("ProductImage"); }); modelBuilder.Entity("eprintServer.Entities.Order", b => { b.HasOne("eprintServer.Entities.UserAddress", "UserAddress") .WithMany() .HasForeignKey("AddressId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.User", "User") .WithMany("Orders") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); b.Navigation("UserAddress"); }); modelBuilder.Entity("eprintServer.Entities.OrderItem", b => { b.HasOne("eprintServer.Entities.CustomizableProduct", "CustomizableProduct") .WithMany() .HasForeignKey("CustomizableProductId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.Invoice", "Invoice") .WithMany("InvoiceItems") .HasForeignKey("InvoiceId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.Order", "Order") .WithMany("OrderItems") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.SellableProduct", "SellableProduct") .WithMany() .HasForeignKey("SellableProductId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.UserCustomization", "UserCustomization") .WithMany("OrderItems") .HasForeignKey("UserCustomizationId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CustomizableProduct"); b.Navigation("Invoice"); b.Navigation("Order"); b.Navigation("SellableProduct"); b.Navigation("UserCustomization"); }); modelBuilder.Entity("eprintServer.Entities.PaymentModel", b => { b.HasOne("eprintServer.Entities.Order", "Order") .WithMany("Payments") .HasForeignKey("OrderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_order"); b.Navigation("Order"); }); modelBuilder.Entity("eprintServer.Entities.ProductCategory", b => { b.HasOne("eprintServer.Entities.FileModel", "Image") .WithOne() .HasForeignKey("eprintServer.Entities.ProductCategory", "ImageId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("Image"); }); modelBuilder.Entity("eprintServer.Entities.SellableProduct", b => { b.HasOne("eprintServer.Entities.ProductCategory", "Category") .WithMany("Products") .HasForeignKey("CategoryId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("eprintServer.Entities.FileModel", "Image") .WithMany() .HasForeignKey("ImageId"); b.Navigation("Category"); b.Navigation("Image"); }); modelBuilder.Entity("eprintServer.Entities.Step", b => { b.HasOne("eprintServer.Entities.CustomizableProduct", "Product") .WithMany("Steps") .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Product"); }); modelBuilder.Entity("eprintServer.Entities.TextureSlot", b => { b.HasOne("eprintServer.Entities.CustomizableProduct", null) .WithMany("TextureSlots") .HasForeignKey("CustomizableProductId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("eprintServer.Entities.FileModel", "File") .WithOne() .HasForeignKey("eprintServer.Entities.TextureSlot", "FileId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("File"); }); modelBuilder.Entity("eprintServer.Entities.User", b => { b.HasOne("eprintServer.Entities.UserDevice", "Device") .WithOne() .HasForeignKey("eprintServer.Entities.User", "user_device") .OnDelete(DeleteBehavior.Cascade); b.HasOne("eprintServer.Entities.FileModel", "Image") .WithOne() .HasForeignKey("eprintServer.Entities.User", "users_profile_media") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Device"); b.Navigation("Image"); }); modelBuilder.Entity("eprintServer.Entities.UserCanvasDesign", b => { b.HasOne("eprintServer.Entities.UserCustomizationStep", "UserCustomizationStep") .WithOne() .HasForeignKey("eprintServer.Entities.UserCanvasDesign", "UserCustomizationStepId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("UserCustomizationStep"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomization", b => { b.HasOne("eprintServer.Entities.CustomizableProduct", "Product") .WithMany() .HasForeignKey("ProductId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Product"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomizationFieldValue", b => { b.HasOne("eprintServer.Entities.UserCustomizationStep", "UserCustomizationStep") .WithMany("FieldValues") .HasForeignKey("UserCustomizationStepId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("UserCustomizationStep"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomizationStep", b => { b.HasOne("eprintServer.Entities.UserCustomization", "UserCustomization") .WithMany("Steps") .HasForeignKey("UserCustomizationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("UserCustomization"); }); modelBuilder.Entity("eprintServer.Entities.UserMockup", b => { b.HasOne("eprintServer.Entities.FileModel", "File") .WithOne() .HasForeignKey("eprintServer.Entities.UserMockup", "FileId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.FileModel", "Thumbnail") .WithOne() .HasForeignKey("eprintServer.Entities.UserMockup", "ThumbnailFileId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("eprintServer.Entities.UserCustomizationStep", "UserCustomizationStep") .WithOne("UserMockup") .HasForeignKey("eprintServer.Entities.UserMockup", "UserCustomizationStepId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("File"); b.Navigation("Thumbnail"); b.Navigation("UserCustomizationStep"); }); modelBuilder.Entity("eprintServer.Entities.Blog", b => { b.Navigation("ContentDynamic"); b.Navigation("TitleDynamic"); }); modelBuilder.Entity("eprintServer.Entities.CarouselItem", b => { b.Navigation("ButtonText"); b.Navigation("Description"); b.Navigation("Title"); }); modelBuilder.Entity("eprintServer.Entities.CustomizableProduct", b => { b.Navigation("Descriptions"); b.Navigation("Mockups"); b.Navigation("Names"); b.Navigation("Steps"); b.Navigation("TextureSlots"); }); modelBuilder.Entity("eprintServer.Entities.Faq", b => { b.Navigation("Answer"); b.Navigation("Question"); }); modelBuilder.Entity("eprintServer.Entities.FormElement", b => { b.Navigation("Label"); b.Navigation("Options"); }); modelBuilder.Entity("eprintServer.Entities.FormElementOption", b => { b.Navigation("OptionLabel"); }); modelBuilder.Entity("eprintServer.Entities.Invoice", b => { b.Navigation("InvoiceItems"); }); modelBuilder.Entity("eprintServer.Entities.Offer", b => { b.Navigation("Description"); b.Navigation("Products"); b.Navigation("Title"); }); modelBuilder.Entity("eprintServer.Entities.Order", b => { b.Navigation("OrderItems"); b.Navigation("Payments"); }); modelBuilder.Entity("eprintServer.Entities.ProductCategory", b => { b.Navigation("CustomizableProducts"); b.Navigation("Name"); b.Navigation("Products"); }); modelBuilder.Entity("eprintServer.Entities.SellableProduct", b => { b.Navigation("Descriptions"); b.Navigation("Names"); }); modelBuilder.Entity("eprintServer.Entities.Step", b => { b.Navigation("FormElements"); b.Navigation("StepName"); }); modelBuilder.Entity("eprintServer.Entities.StepTemplate", b => { b.Navigation("FormElements"); b.Navigation("TemplateName"); }); modelBuilder.Entity("eprintServer.Entities.User", b => { b.Navigation("Invoices"); b.Navigation("Orders"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomization", b => { b.Navigation("OrderItems"); b.Navigation("Steps"); }); modelBuilder.Entity("eprintServer.Entities.UserCustomizationStep", b => { b.Navigation("FieldValues"); b.Navigation("UserMockup") .IsRequired(); }); #pragma warning restore 612, 618 } } }