Browse Source

Refactoring

pull/3214/head
Thomas Kaul 1 year ago
parent
commit
c47f899f8c
  1. 4
      apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts
  2. 4
      apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts
  3. 2
      apps/api/src/app/portfolio/current-rate.service.spec.ts
  4. 2
      apps/api/src/app/portfolio/portfolio.module.ts
  5. 6
      apps/api/src/app/portfolio/portfolio.service.ts

4
apps/api/src/app/portfolio/calculator/mwr/portfolio-calculator.ts

@ -1,9 +1,9 @@
import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator';
import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface';
import {
SymbolMetrics,
TimelinePosition,
UniqueAsset,
SymbolMetrics
UniqueAsset
} from '@ghostfolio/common/interfaces';
export class MWRPortfolioCalculator extends PortfolioCalculator {

4
apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts

@ -9,8 +9,8 @@ import { PortfolioCalculator } from './portfolio-calculator';
import { TWRPortfolioCalculator } from './twr/portfolio-calculator';
export enum PerformanceCalculationType {
TWR = 'TWR', // Time-Weighted Rate of Return
MWR = 'MWR' // Money-Weighted Rate of Return
MWR = 'MWR', // Money-Weighted Rate of Return
TWR = 'TWR' // Time-Weighted Rate of Return
}
@Injectable()

2
apps/api/src/app/portfolio/current-rate.service.spec.ts

@ -1,4 +1,3 @@
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service';
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
@ -6,6 +5,7 @@ import { UniqueAsset } from '@ghostfolio/common/interfaces';
import { DataSource, MarketData } from '@prisma/client';
import { CurrentRateService } from './current-rate.service';
import { GetValuesObject } from './interfaces/get-values-object.interface';
jest.mock('@ghostfolio/api/services/market-data/market-data.service', () => {

2
apps/api/src/app/portfolio/portfolio.module.ts

@ -2,7 +2,6 @@ import { AccessModule } from '@ghostfolio/api/app/access/access.module';
import { AccountBalanceService } from '@ghostfolio/api/app/account-balance/account-balance.service';
import { AccountService } from '@ghostfolio/api/app/account/account.service';
import { OrderModule } from '@ghostfolio/api/app/order/order.module';
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service';
import { UserModule } from '@ghostfolio/api/app/user/user.module';
import { ApiModule } from '@ghostfolio/api/services/api/api.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module';
@ -17,6 +16,7 @@ import { SymbolProfileModule } from '@ghostfolio/api/services/symbol-profile/sym
import { Module } from '@nestjs/common';
import { PortfolioCalculatorFactory } from './calculator/portfolio-calculator.factory';
import { CurrentRateService } from './current-rate.service';
import { PortfolioController } from './portfolio.controller';
import { PortfolioService } from './portfolio.service';
import { RulesService } from './rules.service';

6
apps/api/src/app/portfolio/portfolio.service.ts

@ -947,6 +947,7 @@ export class PortfolioService {
const user = await this.userService.user({ id: userId });
const { endDate, startDate } = getInterval(dateRange);
const { activities } = await this.orderService.getOrders({
endDate,
filters,
@ -1121,6 +1122,7 @@ export class PortfolioService {
const { endDate, startDate } = getInterval(dateRange);
const { activities } = await this.orderService.getOrders({
endDate,
filters,
userCurrency,
userId,
@ -1769,8 +1771,8 @@ export class PortfolioService {
const annualizedPerformancePercent = this.calculatorFactory
.createCalculator({
calculationType: PerformanceCalculationType.TWR,
activities: [],
calculationType: PerformanceCalculationType.TWR,
currency: userCurrency
})
.getAnnualizedPerformancePercent({
@ -1784,8 +1786,8 @@ export class PortfolioService {
const annualizedPerformancePercentWithCurrencyEffect =
this.calculatorFactory
.createCalculator({
calculationType: PerformanceCalculationType.TWR,
activities: [],
calculationType: PerformanceCalculationType.TWR,
currency: userCurrency
})
.getAnnualizedPerformancePercent({

Loading…
Cancel
Save