// using System; using FinlyticAssets.Database; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace FinlyticAssets.Migrations { [DbContext(typeof(AssetsDbContext))] partial class AssetsDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.9") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("AssetEntityTagEntity", b => { b.Property("TagsId") .HasColumnType("text"); b.Property("AssetsIsin") .HasColumnType("text"); b.Property("AssetsInstrumentCategory") .HasColumnType("text"); b.HasKey("TagsId", "AssetsIsin", "AssetsInstrumentCategory"); b.HasIndex("AssetsIsin", "AssetsInstrumentCategory"); b.ToTable("AssetEntityTagEntity"); }); modelBuilder.Entity("FinlyticAssets.Entities.AssetEntity", b => { b.Property("Isin") .HasColumnType("text"); b.Property("InstrumentCategory") .HasColumnType("text"); b.Property("AssetType") .IsRequired() .HasMaxLength(13) .HasColumnType("character varying(13)"); b.Property("HasCfd") .HasColumnType("boolean"); b.Property("ImageId") .HasColumnType("text"); b.Property("LastUpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.HasKey("Isin", "InstrumentCategory"); b.HasIndex("LastUpdatedAt"); b.ToTable("TradeRepublicAssets"); b.HasDiscriminator("AssetType").HasValue("AssetEntity"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("FinlyticAssets.Entities.Settings", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AssetUpdateTypeDelay") .HasColumnType("integer"); b.Property("BatchAssetUpdateDelay") .HasColumnType("integer"); b.Property("CurrentScanningPage") .HasColumnType("integer"); b.Property("CurrentScanningType") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("FinishedInitialScan") .HasColumnType("boolean"); b.Property("InitAssetUpdateTypeDelay") .HasColumnType("integer"); b.Property("InitBatchAssetUpdateDelay") .HasColumnType("integer"); b.Property("TradeRepublicMaxRequestPageSize") .HasColumnType("integer"); b.HasKey("Id"); b.ToTable("Settings"); }); modelBuilder.Entity("FinlyticAssets.Entities.TagEntity", b => { b.Property("Id") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("TradeRepublicTags"); }); modelBuilder.Entity("FinlyticCore.Entities.Settings.SettingEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Key") .IsRequired() .HasMaxLength(150) .HasColumnType("character varying(150)"); b.Property("LastUpdatedUtc") .HasColumnType("timestamp with time zone"); b.Property("ServiceIdentifier") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("ValueJson") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("Key"); b.ToTable("DynamicSettings"); }); modelBuilder.Entity("FinlyticAssets.Entities.BondEntity", b => { b.HasBaseType("FinlyticAssets.Entities.AssetEntity"); b.Property("BondIssuerName") .IsRequired() .HasColumnType("text"); b.Property("SearchSubtitle") .IsRequired() .HasColumnType("text"); b.HasDiscriminator().HasValue("Bond"); }); modelBuilder.Entity("FinlyticAssets.Entities.CryptoEntity", b => { b.HasBaseType("FinlyticAssets.Entities.AssetEntity"); b.Property("SearchSubtitle") .IsRequired() .HasColumnType("text"); b.Property("Subtitle") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("SearchSubtitle") .HasColumnName("CryptoEntity_SearchSubtitle"); }); b.HasDiscriminator().HasValue("Crypto"); }); modelBuilder.Entity("FinlyticAssets.Entities.DerivativeEntity", b => { b.HasBaseType("FinlyticAssets.Entities.AssetEntity"); b.Property("Barrier") .HasColumnType("numeric(18,6)"); b.Property("Currency") .IsRequired() .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property("Delta") .HasColumnType("numeric"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.Property("Expiry") .HasColumnType("timestamp with time zone"); b.Property("Factor") .HasColumnType("numeric"); b.Property("Issuer") .IsRequired() .HasMaxLength(150) .HasColumnType("character varying(150)"); b.Property("IssuerDisplayName") .IsRequired() .HasMaxLength(150) .HasColumnType("character varying(150)"); b.Property("IssuerImageId") .HasColumnType("text"); b.Property("Leverage") .HasColumnType("numeric(10,4)"); b.Property("NextGenProductCategoryName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("OptionType") .HasColumnType("integer"); b.Property("ProductCategoryName") .IsRequired() .HasMaxLength(100) .HasColumnType("character varying(100)"); b.Property("Size") .HasColumnType("numeric"); b.Property("Strike") .HasColumnType("numeric(18,6)"); b.Property("UnderlyingIsin") .HasMaxLength(12) .HasColumnType("character varying(12)"); b.HasDiscriminator().HasValue("Derivative"); }); modelBuilder.Entity("FinlyticAssets.Entities.EtfEntity", b => { b.HasBaseType("FinlyticAssets.Entities.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.Property("EtfDescription") .IsRequired() .HasColumnType("text"); b.Property("MappedEtfIndexName") .IsRequired() .HasColumnType("text"); b.Property("SearchSubtitle") .IsRequired() .HasColumnType("text"); b.Property("Subtitle") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("DerivativeProductCategories") .HasColumnName("EtfEntity_DerivativeProductCategories"); t.Property("SearchSubtitle") .HasColumnName("EtfEntity_SearchSubtitle"); t.Property("Subtitle") .HasColumnName("EtfEntity_Subtitle"); }); b.HasDiscriminator().HasValue("Etf"); }); modelBuilder.Entity("FinlyticAssets.Entities.StockEntity", b => { b.HasBaseType("FinlyticAssets.Entities.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("DerivativeProductCategories") .HasColumnName("StockEntity_DerivativeProductCategories"); }); b.HasDiscriminator().HasValue("Stock"); }); modelBuilder.Entity("FinlyticAssets.Entities.SyntheticEntity", b => { b.HasBaseType("FinlyticAssets.Entities.AssetEntity"); b.Property("DerivativeProductCategories") .IsRequired() .HasColumnType("text"); b.ToTable("TradeRepublicAssets", t => { t.Property("DerivativeProductCategories") .HasColumnName("SyntheticEntity_DerivativeProductCategories"); }); b.HasDiscriminator().HasValue("Synthetic"); }); modelBuilder.Entity("AssetEntityTagEntity", b => { b.HasOne("FinlyticAssets.Entities.TagEntity", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("FinlyticAssets.Entities.AssetEntity", null) .WithMany() .HasForeignKey("AssetsIsin", "AssetsInstrumentCategory") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); #pragma warning restore 612, 618 } } }