Browse Source

Eliminate getSymbolProfilesBySymbols() (#1912)

pull/1915/head
Thomas Kaul 1 year ago
committed by GitHub
parent
commit
e61b3b34a7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      apps/api/src/app/portfolio/portfolio.service.ts
  2. 7
      apps/api/src/services/data-gathering/data-gathering.service.ts
  3. 10
      apps/api/src/services/data-provider/google-sheets/google-sheets.service.ts
  4. 12
      apps/api/src/services/data-provider/manual/manual.service.ts
  5. 23
      apps/api/src/services/symbol-profile/symbol-profile.service.ts

13
apps/api/src/app/portfolio/portfolio.service.ts

@ -492,13 +492,10 @@ export class PortfolioService {
symbol: position.symbol
};
});
const symbols = currentPositions.positions.map(
(position) => position.symbol
);
const [dataProviderResponses, symbolProfiles] = await Promise.all([
this.dataProviderService.getQuotes(dataGatheringItems),
this.symbolProfileService.getSymbolProfilesBySymbols(symbols)
this.symbolProfileService.getSymbolProfiles(dataGatheringItems)
]);
const symbolProfileMap: { [symbol: string]: EnhancedSymbolProfile } = {};
@ -986,11 +983,13 @@ export class PortfolioService {
};
});
const symbols = positions.map((position) => position.symbol);
const [dataProviderResponses, symbolProfiles] = await Promise.all([
this.dataProviderService.getQuotes(dataGatheringItem),
this.symbolProfileService.getSymbolProfilesBySymbols(symbols)
this.symbolProfileService.getSymbolProfiles(
positions.map(({ dataSource, symbol }) => {
return { dataSource, symbol };
})
)
]);
const symbolProfileMap: { [symbol: string]: EnhancedSymbolProfile } = {};

7
apps/api/src/services/data-gathering/data-gathering.service.ts

@ -123,11 +123,8 @@ export class DataGatheringService {
const assetProfiles = await this.dataProviderService.getAssetProfiles(
uniqueAssets
);
const symbolProfiles =
await this.symbolProfileService.getSymbolProfilesBySymbols(
uniqueAssets.map(({ symbol }) => {
return symbol;
})
const symbolProfiles = await this.symbolProfileService.getSymbolProfiles(
uniqueAssets
);
for (const [symbol, assetProfile] of Object.entries(assetProfiles)) {

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

@ -109,8 +109,14 @@ export class GoogleSheetsService implements DataProviderInterface {
try {
const response: { [symbol: string]: IDataProviderResponse } = {};
const symbolProfiles =
await this.symbolProfileService.getSymbolProfilesBySymbols(aSymbols);
const symbolProfiles = await this.symbolProfileService.getSymbolProfiles(
aSymbols.map((symbol) => {
return {
symbol,
dataSource: this.getName()
};
})
);
const sheet = await this.getSheet({
sheetId: this.configurationService.get('GOOGLE_SHEETS_ID'),

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

@ -64,8 +64,9 @@ export class ManualService implements DataProviderInterface {
try {
const symbol = aSymbol;
const [symbolProfile] =
await this.symbolProfileService.getSymbolProfilesBySymbols([symbol]);
const [symbolProfile] = await this.symbolProfileService.getSymbolProfiles(
[{ symbol, dataSource: this.getName() }]
);
const { defaultMarketPrice, selector, url } =
symbolProfile.scraperConfiguration ?? {};
@ -128,8 +129,11 @@ export class ManualService implements DataProviderInterface {
}
try {
const symbolProfiles =
await this.symbolProfileService.getSymbolProfilesBySymbols(aSymbols);
const symbolProfiles = await this.symbolProfileService.getSymbolProfiles(
aSymbols.map((symbol) => {
return { symbol, dataSource: this.getName() };
})
);
const marketData = await this.prismaService.marketData.findMany({
distinct: ['symbol'],

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

@ -87,29 +87,6 @@ export class SymbolProfileService {
.then((symbolProfiles) => this.getSymbols(symbolProfiles));
}
/**
* @deprecated
*/
public async getSymbolProfilesBySymbols(
symbols: string[]
): Promise<EnhancedSymbolProfile[]> {
return this.prismaService.symbolProfile
.findMany({
include: {
_count: {
select: { Order: true }
},
SymbolProfileOverrides: true
},
where: {
symbol: {
in: symbols
}
}
})
.then((symbolProfiles) => this.getSymbols(symbolProfiles));
}
public updateSymbolProfile({
comment,
dataSource,

Loading…
Cancel
Save