| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -24,6 +24,7 @@ import { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Injectable, Logger } from '@nestjs/common'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { DataSource, SymbolProfile } from '@prisma/client'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { addDays, format, isSameDay } from 'date-fns'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { uniqBy } from 'lodash'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import YahooFinance from 'yahoo-finance2'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { ChartResultArray } from 'yahoo-finance2/esm/src/modules/chart'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -290,7 +291,9 @@ export class YahooFinanceService implements DataProviderInterface { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      try { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        marketData = await this.yahooFinance.quote( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          quotes.map(({ symbol }) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          uniqBy(quotes, ({ symbol }) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return symbol; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }).map(({ symbol }) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return symbol; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ); | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -300,35 +303,35 @@ export class YahooFinanceService implements DataProviderInterface { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      for (const marketDataItem of marketData) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        const quote = quotes.find((currentQuote) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          return currentQuote.symbol === marketDataItem.symbol; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        const symbol = | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          this.yahooFinanceDataEnhancerService.convertFromYahooFinanceSymbol( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            marketDataItem.symbol | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      for (const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        currency, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        longName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        quoteType, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        shortName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        symbol | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } of marketData) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        const { assetClass, assetSubClass } = | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          this.yahooFinanceDataEnhancerService.parseAssetClass({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            quoteType: quote.quoteType, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            shortName: quote.shortname | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            quoteType, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            shortName | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        items.push({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          assetClass, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          assetSubClass, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          symbol, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          currency: marketDataItem.currency, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          currency, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          dataProviderInfo: this.getDataProviderInfo(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          dataSource: this.getName(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          name: this.yahooFinanceDataEnhancerService.formatName({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            longName: quote.longname, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            quoteType: quote.quoteType, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            shortName: quote.shortname, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            symbol: quote.symbol | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            longName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            quoteType, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            shortName, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            symbol | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          }), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          symbol: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            this.yahooFinanceDataEnhancerService.convertFromYahooFinanceSymbol( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					              symbol | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } catch (error) { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |