Feature/improve premium data provider handling in getQuotes() (#4590)

* Improve premium data provider handling in getQuotes()
This commit is contained in:
Thomas Kaul 2025-04-23 20:15:11 +02:00 committed by GitHub
parent dfa940c1b4
commit 56fcafaa12
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,6 +18,7 @@ import {
DATE_FORMAT,
getCurrencyFromSymbol,
getStartOfUtcDate,
isCurrency,
isDerivedCurrency
} from '@ghostfolio/common/helper';
import {
@ -468,17 +469,21 @@ export class DataProviderService {
)) {
const dataProvider = this.getDataProvider(DataSource[dataSource]);
if (
dataProvider.getDataProviderInfo().isPremium &&
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') &&
user?.subscription.type === 'Basic'
) {
continue;
}
const symbols = assetProfileIdentifiers
.filter(({ symbol }) => {
return !isDerivedCurrency(getCurrencyFromSymbol(symbol));
if (isCurrency(getCurrencyFromSymbol(symbol))) {
// Keep non-derived currencies
return !isDerivedCurrency(getCurrencyFromSymbol(symbol));
} else if (
dataProvider.getDataProviderInfo().isPremium &&
this.configurationService.get('ENABLE_FEATURE_SUBSCRIPTION') &&
user?.subscription.type === 'Basic'
) {
// Skip symbols of Premium data providers for users without subscription
return false;
}
return true;
})
.map(({ symbol }) => {
return symbol;