81 lines
2.1 KiB
TypeScript
81 lines
2.1 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { BrokerAccountResponseDto } from './broker-account-response.dto';
|
|
import { BrokerMoneyDto } from './broker-money.dto';
|
|
|
|
export class BrokerPortfolioTotalsDto {
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
shares!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
bonds!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
etf!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
currencies!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
futures!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
options!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
structuredProducts!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
dfa!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
portfolio!: BrokerMoneyDto | null;
|
|
}
|
|
|
|
export class BrokerPortfolioYieldsDto {
|
|
@ApiProperty({ nullable: true })
|
|
expectedPercent!: number | null;
|
|
|
|
@ApiProperty({ type: BrokerMoneyDto, nullable: true })
|
|
daily!: BrokerMoneyDto | null;
|
|
|
|
@ApiProperty({ nullable: true })
|
|
dailyPercent!: number | null;
|
|
}
|
|
|
|
export class BrokerPortfolioPositionCountsDto {
|
|
@ApiProperty({ minimum: 0 })
|
|
shares!: number;
|
|
|
|
@ApiProperty({ minimum: 0 })
|
|
bonds!: number;
|
|
|
|
@ApiProperty({ minimum: 0 })
|
|
etf!: number;
|
|
|
|
@ApiProperty({ minimum: 0 })
|
|
other!: number;
|
|
}
|
|
|
|
export class BrokerPortfolioResponseDto {
|
|
@ApiProperty({ type: BrokerAccountResponseDto })
|
|
account!: BrokerAccountResponseDto;
|
|
|
|
@ApiProperty({ type: BrokerPortfolioPositionCountsDto })
|
|
positionCounts!: BrokerPortfolioPositionCountsDto;
|
|
|
|
@ApiProperty({ type: BrokerPortfolioTotalsDto })
|
|
totals!: BrokerPortfolioTotalsDto;
|
|
|
|
@ApiProperty({ type: BrokerPortfolioYieldsDto })
|
|
yields!: BrokerPortfolioYieldsDto;
|
|
|
|
@ApiProperty({ type: [BrokerMoneyDto] })
|
|
cash!: BrokerMoneyDto[];
|
|
|
|
@ApiProperty({ type: [BrokerMoneyDto] })
|
|
blockedCash!: BrokerMoneyDto[];
|
|
|
|
@ApiProperty()
|
|
asOf!: string;
|
|
}
|