Merge pull request 'fix: re-fetch existing transactions on each validation' (#72) from fix/refresh-existing-transactions-on-validation into next-release
All checks were successful
Build Docker Image / build (push) Successful in 1m24s
Build Docker Image / build (pull_request) Successful in 57s

Reviewed-on: #72
This commit is contained in:
cal 2026-03-11 16:27:55 +00:00
commit 541380acdf

View File

@ -201,9 +201,8 @@ class TransactionBuilder:
self._current_roster: Optional[TeamRoster] = None
self._roster_loaded = False
# Cache for pre-existing transactions
# Pre-existing transactions (re-fetched on each validation)
self._existing_transactions: Optional[List[Transaction]] = None
self._existing_transactions_loaded = False
logger.info(
f"TransactionBuilder initialized for {team.abbrev} by user {user_id}"
@ -233,11 +232,12 @@ class TransactionBuilder:
"""
Load pre-existing transactions for next week.
Always re-fetches from the API to capture transactions submitted
by other users or sessions since the builder was initialized.
Queries for all organizational affiliates (ML, MiL, IL) to ensure
trades involving affiliate teams are included in roster projections.
"""
if self._existing_transactions_loaded:
return
try:
# Include all org affiliates so trades involving MiL/IL teams are captured
@ -252,14 +252,12 @@ class TransactionBuilder:
week_start=next_week,
)
)
self._existing_transactions_loaded = True
logger.debug(
f"Loaded {len(self._existing_transactions or [])} existing transactions for {self.team.abbrev} org ({org_abbrevs}) week {next_week}"
)
except Exception as e:
logger.error(f"Failed to load existing transactions: {e}")
self._existing_transactions = []
self._existing_transactions_loaded = True
async def add_move(
self,