Browse Source

cleanup portfolio module

pull/278/head
Valentin Zickner 4 years ago
committed by Thomas
parent
commit
35307a7379
  1. 7
      apps/api/src/app/app.module.ts
  2. 20
      apps/api/src/app/core/core.module.ts
  3. 6
      apps/api/src/app/core/interfaces/transaction-point.interface.ts
  4. 3
      apps/api/src/app/order/order.module.ts
  5. 2
      apps/api/src/app/portfolio/current-rate.service.spec.ts
  6. 6
      apps/api/src/app/portfolio/current-rate.service.ts
  7. 0
      apps/api/src/app/portfolio/interfaces/current-positions.interface.ts
  8. 0
      apps/api/src/app/portfolio/interfaces/date-query.interface.ts
  9. 0
      apps/api/src/app/portfolio/interfaces/get-value-object.interface.ts
  10. 0
      apps/api/src/app/portfolio/interfaces/get-value-params.interface.ts
  11. 2
      apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts
  12. 0
      apps/api/src/app/portfolio/interfaces/portfolio-order.interface.ts
  13. 0
      apps/api/src/app/portfolio/interfaces/timeline-period.interface.ts
  14. 0
      apps/api/src/app/portfolio/interfaces/timeline-specification.interface.ts
  15. 0
      apps/api/src/app/portfolio/interfaces/transaction-point-symbol.interface.ts
  16. 6
      apps/api/src/app/portfolio/interfaces/transaction-point.interface.ts
  17. 0
      apps/api/src/app/portfolio/market-data.service.ts
  18. 18
      apps/api/src/app/portfolio/portfolio-calculator.spec.ts
  19. 16
      apps/api/src/app/portfolio/portfolio-calculator.ts
  20. 2
      apps/api/src/app/portfolio/portfolio.controller.ts
  21. 12
      apps/api/src/app/portfolio/portfolio.module.ts
  22. 2
      apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts
  23. 2
      apps/api/src/models/rules/currency-cluster-risk/base-currency-initial-investment.ts
  24. 2
      apps/api/src/models/rules/currency-cluster-risk/current-investment.ts
  25. 2
      apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts

7
apps/api/src/app/app.module.ts

@ -5,19 +5,13 @@ import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { ScheduleModule } from '@nestjs/schedule';
import { ServeStaticModule } from '@nestjs/serve-static';
import { ConfigurationService } from '../services/configuration.service';
import { CronService } from '../services/cron.service';
import { DataGatheringService } from '../services/data-gathering.service';
import { ExchangeRateDataService } from '../services/exchange-rate-data.service';
import { PrismaService } from '../services/prisma.service';
import { AccessModule } from './access/access.module';
import { AccountModule } from './account/account.module';
import { AdminModule } from './admin/admin.module';
import { AppController } from './app.controller';
import { AuthModule } from './auth/auth.module';
import { CacheModule } from './cache/cache.module';
import { CoreModule } from './core/core.module';
import { ExperimentalModule } from './experimental/experimental.module';
import { ExportModule } from './export/export.module';
import { ImportModule } from './import/import.module';
@ -43,7 +37,6 @@ import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-d
AuthModule,
CacheModule,
ConfigModule.forRoot(),
CoreModule,
ExperimentalModule,
ExportModule,
ImportModule,

20
apps/api/src/app/core/core.module.ts

@ -1,20 +0,0 @@
import { Module } from '@nestjs/common';
import { CurrentRateService } from './current-rate.service';
import { MarketDataService } from './market-data.service';
import { DataProviderModule } from '@ghostfolio/api/services/data-provider/data-provider.module';
import { ConfigurationModule } from '@ghostfolio/api/services/configuration.module';
import { PrismaModule } from '@ghostfolio/api/services/prisma.module';
import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data.module';
@Module({
imports: [
ConfigurationModule,
DataProviderModule,
ExchangeRateDataModule,
PrismaModule
],
controllers: [],
providers: [CurrentRateService, MarketDataService]
})
export class CoreModule {}

6
apps/api/src/app/core/interfaces/transaction-point.interface.ts

@ -1,6 +0,0 @@
import { TransactionPointSymbol } from '@ghostfolio/api/app/core/interfaces/transaction-point-symbol.interface';
export interface TransactionPoint {
date: string;
items: TransactionPointSymbol[];
}

3
apps/api/src/app/order/order.module.ts

@ -20,6 +20,7 @@ import { ImpersonationModule } from '@ghostfolio/api/services/impersonation.modu
PrismaModule
],
controllers: [OrderController],
providers: [CacheService, OrderService]
providers: [CacheService, OrderService],
exports: [OrderService]
})
export class OrderModule {}

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

@ -1,4 +1,4 @@
import { CurrentRateService } from '@ghostfolio/api/app/core/current-rate.service';
import { CurrentRateService } from './current-rate.service';
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service';
import { Currency, MarketData } from '@prisma/client';

6
apps/api/src/app/core/current-rate.service.ts → apps/api/src/app/portfolio/current-rate.service.ts

