51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { transformToBig } from '@ghostfolio/common/class-transformer';
|
|
import {
|
|
AssetProfileIdentifier,
|
|
HistoricalDataItem
|
|
} from '@ghostfolio/common/interfaces';
|
|
import { TimelinePosition } from '@ghostfolio/common/models';
|
|
|
|
import { Big } from 'big.js';
|
|
import { Transform, Type } from 'class-transformer';
|
|
|
|
export class PortfolioSnapshot {
|
|
activitiesCount: number;
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
currentValueInBaseCurrency: Big;
|
|
|
|
errors: AssetProfileIdentifier[];
|
|
|
|
hasErrors: boolean;
|
|
|
|
historicalData: HistoricalDataItem[];
|
|
|
|
@Type(() => TimelinePosition)
|
|
positions: TimelinePosition[];
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
totalFeesWithCurrencyEffect: Big;
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
totalInterestWithCurrencyEffect: Big;
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
totalInvestment: Big;
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
totalInvestmentWithCurrencyEffect: Big;
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
totalLiabilitiesWithCurrencyEffect: Big;
|
|
|
|
@Transform(transformToBig, { toClassOnly: true })
|
|
@Type(() => Big)
|
|
totalValuablesWithCurrencyEffect: Big;
|
|
}
|