refactor!: support RUB only (WealthLedger/main#55) #203

Closed
codex-bot wants to merge 3 commits from refactor/55-rub-only into develop
Owner

Summary

The system supports only RUB. Non-RUB data is filtered out at ingest, and per-currency collections are collapsed into a single RUB Money.

Linked Issue

WealthLedger/main#55. Related PRs: WealthLedger/frontend, WealthLedger/docs, WealthLedger/specs (branch refactor/55-rub-only).

Changes

  • Ingest filters for T-Bank (portfolio, operations, catalog) and MOEX; shared rubMoney.
  • API: totalsByCurrency→totals, cashBalances→cash, structure.currencies removed, unrealizedReturnByCurrency→single value, income totalsByCurrency→single value, events incomeTotalsByCurrency→incomeTotal.
  • Screener currency filter removed. NON_RUB_ACTIVITY removed; non-RUB flows do not enter XIRR.
  • Migrations:
    • 20261108000000_rub_only_value_points: drops currency from TbankPortfolioValuePoint and deletes the old-shape snapshot/forecast payloads.
    • 20261108000001_rub_only_resync_now: resets the hourly schedule so snapshots are rebuilt on the next tick.

Verification

  • npm run verify: pass (367)
  • npm run test:e2e: pass
  • npm run openapi:check: pass
  • Migrations applied to dev.db: portfolios rebuilt, API returns 200 with RUB totals.

Breaking Changes

Public API contract changed. Merge together with the frontend PR.

## Summary The system supports only RUB. Non-RUB data is filtered out at ingest, and per-currency collections are collapsed into a single RUB Money. ## Linked Issue WealthLedger/main#55. Related PRs: WealthLedger/frontend, WealthLedger/docs, WealthLedger/specs (branch `refactor/55-rub-only`). ## Changes - Ingest filters for T-Bank (portfolio, operations, catalog) and MOEX; shared `rubMoney`. - API: `totalsByCurrency`→`totals`, `cashBalances`→`cash`, `structure.currencies` removed, `unrealizedReturnByCurrency`→single value, income `totalsByCurrency`→single value, events `incomeTotalsByCurrency`→`incomeTotal`. - Screener currency filter removed. `NON_RUB_ACTIVITY` removed; non-RUB flows do not enter XIRR. - Migrations: - `20261108000000_rub_only_value_points`: drops `currency` from `TbankPortfolioValuePoint` and deletes the old-shape snapshot/forecast payloads. - `20261108000001_rub_only_resync_now`: resets the hourly schedule so snapshots are rebuilt on the next tick. ## Verification - `npm run verify`: pass (367) - `npm run test:e2e`: pass - `npm run openapi:check`: pass - Migrations applied to dev.db: portfolios rebuilt, API returns 200 with RUB totals. ## Breaking Changes Public API contract changed. Merge together with the frontend PR.
codex-bot added 3 commits 2026-11-11 09:15:27 +03:00
Filter non-RUB data at ingest, collapse per-currency collections into single RUB Money, drop currency from TbankPortfolioValuePoint, remove NON_RUB_ACTIVITY and screener currency filter.

BREAKING CHANGE: per-currency API fields replaced with single RUB Money; stock screener currency param removed.
fix(performance): ignore non-RUB cash flows (WealthLedger/main#55)
Backend verify / commits (pull_request) Failing after 1m39s
Backend verify / security (pull_request) Skipped
Backend verify / verify (pull_request) Skipped
4a17f1fffd
codex-bot scheduled this pull request to auto merge when all checks succeed 2026-11-11 09:17:47 +03:00
codex-bot closed this pull request 2026-11-11 09:42:51 +03:00

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: WealthLedger/backend#203