Browse Source

Refactoring

pull/3723/head
Thomas Kaul 12 months ago
parent
commit
dcc5ffe790
  1. 27
      apps/api/src/services/data-provider/manual/manual.service.ts
  2. 2
      apps/api/src/services/symbol-profile/symbol-profile.service.ts

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

@ -166,27 +166,26 @@ export class ManualService implements DataProviderInterface {
} }
}); });
const symbolProfilesWithScraperConfiguration = symbolProfiles.filter( const symbolProfilesWithScraperConfigurationAndInstantMode =
({ scraperConfiguration }) => { symbolProfiles.filter(({ scraperConfiguration }) => {
return !!scraperConfiguration?.url; return scraperConfiguration?.mode === 'instant';
} });
);
const scraperResultPromises = symbolProfilesWithScraperConfiguration.map( const scraperResultPromises =
({ scraperConfiguration, symbol }) => { symbolProfilesWithScraperConfigurationAndInstantMode.map(
return this.scrape(scraperConfiguration) async ({ scraperConfiguration, symbol }) => {
.then((marketPrice) => { try {
const marketPrice = await this.scrape(scraperConfiguration);
return { marketPrice, symbol }; return { marketPrice, symbol };
}) } catch (error) {
.catch((error) => {
Logger.error( Logger.error(
`Could not get quote for ${symbol} (${this.getName()}): [${error.name}] ${error.message}`, `Could not get quote for ${symbol} (${this.getName()}): [${error.name}] ${error.message}`,
'ManualService' 'ManualService'
); );
return { symbol, marketPrice: undefined }; return { symbol, marketPrice: undefined };
}); }
} }
); );
// Wait for all scraping requests to complete concurrently // Wait for all scraping requests to complete concurrently
const scraperResults = await Promise.all(scraperResultPromises); const scraperResults = await Promise.all(scraperResultPromises);

2
apps/api/src/services/symbol-profile/symbol-profile.service.ts

@ -275,6 +275,8 @@ export class SymbolProfileService {
headers: headers:
scraperConfiguration.headers as ScraperConfiguration['headers'], scraperConfiguration.headers as ScraperConfiguration['headers'],
locale: scraperConfiguration.locale as string, locale: scraperConfiguration.locale as string,
mode:
(scraperConfiguration.mode as ScraperConfiguration['mode']) ?? 'lazy',
selector: scraperConfiguration.selector as string, selector: scraperConfiguration.selector as string,
url: scraperConfiguration.url as string url: scraperConfiguration.url as string
}; };

Loading…
Cancel
Save