@ -1,6 +1,6 @@
import { GetValueObject } from '@ghostfolio/api/app/core/interfaces/get-value-object.interface';
import { GetValueParams } from '@ghostfolio/api/app/core/interfaces/get-value-params.interface';
import { GetValuesParams } from '@ghostfolio/api/app/core/interfaces/get-values-params.interface';
import { GetValueObject } from './interfaces/get-value-object.interface';
import { GetValueParams } from './interfaces/get-value-params.interface';
import { GetValuesParams } from './interfaces/get-values-params.interface';
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service';
import { resetHours } from '@ghostfolio/common/helper';

0
apps/api/src/app/core/interfaces/current-positions.interface.ts → apps/api/src/app/portfolio/interfaces/current-positions.interface.ts

0
apps/api/src/app/core/interfaces/date-query.interface.ts → apps/api/src/app/portfolio/interfaces/date-query.interface.ts

0
apps/api/src/app/core/interfaces/get-value-object.interface.ts → apps/api/src/app/portfolio/interfaces/get-value-object.interface.ts

0
apps/api/src/app/core/interfaces/get-value-params.interface.ts → apps/api/src/app/portfolio/interfaces/get-value-params.interface.ts

2
apps/api/src/app/core/interfaces/get-values-params.interface.ts → apps/api/src/app/portfolio/interfaces/get-values-params.interface.ts

