feat(portfolio): add atomic corporate action persistence

This commit is contained in:
2026-09-13 13:43:21 +09:00
parent dc755889b3
commit 7a45bec3cb
3 changed files with 72 additions and 3 deletions
+3 -1
View File
@@ -6,7 +6,7 @@ from datetime import datetime
from decimal import Decimal
from typing import Protocol
from app.domain.models import Asset, AuthToken, BrokerCredential, Daemon, LedgerEntry, Portfolio, PortfolioComment, PortfolioTag, StrategySet, Tag, TokenPrincipal, User
from app.domain.models import Asset, AuthToken, BrokerCredential, CorporateAction, Daemon, LedgerEntry, Portfolio, PortfolioComment, PortfolioTag, StrategySet, Tag, TokenPrincipal, User
class PortfolioRepository(Protocol):
@@ -284,6 +284,8 @@ class PortfolioRepository(Protocol):
note: str = "",
) -> None: ...
def record_corporate_action(self, portfolio_id: str, *, action: CorporateAction, idempotency_key: str, payload_hash: str) -> CorporateAction: ...
def list_recent_trades(self, portfolio_id: str, limit: int = 5) -> list[LedgerEntry]: ...
def list_trades_by_date(