From 0aff9046be4af881e15c437edb19cbab038566f6 Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Thu, 26 May 2022 18:32:03 +0200 Subject: [PATCH] Fix circular dependencies --- .../interfaces/portfolio-position-detail.interface.ts | 6 ++++-- apps/api/src/app/portfolio/portfolio.service.ts | 2 +- apps/api/src/services/symbol-profile.service.ts | 9 +++++---- .../position-detail-dialog.component.ts | 2 +- libs/common/src/lib/interfaces/benchmark.interface.ts | 2 +- .../lib/interfaces/enhanced-symbol-profile.interface.ts | 7 ++++--- libs/common/src/lib/interfaces/index.ts | 4 ++++ .../lib}/interfaces/scraper-configuration.interface.ts | 0 8 files changed, 20 insertions(+), 12 deletions(-) rename apps/api/src/services/interfaces/symbol-profile.interface.ts => libs/common/src/lib/interfaces/enhanced-symbol-profile.interface.ts (61%) rename {apps/api/src/services/data-provider/ghostfolio-scraper-api => libs/common/src/lib}/interfaces/scraper-configuration.interface.ts (100%) diff --git a/apps/api/src/app/portfolio/interfaces/portfolio-position-detail.interface.ts b/apps/api/src/app/portfolio/interfaces/portfolio-position-detail.interface.ts index f400923e8..4d13a1ae3 100644 --- a/apps/api/src/app/portfolio/interfaces/portfolio-position-detail.interface.ts +++ b/apps/api/src/app/portfolio/interfaces/portfolio-position-detail.interface.ts @@ -1,5 +1,7 @@ -import { EnhancedSymbolProfile } from '@ghostfolio/api/services/interfaces/symbol-profile.interface'; -import { HistoricalDataItem } from '@ghostfolio/common/interfaces'; +import { + EnhancedSymbolProfile, + HistoricalDataItem +} from '@ghostfolio/common/interfaces'; import { OrderWithAccount } from '@ghostfolio/common/types'; import { Tag } from '@prisma/client'; diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 5014930a8..da08f8e52 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -19,7 +19,6 @@ import { ConfigurationService } from '@ghostfolio/api/services/configuration.ser import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { ImpersonationService } from '@ghostfolio/api/services/impersonation.service'; -import { EnhancedSymbolProfile } from '@ghostfolio/api/services/interfaces/symbol-profile.interface'; import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile.service'; import { ASSET_SUB_CLASS_EMERGENCY_FUND, @@ -28,6 +27,7 @@ import { import { DATE_FORMAT, parseDate } from '@ghostfolio/common/helper'; import { Accounts, + EnhancedSymbolProfile, Filter, HistoricalDataItem, PortfolioDetails, diff --git a/apps/api/src/services/symbol-profile.service.ts b/apps/api/src/services/symbol-profile.service.ts index d5446a0f0..c91da6d61 100644 --- a/apps/api/src/services/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile.service.ts @@ -1,7 +1,10 @@ -import { EnhancedSymbolProfile } from '@ghostfolio/api/services/interfaces/symbol-profile.interface'; import { PrismaService } from '@ghostfolio/api/services/prisma.service'; import { UNKNOWN_KEY } from '@ghostfolio/common/config'; -import { UniqueAsset } from '@ghostfolio/common/interfaces'; +import { + EnhancedSymbolProfile, + ScraperConfiguration, + UniqueAsset +} from '@ghostfolio/common/interfaces'; import { Country } from '@ghostfolio/common/interfaces/country.interface'; import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { Injectable } from '@nestjs/common'; @@ -13,8 +16,6 @@ import { } from '@prisma/client'; import { continents, countries } from 'countries-list'; -import { ScraperConfiguration } from './data-provider/ghostfolio-scraper-api/interfaces/scraper-configuration.interface'; - @Injectable() export class SymbolProfileService { public constructor(private readonly prismaService: PrismaService) {} diff --git a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts index 05caca115..3e9006111 100644 --- a/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts +++ b/apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts @@ -7,9 +7,9 @@ import { OnInit } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { EnhancedSymbolProfile } from '@ghostfolio/api/services/interfaces/symbol-profile.interface'; import { DataService } from '@ghostfolio/client/services/data.service'; import { DATE_FORMAT, downloadAsFile } from '@ghostfolio/common/helper'; +import { EnhancedSymbolProfile } from '@ghostfolio/common/interfaces'; import { OrderWithAccount } from '@ghostfolio/common/types'; import { LineChartItem } from '@ghostfolio/ui/line-chart/interfaces/line-chart.interface'; import { Tag } from '@prisma/client'; diff --git a/libs/common/src/lib/interfaces/benchmark.interface.ts b/libs/common/src/lib/interfaces/benchmark.interface.ts index 0fce980f0..146fc4b07 100644 --- a/libs/common/src/lib/interfaces/benchmark.interface.ts +++ b/libs/common/src/lib/interfaces/benchmark.interface.ts @@ -1,4 +1,4 @@ -import { EnhancedSymbolProfile } from '@ghostfolio/api/services/interfaces/symbol-profile.interface'; +import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface'; export interface Benchmark { name: EnhancedSymbolProfile['name']; diff --git a/apps/api/src/services/interfaces/symbol-profile.interface.ts b/libs/common/src/lib/interfaces/enhanced-symbol-profile.interface.ts similarity index 61% rename from apps/api/src/services/interfaces/symbol-profile.interface.ts rename to libs/common/src/lib/interfaces/enhanced-symbol-profile.interface.ts index e8c00ecd6..657c9acd6 100644 --- a/apps/api/src/services/interfaces/symbol-profile.interface.ts +++ b/libs/common/src/lib/interfaces/enhanced-symbol-profile.interface.ts @@ -1,8 +1,9 @@ -import { ScraperConfiguration } from '@ghostfolio/api/services/data-provider/ghostfolio-scraper-api/interfaces/scraper-configuration.interface'; -import { Country } from '@ghostfolio/common/interfaces/country.interface'; -import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { AssetClass, AssetSubClass, DataSource } from '@prisma/client'; +import { Country } from './country.interface'; +import { ScraperConfiguration } from './scraper-configuration.interface'; +import { Sector } from './sector.interface'; + export interface EnhancedSymbolProfile { assetClass: AssetClass; assetSubClass: AssetSubClass; diff --git a/libs/common/src/lib/interfaces/index.ts b/libs/common/src/lib/interfaces/index.ts index f4a55ab79..cb31e246e 100644 --- a/libs/common/src/lib/interfaces/index.ts +++ b/libs/common/src/lib/interfaces/index.ts @@ -8,6 +8,7 @@ import { } from './admin-market-data.interface'; import { Benchmark } from './benchmark.interface'; import { Coupon } from './coupon.interface'; +import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface'; import { Export } from './export.interface'; import { FilterGroup } from './filter-group.interface'; import { Filter } from './filter.interface'; @@ -28,6 +29,7 @@ import { Position } from './position.interface'; import { BenchmarkResponse } from './responses/benchmark-response.interface'; import { ResponseError } from './responses/errors.interface'; import { PortfolioPerformanceResponse } from './responses/portfolio-performance-response.interface'; +import { ScraperConfiguration } from './scraper-configuration.interface'; import { TimelinePosition } from './timeline-position.interface'; import { UniqueAsset } from './unique-asset.interface'; import { UserSettings } from './user-settings.interface'; @@ -44,6 +46,7 @@ export { Benchmark, BenchmarkResponse, Coupon, + EnhancedSymbolProfile, Export, Filter, FilterGroup, @@ -63,6 +66,7 @@ export { PortfolioSummary, Position, ResponseError, + ScraperConfiguration, TimelinePosition, UniqueAsset, User, diff --git a/apps/api/src/services/data-provider/ghostfolio-scraper-api/interfaces/scraper-configuration.interface.ts b/libs/common/src/lib/interfaces/scraper-configuration.interface.ts similarity index 100% rename from apps/api/src/services/data-provider/ghostfolio-scraper-api/interfaces/scraper-configuration.interface.ts rename to libs/common/src/lib/interfaces/scraper-configuration.interface.ts