Browse Source

Fix circular dependencies

pull/953/head
Thomas 3 years ago
parent
commit
0aff9046be
  1. 6
      apps/api/src/app/portfolio/interfaces/portfolio-position-detail.interface.ts
  2. 2
      apps/api/src/app/portfolio/portfolio.service.ts
  3. 9
      apps/api/src/services/symbol-profile.service.ts
  4. 2
      apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts
  5. 2
      libs/common/src/lib/interfaces/benchmark.interface.ts
  6. 7
      libs/common/src/lib/interfaces/enhanced-symbol-profile.interface.ts
  7. 4
      libs/common/src/lib/interfaces/index.ts
  8. 0
      libs/common/src/lib/interfaces/scraper-configuration.interface.ts

6
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 {
import { HistoricalDataItem } from '@ghostfolio/common/interfaces'; EnhancedSymbolProfile,
HistoricalDataItem
} from '@ghostfolio/common/interfaces';
import { OrderWithAccount } from '@ghostfolio/common/types'; import { OrderWithAccount } from '@ghostfolio/common/types';
import { Tag } from '@prisma/client'; import { Tag } from '@prisma/client';

2
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 { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data.service';
import { ImpersonationService } from '@ghostfolio/api/services/impersonation.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 { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile.service';
import { import {
ASSET_SUB_CLASS_EMERGENCY_FUND, ASSET_SUB_CLASS_EMERGENCY_FUND,
@ -28,6 +27,7 @@ import {
import { DATE_FORMAT, parseDate } from '@ghostfolio/common/helper'; import { DATE_FORMAT, parseDate } from '@ghostfolio/common/helper';
import { import {
Accounts, Accounts,
EnhancedSymbolProfile,
Filter, Filter,
HistoricalDataItem, HistoricalDataItem,
PortfolioDetails, PortfolioDetails,

9
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 { PrismaService } from '@ghostfolio/api/services/prisma.service';
import { UNKNOWN_KEY } from '@ghostfolio/common/config'; 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 { Country } from '@ghostfolio/common/interfaces/country.interface';
import { Sector } from '@ghostfolio/common/interfaces/sector.interface'; import { Sector } from '@ghostfolio/common/interfaces/sector.interface';
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
@ -13,8 +16,6 @@ import {
} from '@prisma/client'; } from '@prisma/client';
import { continents, countries } from 'countries-list'; import { continents, countries } from 'countries-list';
import { ScraperConfiguration } from './data-provider/ghostfolio-scraper-api/interfaces/scraper-configuration.interface';
@Injectable() @Injectable()
export class SymbolProfileService { export class SymbolProfileService {
public constructor(private readonly prismaService: PrismaService) {} public constructor(private readonly prismaService: PrismaService) {}

2
apps/client/src/app/components/position/position-detail-dialog/position-detail-dialog.component.ts

@ -7,9 +7,9 @@ import {
OnInit OnInit
} from '@angular/core'; } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; 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 { DataService } from '@ghostfolio/client/services/data.service';
import { DATE_FORMAT, downloadAsFile } from '@ghostfolio/common/helper'; import { DATE_FORMAT, downloadAsFile } from '@ghostfolio/common/helper';
import { EnhancedSymbolProfile } from '@ghostfolio/common/interfaces';
import { OrderWithAccount } from '@ghostfolio/common/types'; import { OrderWithAccount } from '@ghostfolio/common/types';
import { LineChartItem } from '@ghostfolio/ui/line-chart/interfaces/line-chart.interface'; import { LineChartItem } from '@ghostfolio/ui/line-chart/interfaces/line-chart.interface';
import { Tag } from '@prisma/client'; import { Tag } from '@prisma/client';

2
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 { export interface Benchmark {
name: EnhancedSymbolProfile['name']; name: EnhancedSymbolProfile['name'];

7
apps/api/src/services/interfaces/symbol-profile.interface.ts → 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 { 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 { export interface EnhancedSymbolProfile {
assetClass: AssetClass; assetClass: AssetClass;
assetSubClass: AssetSubClass; assetSubClass: AssetSubClass;

4
libs/common/src/lib/interfaces/index.ts

@ -8,6 +8,7 @@ import {
} from './admin-market-data.interface'; } from './admin-market-data.interface';
import { Benchmark } from './benchmark.interface'; import { Benchmark } from './benchmark.interface';
import { Coupon } from './coupon.interface'; import { Coupon } from './coupon.interface';
import { EnhancedSymbolProfile } from './enhanced-symbol-profile.interface';
import { Export } from './export.interface'; import { Export } from './export.interface';
import { FilterGroup } from './filter-group.interface'; import { FilterGroup } from './filter-group.interface';
import { Filter } from './filter.interface'; import { Filter } from './filter.interface';
@ -28,6 +29,7 @@ import { Position } from './position.interface';
import { BenchmarkResponse } from './responses/benchmark-response.interface'; import { BenchmarkResponse } from './responses/benchmark-response.interface';
import { ResponseError } from './responses/errors.interface'; import { ResponseError } from './responses/errors.interface';
import { PortfolioPerformanceResponse } from './responses/portfolio-performance-response.interface'; import { PortfolioPerformanceResponse } from './responses/portfolio-performance-response.interface';
import { ScraperConfiguration } from './scraper-configuration.interface';
import { TimelinePosition } from './timeline-position.interface'; import { TimelinePosition } from './timeline-position.interface';
import { UniqueAsset } from './unique-asset.interface'; import { UniqueAsset } from './unique-asset.interface';
import { UserSettings } from './user-settings.interface'; import { UserSettings } from './user-settings.interface';
@ -44,6 +46,7 @@ export {
Benchmark, Benchmark,
BenchmarkResponse, BenchmarkResponse,
Coupon, Coupon,
EnhancedSymbolProfile,
Export, Export,
Filter, Filter,
FilterGroup, FilterGroup,
@ -63,6 +66,7 @@ export {
PortfolioSummary, PortfolioSummary,
Position, Position,
ResponseError, ResponseError,
ScraperConfiguration,
TimelinePosition, TimelinePosition,
UniqueAsset, UniqueAsset,
User, User,

0
apps/api/src/services/data-provider/ghostfolio-scraper-api/interfaces/scraper-configuration.interface.ts → libs/common/src/lib/interfaces/scraper-configuration.interface.ts

Loading…
Cancel
Save