- Replace 4 duplicate meta DTOs (AuthResponseMetaDto, PortfolioResponseMetaDto, BrokerResponseMetaDto, ScreenerResponseMetaDto) with shared ApiResponseMeta - Wrap shares getShare() in ApiEnvelopePayload (was raw object, unlike bonds) - Remove unnecessary CacheModule import from securities module - Update portfolio controller nullDataEnvelopeSchema to use shared ApiResponseMeta - All 116 tests pass
66 lines
2.0 KiB
TypeScript
66 lines
2.0 KiB
TypeScript
import { ApiProperty } from '@nestjs/swagger';
|
|
import { ApiResponseMeta } from '../../../common/dto/api-response.dto';
|
|
import { BrokerAccountResponseDto } from './broker-account-response.dto';
|
|
import { BrokerEventsDataDto } from './broker-events-response.dto';
|
|
import { BrokerOperationSyncResponseDto } from './broker-operation-sync-query.dto';
|
|
import { BrokerOperationsPageResponseDto } from './broker-operation-response.dto';
|
|
import { BrokerPositionsPageResponseDto } from './broker-positions-page-response.dto';
|
|
import { BrokerPortfolioResponseDto } from './broker-portfolio-response.dto';
|
|
import { BrokerAnalyticsDto } from './broker-analytics-response.dto';
|
|
|
|
export class BrokerAccountsEnvelopeDto {
|
|
@ApiProperty({ type: [BrokerAccountResponseDto] })
|
|
data!: BrokerAccountResponseDto[];
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class BrokerPortfolioEnvelopeDto {
|
|
@ApiProperty({ type: BrokerPortfolioResponseDto })
|
|
data!: BrokerPortfolioResponseDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class BrokerOperationsEnvelopeDto {
|
|
@ApiProperty({ type: BrokerOperationsPageResponseDto })
|
|
data!: BrokerOperationsPageResponseDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class BrokerPositionsEnvelopeDto {
|
|
@ApiProperty({ type: BrokerPositionsPageResponseDto })
|
|
data!: BrokerPositionsPageResponseDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class BrokerOperationSyncEnvelopeDto {
|
|
@ApiProperty({ type: BrokerOperationSyncResponseDto })
|
|
data!: BrokerOperationSyncResponseDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class BrokerAnalyticsEnvelopeDto {
|
|
@ApiProperty({ type: BrokerAnalyticsDto })
|
|
data!: BrokerAnalyticsDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|
|
|
|
export class BrokerEventsEnvelopeDto {
|
|
@ApiProperty({ type: BrokerEventsDataDto })
|
|
data!: BrokerEventsDataDto;
|
|
|
|
@ApiProperty({ type: ApiResponseMeta })
|
|
meta!: ApiResponseMeta;
|
|
}
|