From 4c60174fc66927db5536bc2fe06574c753140055 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Mon, 21 Sep 2026 22:08:53 +0800 Subject: Add dividend history visibility (3d-9a) Expose a deterministic source key on booked dividend records and surface a read-only dividend history panel with empty state, backed by API tests and browser QA assertions. --- src/FundLab.Api/App.fs | 2 ++ src/FundLab.Api/Persistence.fs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/FundLab.Api') diff --git a/src/FundLab.Api/App.fs b/src/FundLab.Api/App.fs index b5b2064..38debc3 100644 --- a/src/FundLab.Api/App.fs +++ b/src/FundLab.Api/App.fs @@ -156,6 +156,7 @@ type DividendResponse = navDate: string dps: string mode: string + sourceKey: string status: string grossCash: string option creditedUnits: string option @@ -613,6 +614,7 @@ module App = navDate = dateText record.NavDate dps = decimalText record.Dps mode = DividendPolicy.modeText record.Mode + sourceKey = DividendPolicy.schemeKey record.FundId record.InstrumentCode record.NavDate record.Mode status = record.Status grossCash = record.GrossCash |> Option.map cashText creditedUnits = record.CreditedUnits |> Option.map decimalText diff --git a/src/FundLab.Api/Persistence.fs b/src/FundLab.Api/Persistence.fs index e252d0a..973544f 100644 --- a/src/FundLab.Api/Persistence.fs +++ b/src/FundLab.Api/Persistence.fs @@ -1922,7 +1922,7 @@ type FundRepository(connectionString: string) = Convert.ToHexString(SHA256.HashData(Encoding.UTF8.GetBytes(payload))) let dividendSchemeKey (fundId: Guid) (command: DividendCommand) = - sprintf "dividend-scheme:%O:%s:%s:%s" fundId command.InstrumentCode (command.NavDate.ToString("yyyy-MM-dd")) (DividendPolicy.modeText command.Mode) + DividendPolicy.schemeKey fundId command.InstrumentCode command.NavDate command.Mode let validateDividendCommand (today: DateOnly) (command: DividendCommand) = if String.IsNullOrWhiteSpace command.InstrumentCode then -- cgit v1.2.3