feat(fundamentals): multi-ticker DB caching, parallel html scraper, and frontend mappings

This commit is contained in:
2026-08-16 14:05:57 +02:00
parent b0f8d4b78b
commit 2ba54e8057
17 changed files with 1791 additions and 563 deletions
@@ -97,8 +97,9 @@ namespace FinlyticFundamentals.Migrations
modelBuilder.Entity("FinlyticFundamentals.Entities.FundamentalDataEntity", b =>
{
b.Property<string>("Isin")
.HasColumnType("text");
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("AssetDataIsin")
.IsRequired()
@@ -212,7 +213,7 @@ namespace FinlyticFundamentals.Migrations
b.Property<decimal?>("TrailingPe")
.HasColumnType("numeric");
b.HasKey("Isin");
b.HasKey("Id");
b.HasIndex("AssetDataIsin");
@@ -371,8 +372,8 @@ namespace FinlyticFundamentals.Migrations
b.OwnsOne("FinlyticFundamentals.Entities.TickerEntity", "Ticker", b1 =>
{
b1.Property<string>("FundamentalDataEntityIsin")
.HasColumnType("text");
b1.Property<Guid>("FundamentalDataEntityId")
.HasColumnType("uuid");
b1.Property<string>("Exchange")
.IsRequired()
@@ -388,12 +389,14 @@ namespace FinlyticFundamentals.Migrations
.HasDefaultValue("")
.HasColumnName("Ticker");
b1.HasKey("FundamentalDataEntityIsin");
b1.HasKey("FundamentalDataEntityId");
b1.HasIndex("Ticker");
b1.ToTable("FundamentalData");
b1.WithOwner()
.HasForeignKey("FundamentalDataEntityIsin");
.HasForeignKey("FundamentalDataEntityId");
});
b.Navigation("AssetData");