@ -1,4 +1,4 @@
import { DateQuery } from '@ghostfolio/api/app/core/interfaces/date-query.interface';
import { DateQuery } from './date-query.interface';
import { Currency } from '@prisma/client';
export interface GetValuesParams {

0
apps/api/src/app/core/interfaces/portfolio-order.interface.ts → apps/api/src/app/portfolio/interfaces/portfolio-order.interface.ts

0
apps/api/src/app/core/interfaces/timeline-period.interface.ts → apps/api/src/app/portfolio/interfaces/timeline-period.interface.ts

0
apps/api/src/app/core/interfaces/timeline-specification.interface.ts → apps/api/src/app/portfolio/interfaces/timeline-specification.interface.ts

0
apps/api/src/app/core/interfaces/transaction-point-symbol.interface.ts → apps/api/src/app/portfolio/interfaces/transaction-point-symbol.interface.ts

6
apps/api/src/app/portfolio/interfaces/transaction-point.interface.ts

@ -0,0 +1,6 @@
import { TransactionPointSymbol } from './transaction-point-symbol.interface';
export interface TransactionPoint {
date: string;
items: TransactionPointSymbol[];
}

0
apps/api/src/app/core/market-data.service.ts → apps/api/src/app/portfolio/market-data.service.ts

18
apps/api/src/app/core/portfolio-calculator.spec.ts → apps/api/src/app/portfolio/portfolio-calculator.spec.ts

@ -1,11 +1,11 @@
import { CurrentRateService } from '@ghostfolio/api/app/core/current-rate.service';
import { GetValueParams } from '@ghostfolio/api/app/core/interfaces/get-value-params.interface';
import { GetValuesParams } from '@ghostfolio/api/app/core/interfaces/get-values-params.interface';
import { PortfolioOrder } from '@ghostfolio/api/app/core/interfaces/portfolio-order.interface';
import { TimelinePeriod } from '@ghostfolio/api/app/core/interfaces/timeline-period.interface';
import { TimelineSpecification } from '@ghostfolio/api/app/core/interfaces/timeline-specification.interface';
import { TransactionPoint } from '@ghostfolio/api/app/core/interfaces/transaction-point.interface';
import { PortfolioCalculator } from '@ghostfolio/api/app/core/portfolio-calculator';
import { CurrentRateService } from './current-rate.service';
import { GetValueParams } from './interfaces/get-value-params.interface';
import { GetValuesParams } from './interfaces/get-values-params.interface';
import { PortfolioOrder } from './interfaces/portfolio-order.interface';
import { TimelinePeriod } from './interfaces/timeline-period.interface';
import { TimelineSpecification } from './interfaces/timeline-specification.interface';
import { TransactionPoint } from './interfaces/transaction-point.interface';
import { PortfolioCalculator } from './portfolio-calculator';
import { OrderType } from '@ghostfolio/api/models/order-type';
import { parseDate, resetHours } from '@ghostfolio/common/helper';
import { Currency } from '@prisma/client';
@ -67,7 +67,7 @@ function mockGetValue(symbol: string, date: Date) {
}
}
jest.mock('@ghostfolio/api/app/core/current-rate.service', () => {
jest.mock('./current-rate.service', () => {
return {
// eslint-disable-next-line @typescript-eslint/naming-convention
CurrentRateService: jest.fn().mockImplementation(() => {

16
apps/api/src/app/core/portfolio-calculator.ts → apps/api/src/app/portfolio/portfolio-calculator.ts

@ -1,14 +1,14 @@
import { CurrentRateService } from '@ghostfolio/api/app/core/current-rate.service';
import { CurrentPositions } from '@ghostfolio/api/app/core/interfaces/current-positions.interface';
import { GetValueObject } from '@ghostfolio/api/app/core/interfaces/get-value-object.interface';
import { PortfolioOrder } from '@ghostfolio/api/app/core/interfaces/portfolio-order.interface';
import { TimelinePeriod } from '@ghostfolio/api/app/core/interfaces/timeline-period.interface';
import { CurrentRateService } from './current-rate.service';
import { CurrentPositions } from './interfaces/current-positions.interface';
import { GetValueObject } from './interfaces/get-value-object.interface';
import { PortfolioOrder } from './interfaces/portfolio-order.interface';
import { TimelinePeriod } from './interfaces/timeline-period.interface';
import {
Accuracy,
TimelineSpecification
} from '@ghostfolio/api/app/core/interfaces/timeline-specification.interface';
import { TransactionPointSymbol } from '@ghostfolio/api/app/core/interfaces/transaction-point-symbol.interface';
import { TransactionPoint } from '@ghostfolio/api/app/core/interfaces/transaction-point.interface';
} from './interfaces/timeline-specification.interface';
import { TransactionPointSymbol } from './interfaces/transaction-point-symbol.interface';
import { TransactionPoint } from './interfaces/transaction-point.interface';
import { OrderType } from '@ghostfolio/api/models/order-type';
import { DATE_FORMAT, parseDate, resetHours } from '@ghostfolio/common/helper';
import { TimelinePosition } from '@ghostfolio/common/interfaces';

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

@ -46,7 +46,7 @@ export class PortfolioController {
public constructor(
private readonly exchangeRateDataService: ExchangeRateDataService,
private readonly impersonationService: ImpersonationService,
private portfolioService: PortfolioService,
private readonly portfolioService: PortfolioService,
@Inject(REQUEST) private readonly request: RequestWithUser
) {}

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

@ -1,9 +1,6 @@
import { AccountService } from '@ghostfolio/api/app/account/account.service';
import { CacheService } from '@ghostfolio/api/app/cache/cache.service';
import { CurrentRateService } from '@ghostfolio/api/app/core/current-rate.service';
import { MarketDataService } from '@ghostfolio/api/app/core/market-data.service';
import { OrderService } from '@ghostfolio/api/app/order/order.service';
import { RedisCacheModule } from '@ghostfolio/api/app/redis-cache/redis-cache.module';
import { CurrentRateService } from './current-rate.service';
import { MarketDataService } from './market-data.service';
import { UserService } from '@ghostfolio/api/app/user/user.service';
import { RulesService } from './rules.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile.service';
@ -17,6 +14,7 @@ import { PrismaModule } from '@ghostfolio/api/services/prisma.module';
import { DataGatheringModule } from '@ghostfolio/api/services/data-gathering.module';
import { ExchangeRateDataModule } from '@ghostfolio/api/services/exchange-rate-data.module';
import { ImpersonationModule } from '@ghostfolio/api/services/impersonation.module';
import { OrderModule } from '@ghostfolio/api/app/order/order.module';
@Module({
imports: [
@ -25,16 +23,14 @@ import { ImpersonationModule } from '@ghostfolio/api/services/impersonation.modu
DataGatheringModule,
ExchangeRateDataModule,
ImpersonationModule,
RedisCacheModule,
OrderModule,
PrismaModule
],
controllers: [PortfolioController],
providers: [
AccountService,
CacheService,
CurrentRateService,
MarketDataService,
OrderService,
PortfolioService,
RulesService,
SymbolProfileService,

2
apps/api/src/models/rules/currency-cluster-risk/base-currency-current-investment.ts

@ -1,4 +1,4 @@
import { CurrentPositions } from '@ghostfolio/api/app/core/interfaces/current-positions.interface';
import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface';
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { UserSettings } from '@ghostfolio/api/models/interfaces/user-settings.interface';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service';

2
apps/api/src/models/rules/currency-cluster-risk/base-currency-initial-investment.ts

@ -1,4 +1,4 @@
import { CurrentPositions } from '@ghostfolio/api/app/core/interfaces/current-positions.interface';
import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface';
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { UserSettings } from '@ghostfolio/api/models/interfaces/user-settings.interface';
import { Currency } from '@prisma/client';

2
apps/api/src/models/rules/currency-cluster-risk/current-investment.ts

@ -1,4 +1,4 @@
import { CurrentPositions } from '@ghostfolio/api/app/core/interfaces/current-positions.interface';
import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface';
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { UserSettings } from '@ghostfolio/api/models/interfaces/user-settings.interface';
import { Currency } from '@prisma/client';

2
apps/api/src/models/rules/currency-cluster-risk/initial-investment.ts

@ -1,4 +1,4 @@
import { CurrentPositions } from '@ghostfolio/api/app/core/interfaces/current-positions.interface';
import { CurrentPositions } from '@ghostfolio/api/app/portfolio/interfaces/current-positions.interface';
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { UserSettings } from '@ghostfolio/api/models/interfaces/user-settings.interface';
import { Currency } from '@prisma/client';

Loading…
Cancel
Save