Browse Source

feat(lib): move data provider response interface to common

pull/5925/head
KenTandrian 2 months ago
parent
commit
c34829b226
  1. 2
      apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts
  2. 2
      apps/api/src/app/exchange-rate/exchange-rate.controller.ts
  3. 2
      apps/api/src/app/symbol/symbol.controller.ts
  4. 6
      apps/api/src/app/symbol/symbol.service.ts
  5. 8
      apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts
  6. 8
      apps/api/src/services/data-provider/coingecko/coingecko.service.ts
  7. 8
      apps/api/src/services/data-provider/data-provider.service.ts
  8. 8
      apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts
  9. 8
      apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts
  10. 8
      apps/api/src/services/data-provider/ghostfolio/ghostfolio.service.ts
  11. 8
      apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts
  12. 8
      apps/api/src/services/data-provider/interfaces/data-provider.interface.ts
  13. 8
      apps/api/src/services/data-provider/manual/manual.service.ts
  14. 8
      apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts
  15. 8
      apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts
  16. 20
      apps/api/src/services/interfaces/interfaces.ts
  17. 2
      apps/client/src/app/services/admin.service.ts
  18. 2
      apps/client/src/app/services/data.service.ts
  19. 16
      libs/common/src/lib/interfaces/responses/data-provider-response.interface.ts
  20. 2
      libs/common/src/lib/interfaces/responses/dividends-response.interface.ts
  21. 2
      libs/common/src/lib/interfaces/responses/historical-response.interface.ts
  22. 2
      libs/common/src/lib/interfaces/responses/quotes-response.interface.ts

2
apps/api/src/app/endpoints/data-providers/ghostfolio/ghostfolio.service.ts

