//
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using eprintServer.Data;
using eprintServer.Entities;
#nullable disable
namespace eprintServer.Migrations
{
[DbContext(typeof(DataContext))]
partial class DataContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(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("IsBranchingEnabled")
.HasColumnType("boolean")
.HasColumnName("is_branching_enabled");
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("NextStepId")
.HasColumnType("bigint")
.HasColumnName("next_step_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