8.9 KiB
Глоссарий домена
User
Локальный владелец данных WealthLedger, идентифицируемый id и
нормализованным email. User владеет Session, T-Bank connection и видит только
свои Brokerage Accounts.
Не использовать: клиент T-Bank, инвестор T-Bank.
Session
Локальная authenticated-сессия User: короткоживущий access token в браузере и server-side refresh token rotation через cookie. Session не является T-Bank connection и не подтверждает доступ к Brokerage Account без текущего Bearer token.
Не использовать: T-Bank сессия, browser session.
Money
Денежная сумма в одной ISO-валюте, передаваемая как { currency, value }, где
value — decimal string без экспоненциальной записи. Backend выполняет точные
операции, frontend форматирует Money для отображения.
Не использовать: number amount, MoneyDto как доменный термин.
T-Bank connection
Единственное принадлежащее User подключение к T-Bank Invest, содержащее зашифрованный token для server-side запросов.
Не использовать: аккаунт T-Bank, авторизация T-Bank.
Brokerage Account
Открытый поддерживаемый инвестиционный счёт T-Bank, доступный через T-Bank connection: брокерский счёт, ИИС, Инвесткопилка или фонд денежного рынка.
Не использовать: счёт T-Bank, банковский счёт.
Investment Account Type
Нормализованная категория Brokerage Account, независимая от upstream enum
T-Bank: BROKERAGE, INDIVIDUAL_INVESTMENT, INVEST_BOX или
MONEY_MARKET_FUND.
Не использовать: тип аккаунта T-Bank, protobuf type.
Portfolio
Текущее нормализованное состояние инвестиций одного Brokerage Account, включающее позиции, доступные денежные остатки и итоги по каждой валюте.
Не использовать: общий портфель, баланс счёта.
Portfolio Position
Ненулевой обычный инвестиционный актив в составе Portfolio с количеством и доступными оценочными показателями.
Не использовать: валютная позиция, виртуальная позиция.
Portfolio Position Type
Нормализованный display type Portfolio Position, полученный из upstream
instrument type: STOCK, BOND, FUND, CURRENCY, FUTURE, OPTION,
STRUCTURED_NOTE, DIGITAL_FINANCIAL_ASSET или OTHER.
Не использовать: upstream instrument type как доменный enum.
Instrument
Ценная бумага или иной торгуемый актив T-Bank, на который ссылается Portfolio Position через FIGI или instrument UID. Metadata Instrument обогащают отображение Position, но не определяют количество или стоимость.
Не использовать: бумага, тикер, актив позиции.
Instrument Logo
Имя файла бренда T-Bank для отображения Instrument в интерфейсе; presentation metadata, которая не влияет на количество или стоимость позиции. Изображение загружается frontend из публичного брендового CDN без авторизации; при отсутствии имени или ошибке загрузки используется фолбэк с первой буквой отображаемого имени.
Не использовать: аватар актива, иконка бумаги.
Cash Balance
Ненулевой доступный денежный остаток Portfolio в одной валюте; не является
Portfolio Position и передаётся отдельно от positions в cashBalances.
Не использовать: валютная позиция, заблокированные средства.
Portfolio Snapshot
Полный успешно полученный состав Portfolio на определённый момент времени, который может быть свежим или устаревшим fallback-представлением.
Не использовать: история портфеля, snapshot для графика.
Client Cached Snapshot
Последний успешно полученный frontend-ответ React Query, который остаётся
видимым во время фонового обновления или после его ошибки. Не является
server-side fallback и не использует поле Portfolio.isStale.
Не использовать: устаревший Portfolio Snapshot, fallback портфеля.
Account Ledger
Упорядоченная read-only история исполненных операций одного Brokerage Account, отражающая фактические денежные и инструментальные движения без рыночной переоценки или расчёта остатка после операции.
Не использовать: история Portfolio, баланс счёта.
Ledger Entry
Нормализованное представление одной операции T-Bank в Account Ledger; хранит
исходные суммы и доступные детали операции, не создавая синтетических записей
для комиссии сделки. API/code сохраняют legacy names BrokerageOperationDto,
BrokerageOperationsPageDto и /operations; в доменной документации primary
term — Ledger Entry.
Не использовать: проводка, рассчитанная операция.
Operation Category
Нормализованная категория Ledger Entry для фильтрации и отображения:
trade, income, tax, fee, transfer или other.
Не использовать: upstream operation type как category.
Ledger Page Cache
Кэш страницы Account Ledger, отделённый от кэша отдельных операций.
Не использовать: operations cache, кэш отдельных операций.
Ledger Page Cache Key
Каноническая идентичность страницы Ledger Page Cache: User, Brokerage Account, нормализованные диапазон и categories, opaque upstream cursor и limit.
Не использовать: сырой URL query, ключ отдельной Ledger Entry.
Concurrent Refresh Attempt
Два или более перекрывающихся запроса с одним ещё действительным refresh token
одной Session; один становится Refresh Winner, остальные — Refresh Loser и
получают 401, не отзывая Session победителя.
Не использовать: повторное использование refresh token, последовательный refresh.
Superseded Refresh Token
Refresh token, который перестал быть действительным после успешной ротации
Session; его предъявление получает 401, но само по себе не отзывает Session.
Не использовать: активный refresh token, признак взлома сессии.
Future Cash Event
Прогнозируемое на ближайший период денежное или связанное корпоративное
событие одного Brokerage Account, рассчитанное по текущей Portfolio Position;
не является исполненной Ledger Entry. API/code сохраняют legacy names
UpcomingEventDto, UpcomingEventsDto, /events и frontend BrokerageEvent;
в доменной документации primary term — Future Cash Event.
Не использовать: будущая операция, гарантированная выплата.
Future Cash Event Type
Нормализованный тип Future Cash Event: coupon, dividend, maturity или
offer.
Не использовать: upstream dividend type, MOEX row name.