mirror of https://github.com/ghostfolio/ghostfolio
48 lines
1.3 KiB
48 lines
1.3 KiB
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 {
|
|
@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;
|
|
}
|
|
|