54 lines
1.5 KiB
TypeScript
54 lines
1.5 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { AnalyticsResponseDto } from './analytics-response.dto';
|
|
import { PortfolioListResponseDto } from './portfolio-list-response.dto';
|
|
import { PortfolioDetailResponseDto, PortfolioResponseDto } from './portfolio-response.dto';
|
|
import { PositionResponseDto } from './position-response.dto';
|
|
|
|
export class PortfolioResponseMetaDto {
|
|
@ApiProperty({ type: String, nullable: true })
|
|
cachedAt!: string | null;
|
|
|
|
@ApiProperty()
|
|
fromCache!: boolean;
|
|
}
|
|
|
|
export class PortfolioListEnvelopeDto {
|
|
@ApiProperty({ type: [PortfolioListResponseDto] })
|
|
data!: PortfolioListResponseDto[];
|
|
|
|
@ApiProperty({ type: PortfolioResponseMetaDto })
|
|
meta!: PortfolioResponseMetaDto;
|
|
}
|
|
|
|
export class PortfolioEnvelopeDto {
|
|
@ApiProperty({ type: PortfolioResponseDto })
|
|
data!: PortfolioResponseDto;
|
|
|
|
@ApiProperty({ type: PortfolioResponseMetaDto })
|
|
meta!: PortfolioResponseMetaDto;
|
|
}
|
|
|
|
export class PortfolioDetailEnvelopeDto {
|
|
@ApiProperty({ type: PortfolioDetailResponseDto })
|
|
data!: PortfolioDetailResponseDto;
|
|
|
|
@ApiProperty({ type: PortfolioResponseMetaDto })
|
|
meta!: PortfolioResponseMetaDto;
|
|
}
|
|
|
|
export class PositionEnvelopeDto {
|
|
@ApiProperty({ type: PositionResponseDto })
|
|
data!: PositionResponseDto;
|
|
|
|
@ApiProperty({ type: PortfolioResponseMetaDto })
|
|
meta!: PortfolioResponseMetaDto;
|
|
}
|
|
|
|
export class AnalyticsEnvelopeDto {
|
|
@ApiProperty({ type: AnalyticsResponseDto })
|
|
data!: AnalyticsResponseDto;
|
|
|
|
@ApiProperty({ type: PortfolioResponseMetaDto })
|
|
meta!: PortfolioResponseMetaDto;
|
|
}
|