@ -8,7 +8,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import {
@ -25,6 +24,7 @@ import {
LookupResponse,
QuotesResponse
} from '@ghostfolio/common/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { UserWithSettings } from '@ghostfolio/common/types';
import { Injectable, Logger } from '@nestjs/common';

2
apps/api/src/app/exchange-rate/exchange-rate.controller.ts

@ -1,5 +1,5 @@
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard';
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import {
Controller,

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

@ -1,8 +1,8 @@
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard';
import { TransformDataSourceInRequestInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-request/transform-data-source-in-request.interceptor';
import { TransformDataSourceInResponseInterceptor } from '@ghostfolio/api/interceptors/transform-data-source-in-response/transform-data-source-in-response.interceptor';
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { LookupResponse } from '@ghostfolio/common/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import type { RequestWithUser } from '@ghostfolio/common/types';
import {

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

@ -1,14 +1,12 @@
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service';
import {
DataGatheringItem,
DataProviderHistoricalResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { DataGatheringItem } from '@ghostfolio/api/services/interfaces/interfaces';
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import {
HistoricalDataItem,
LookupResponse
} from '@ghostfolio/common/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { UserWithSettings } from '@ghostfolio/common/types';
import { Injectable, Logger } from '@nestjs/common';

8
apps/api/src/services/data-provider/alpha-vantage/alpha-vantage.service.ts

@ -7,16 +7,16 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import {
DataProviderInfo,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';

8
apps/api/src/services/data-provider/coingecko/coingecko.service.ts

@ -7,10 +7,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import {
@ -18,6 +14,10 @@ import {
LookupItem,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable, Logger } from '@nestjs/common';
import {

8
apps/api/src/services/data-provider/data-provider.service.ts

@ -1,10 +1,6 @@
import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service';
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { DataProviderInterface } from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
@ -26,6 +22,10 @@ import {
LookupItem,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import type { Granularity, UserWithSettings } from '@ghostfolio/common/types';
import { Inject, Injectable, Logger, OnModuleInit } from '@nestjs/common';

8
apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts

@ -7,10 +7,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import {
DEFAULT_CURRENCY,
@ -22,6 +18,10 @@ import {
LookupItem,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { MarketState } from '@ghostfolio/common/types';
import { Injectable, Logger } from '@nestjs/common';

8
apps/api/src/services/data-provider/financial-modeling-prep/financial-modeling-prep.service.ts

@ -8,10 +8,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import {
DEFAULT_CURRENCY,
@ -23,6 +19,10 @@ import {
LookupItem,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { MarketState } from '@ghostfolio/common/types';
import { Injectable, Logger } from '@nestjs/common';

8
apps/api/src/services/data-provider/ghostfolio/ghostfolio.service.ts

@ -8,10 +8,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { PropertyService } from '@ghostfolio/api/services/property/property.service';
import {
HEADER_KEY_TOKEN,
@ -26,6 +22,10 @@ import {
LookupResponse,
QuotesResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';

8
apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts

@ -7,10 +7,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import { DATE_FORMAT, parseDate } from '@ghostfolio/common/helper';
@ -18,6 +14,10 @@ import {
DataProviderInfo,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';

8
apps/api/src/services/data-provider/interfaces/data-provider.interface.ts

@ -1,11 +1,11 @@
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import {
DataProviderInfo,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Granularity } from '@ghostfolio/common/types';
import { DataSource, SymbolProfile } from '@prisma/client';

8
apps/api/src/services/data-provider/manual/manual.service.ts

@ -7,10 +7,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { PrismaService } from '@ghostfolio/api/services/prisma/prisma.service';
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service';
import {
@ -23,6 +19,10 @@ import {
LookupResponse,
ScraperConfiguration
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';

8
apps/api/src/services/data-provider/rapid-api/rapid-api.service.ts

@ -7,10 +7,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import {
ghostfolioFearAndGreedIndexSymbol,
ghostfolioFearAndGreedIndexSymbolStocks
@ -20,6 +16,10 @@ import {
DataProviderInfo,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';

8
apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts

@ -9,10 +9,6 @@ import {
GetQuotesParams,
GetSearchParams
} from '@ghostfolio/api/services/data-provider/interfaces/data-provider.interface';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/api/services/interfaces/interfaces';
import { DEFAULT_CURRENCY } from '@ghostfolio/common/config';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import {
@ -20,6 +16,10 @@ import {
LookupItem,
LookupResponse
} from '@ghostfolio/common/interfaces';
import {
DataProviderHistoricalResponse,
DataProviderResponse
} from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { Injectable, Logger } from '@nestjs/common';
import { DataSource, SymbolProfile } from '@prisma/client';

20
apps/api/src/services/interfaces/interfaces.ts

@ -1,22 +1,4 @@
import {
AssetProfileIdentifier,
DataProviderInfo
} from '@ghostfolio/common/interfaces';
import { MarketState } from '@ghostfolio/common/types';
import { DataSource } from '@prisma/client';
export interface DataProviderHistoricalResponse {
marketPrice: number;
}
export interface DataProviderResponse {
currency: string;
dataProviderInfo?: DataProviderInfo;
dataSource: DataSource;
marketPrice: number;
marketState: MarketState;
}
import { AssetProfileIdentifier } from '@ghostfolio/common/interfaces';
export interface DataGatheringItem extends AssetProfileIdentifier {
date?: Date;

2
apps/client/src/app/services/admin.service.ts

@ -1,7 +1,6 @@
import { UpdateAssetProfileDto } from '@ghostfolio/api/app/admin/update-asset-profile.dto';
import { CreatePlatformDto } from '@ghostfolio/api/app/platform/create-platform.dto';
import { UpdatePlatformDto } from '@ghostfolio/api/app/platform/update-platform.dto';
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import {
HEADER_KEY_SKIP_INTERCEPTOR,
HEADER_KEY_TOKEN
@ -17,6 +16,7 @@ import {
EnhancedSymbolProfile,
Filter
} from '@ghostfolio/common/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { DateRange } from '@ghostfolio/common/types';
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';

2
apps/client/src/app/services/data.service.ts

@ -15,7 +15,6 @@ import { DeleteOwnUserDto } from '@ghostfolio/api/app/user/delete-own-user.dto';
import { UserItem } from '@ghostfolio/api/app/user/interfaces/user-item.interface';
import { UpdateOwnAccessTokenDto } from '@ghostfolio/api/app/user/update-own-access-token.dto';
import { UpdateUserSettingDto } from '@ghostfolio/api/app/user/update-user-setting.dto';
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { PropertyDto } from '@ghostfolio/api/services/property/property.dto';
import { DATE_FORMAT } from '@ghostfolio/common/helper';
import {
@ -52,6 +51,7 @@ import {
User,
WatchlistResponse
} from '@ghostfolio/common/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
import { filterGlobalPermissions } from '@ghostfolio/common/permissions';
import type {
AccountWithValue,

16
libs/common/src/lib/interfaces/responses/data-provider-response.interface.ts

@ -0,0 +1,16 @@
import { DataProviderInfo } from '@ghostfolio/common/interfaces';
import { MarketState } from '@ghostfolio/common/types';
import { DataSource } from '@prisma/client';
export interface DataProviderHistoricalResponse {
marketPrice: number;
}
export interface DataProviderResponse {
currency: string;
dataProviderInfo?: DataProviderInfo;
dataSource: DataSource;
marketPrice: number;
marketState: MarketState;
}

2
libs/common/src/lib/interfaces/responses/dividends-response.interface.ts

@ -1,4 +1,4 @@
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
export interface DividendsResponse {
dividends: {

2
libs/common/src/lib/interfaces/responses/historical-response.interface.ts

@ -1,4 +1,4 @@
import { DataProviderHistoricalResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { DataProviderHistoricalResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
export interface HistoricalResponse {
historicalData: {

2
libs/common/src/lib/interfaces/responses/quotes-response.interface.ts

@ -1,4 +1,4 @@
import { DataProviderResponse } from '@ghostfolio/api/services/interfaces/interfaces';
import { DataProviderResponse } from '@ghostfolio/common/interfaces/responses/data-provider-response.interface';
export interface QuotesResponse {
quotes: { [symbol: string]: DataProviderResponse };

Loading…
Cancel
Save