Sergey Krylov 3dfcf5aaa8
Some checks failed
CI / ci (pull_request) Failing after 3m39s
CI / ci (push) Failing after 3m10s
feat: complete broker account analytics with sync button, tests, and state filter
- Add state filter (EXECUTED/null) to analytics query (spec compliance)
- Add service unit tests (11 tests) and controller test
- Add sync button to operations page with mutation hook
- Regenerate frontend types via codegen
- Update tasks.md marking all items complete

Backend: 114 tests, Frontend: 116 tests — all pass
2026-06-24 11:29:09 +03:00

69 lines
2.9 KiB
TypeScript

import type { components } from './types'
export { configureKyAuth, getHealth, request } from './kyClient'
export type ApiResponseMeta = components['schemas']['ApiResponseMeta']
export interface ApiEnvelope<T> {
data: T
meta: ApiResponseMeta
}
// Auth
export type AuthResponse = components['schemas']['AuthTokenDataDto']
export type UserResponse = components['schemas']['AuthUserDto']
// Shares
export type ShareResponse = components['schemas']['ShareResponseDto']
export type StockMarketData = components['schemas']['StockMarketDataDto']
export type DividendItem = components['schemas']['DividendItemDto']
export type ShareHistoryItem = components['schemas']['HistoryItemDto']
// Bonds
export type BondResponse = components['schemas']['BondResponseDto']
export type BondMarketData = components['schemas']['BondMarketDataDto']
export type BondHistoryItem = components['schemas']['BondHistoryItemDto']
// Candles
export type CandleItem = components['schemas']['CandleItemDto']
// Search
export type SearchResultItem = components['schemas']['SearchResultItemDto']
// Screener
export type ScreenerResult = components['schemas']['ScreenerResultDto']
export type ScreenerItem = components['schemas']['ScreenerItemDto']
// Portfolio
export type Portfolio = components['schemas']['PortfolioListResponseDto']
export type PortfolioDetail = components['schemas']['PortfolioDetailResponseDto']
export type Position = components['schemas']['PositionResponseDto']
export type PositionWithPrice = components['schemas']['PositionWithPriceDto']
export type PortfolioSummary = components['schemas']['PortfolioSummaryDto']
export type AnalyticsResponse = components['schemas']['AnalyticsResponseDto']
// Health
export type HealthResponse = components['schemas']['HealthResponseDto']
// Broker
export type BrokerAccount = components['schemas']['BrokerAccountResponseDto']
export type BrokerPortfolio = components['schemas']['BrokerPortfolioResponseDto']
export type BrokerMoney = components['schemas']['BrokerMoneyDto']
export type BrokerPosition = components['schemas']['BrokerPositionResponseDto']
export type BrokerOperation = components['schemas']['BrokerOperationResponseDto']
export type BrokerOperationsPage = components['schemas']['BrokerOperationsPageResponseDto']
export type BrokerPositionsPage = components['schemas']['BrokerPositionsPageResponseDto']
export type BrokerOperationCategory =
components['schemas']['BrokerOperationResponseDto']['category']
// Broker events
export type BrokerEventItem = components['schemas']['BrokerEventItemDto']
export type BrokerEventsData = components['schemas']['BrokerEventsDataDto']
export type BrokerEventsSummary = components['schemas']['BrokerEventsSummaryDto']
// Broker analytics
export type BrokerAnalytics = components['schemas']['BrokerAnalyticsDto']
// Broker sync
export type BrokerOperationSyncResponse = components['schemas']['BrokerOperationSyncResponseDto']