|
|
@ -1,14 +1,8 @@ |
|
|
import { SymbolService } from '@ghostfolio/api/app/symbol/symbol.service'; |
|
|
import { SymbolService } from '@ghostfolio/api/app/symbol/symbol.service'; |
|
|
import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator'; |
|
|
import { HasPermission } from '@ghostfolio/api/decorators/has-permission.decorator'; |
|
|
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'; |
|
|
import { HasPermissionGuard } from '@ghostfolio/api/guards/has-permission.guard'; |
|
|
import { DataProviderService } from '@ghostfolio/api/services/data-provider/data-provider.service'; |
|
|
|
|
|
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service'; |
|
|
import { MarketDataService } from '@ghostfolio/api/services/market-data/market-data.service'; |
|
|
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service'; |
|
|
import { SymbolProfileService } from '@ghostfolio/api/services/symbol-profile/symbol-profile.service'; |
|
|
import { |
|
|
|
|
|
ghostfolioFearAndGreedIndexDataSourceCryptocurrencies, |
|
|
|
|
|
ghostfolioFearAndGreedIndexSymbolCryptocurrencies, |
|
|
|
|
|
ghostfolioFearAndGreedIndexSymbolStocks |
|
|
|
|
|
} from '@ghostfolio/common/config'; |
|
|
|
|
|
import { UpdateBulkMarketDataDto } from '@ghostfolio/common/dtos'; |
|
|
import { UpdateBulkMarketDataDto } from '@ghostfolio/common/dtos'; |
|
|
import { getCurrencyFromSymbol, isCurrency } from '@ghostfolio/common/helper'; |
|
|
import { getCurrencyFromSymbol, isCurrency } from '@ghostfolio/common/helper'; |
|
|
import { MarketDataOfMarketsResponse } from '@ghostfolio/common/interfaces'; |
|
|
import { MarketDataOfMarketsResponse } from '@ghostfolio/common/interfaces'; |
|
|
@ -36,7 +30,6 @@ import { getReasonPhrase, StatusCodes } from 'http-status-codes'; |
|
|
@Controller('market-data') |
|
|
@Controller('market-data') |
|
|
export class MarketDataController { |
|
|
export class MarketDataController { |
|
|
public constructor( |
|
|
public constructor( |
|
|
private readonly dataProviderService: DataProviderService, |
|
|
|
|
|
private readonly marketDataService: MarketDataService, |
|
|
private readonly marketDataService: MarketDataService, |
|
|
@Inject(REQUEST) private readonly request: RequestWithUser, |
|
|
@Inject(REQUEST) private readonly request: RequestWithUser, |
|
|
private readonly symbolProfileService: SymbolProfileService, |
|
|
private readonly symbolProfileService: SymbolProfileService, |
|
|
@ -50,39 +43,9 @@ export class MarketDataController { |
|
|
@Query('includeHistoricalData', new ParseIntPipe({ optional: true })) |
|
|
@Query('includeHistoricalData', new ParseIntPipe({ optional: true })) |
|
|
includeHistoricalData = 0 |
|
|
includeHistoricalData = 0 |
|
|
): Promise<MarketDataOfMarketsResponse> { |
|
|
): Promise<MarketDataOfMarketsResponse> { |
|
|
const [ |
|
|
return this.symbolService.getMarketDataOfMarkets({ |
|
|
marketDataFearAndGreedIndexCryptocurrencies, |
|
|
includeHistoricalData |
|
|
marketDataFearAndGreedIndexStocks |
|
|
}); |
|
|
] = await Promise.all([ |
|
|
|
|
|
this.symbolService.get({ |
|
|
|
|
|
includeHistoricalData, |
|
|
|
|
|
dataGatheringItem: { |
|
|
|
|
|
dataSource: ghostfolioFearAndGreedIndexDataSourceCryptocurrencies, |
|
|
|
|
|
symbol: ghostfolioFearAndGreedIndexSymbolCryptocurrencies |
|
|
|
|
|
}, |
|
|
|
|
|
useIntradayData: true |
|
|
|
|
|
}), |
|
|
|
|
|
this.symbolService.get({ |
|
|
|
|
|
includeHistoricalData, |
|
|
|
|
|
dataGatheringItem: { |
|
|
|
|
|
dataSource: |
|
|
|
|
|
this.dataProviderService.getDataSourceForFearAndGreedIndexStocks(), |
|
|
|
|
|
symbol: ghostfolioFearAndGreedIndexSymbolStocks |
|
|
|
|
|
}, |
|
|
|
|
|
useIntradayData: true |
|
|
|
|
|
}) |
|
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
|
|
return { |
|
|
|
|
|
fearAndGreedIndex: { |
|
|
|
|
|
CRYPTOCURRENCIES: { |
|
|
|
|
|
...marketDataFearAndGreedIndexCryptocurrencies |
|
|
|
|
|
}, |
|
|
|
|
|
STOCKS: { |
|
|
|
|
|
...marketDataFearAndGreedIndexStocks |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Post(':dataSource/:symbol') |
|
|
@Post(':dataSource/:symbol') |
|
|
|