Browse Source

address pr comments

pull/4271/head
Shaunak Das 7 months ago
parent
commit
5d9cd8220f
  1. 8
      apps/api/src/app/portfolio/portfolio.service.ts
  2. 6
      apps/api/src/app/user/user.service.ts
  3. 6
      apps/api/src/models/interfaces/rule-settings.interface.ts
  4. 7
      apps/api/src/models/rules/regional-market-cluster-risk/europe.ts
  5. 7
      apps/api/src/models/rules/regional-market-cluster-risk/interfaces/rule-settings.interface.ts
  6. 1
      libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts

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

@ -1279,15 +1279,15 @@ export class PortfolioService {
summary.ordersCount > 0 summary.ordersCount > 0
? await this.rulesService.evaluate( ? await this.rulesService.evaluate(
[ [
new RegionalMarketClusterRiskNorthAmerica( new RegionalMarketClusterRiskEurope(
this.exchangeRateDataService, this.exchangeRateDataService,
marketsAdvancedTotalInBaseCurrency, marketsAdvancedTotalInBaseCurrency,
marketsAdvanced.northAmerica.valueInBaseCurrency marketsAdvanced.europe.valueInBaseCurrency
), ),
new RegionalMarketClusterRiskEurope( new RegionalMarketClusterRiskNorthAmerica(
this.exchangeRateDataService, this.exchangeRateDataService,
marketsAdvancedTotalInBaseCurrency, marketsAdvancedTotalInBaseCurrency,
marketsAdvanced.europe.valueInBaseCurrency marketsAdvanced.northAmerica.valueInBaseCurrency
) )
], ],
userSettings userSettings

6
apps/api/src/app/user/user.service.ts

@ -13,6 +13,7 @@ import { EconomicMarketClusterRiskDevelopedMarkets } from '@ghostfolio/api/model
import { EconomicMarketClusterRiskEmergingMarkets } from '@ghostfolio/api/models/rules/economic-market-cluster-risk/emerging-markets'; import { EconomicMarketClusterRiskEmergingMarkets } from '@ghostfolio/api/models/rules/economic-market-cluster-risk/emerging-markets';
import { EmergencyFundSetup } from '@ghostfolio/api/models/rules/emergency-fund/emergency-fund-setup'; import { EmergencyFundSetup } from '@ghostfolio/api/models/rules/emergency-fund/emergency-fund-setup';
import { FeeRatioInitialInvestment } from '@ghostfolio/api/models/rules/fees/fee-ratio-initial-investment'; import { FeeRatioInitialInvestment } from '@ghostfolio/api/models/rules/fees/fee-ratio-initial-investment';
import { RegionalMarketClusterRiskEurope } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/europe';
import { RegionalMarketClusterRiskNorthAmerica } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/north-america'; import { RegionalMarketClusterRiskNorthAmerica } from '@ghostfolio/api/models/rules/regional-market-cluster-risk/north-america';
import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service'; import { ConfigurationService } from '@ghostfolio/api/services/configuration/configuration.service';
import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service'; import { I18nService } from '@ghostfolio/api/services/i18n/i18n.service';
@ -270,6 +271,11 @@ export class UserService {
undefined, undefined,
undefined undefined
).getSettings(user.Settings.settings), ).getSettings(user.Settings.settings),
RegionalMarketClusterRiskEurope: new RegionalMarketClusterRiskEurope(
undefined,
undefined,
undefined
).getSettings(user.Settings.settings),
RegionalMarketClusterRiskNorthAmerica: RegionalMarketClusterRiskNorthAmerica:
new RegionalMarketClusterRiskNorthAmerica( new RegionalMarketClusterRiskNorthAmerica(
undefined, undefined,

6
apps/api/src/models/interfaces/rule-settings.interface.ts

@ -1,9 +1,3 @@
export interface RuleSettings { export interface RuleSettings {
isActive: boolean; isActive: boolean;
} }
export interface Settings extends RuleSettings {
baseCurrency: string;
thresholdMin: number;
thresholdMax: number;
}

7
apps/api/src/models/rules/regional-market-cluster-risk/europe.ts

@ -1,8 +1,9 @@
import { Settings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
import { Rule } from '@ghostfolio/api/models/rule'; import { Rule } from '@ghostfolio/api/models/rule';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
import { UserSettings } from '@ghostfolio/common/interfaces'; import { UserSettings } from '@ghostfolio/common/interfaces';
import { Settings } from './interfaces/rule-settings.interface';
export class RegionalMarketClusterRiskEurope extends Rule<Settings> { export class RegionalMarketClusterRiskEurope extends Rule<Settings> {
private currentValueInBaseCurrency: number; private currentValueInBaseCurrency: number;
private europeValueInBaseCurrency: number; private europeValueInBaseCurrency: number;
@ -10,7 +11,7 @@ export class RegionalMarketClusterRiskEurope extends Rule<Settings> {
public constructor( public constructor(
protected exchangeRateDataService: ExchangeRateDataService, protected exchangeRateDataService: ExchangeRateDataService,
currentValueInBaseCurrency: number, currentValueInBaseCurrency: number,
valueInBaseCurrency: number europeValueInBaseCurrency: number
) { ) {
super(exchangeRateDataService, { super(exchangeRateDataService, {
key: RegionalMarketClusterRiskEurope.name, key: RegionalMarketClusterRiskEurope.name,
@ -18,7 +19,7 @@ export class RegionalMarketClusterRiskEurope extends Rule<Settings> {
}); });
this.currentValueInBaseCurrency = currentValueInBaseCurrency; this.currentValueInBaseCurrency = currentValueInBaseCurrency;
this.europeValueInBaseCurrency = valueInBaseCurrency; this.europeValueInBaseCurrency = europeValueInBaseCurrency;
} }
public evaluate(ruleSettings: Settings) { public evaluate(ruleSettings: Settings) {

7
apps/api/src/models/rules/regional-market-cluster-risk/interfaces/rule-settings.interface.ts

@ -0,0 +1,7 @@
import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface';
export interface Settings extends RuleSettings {
baseCurrency: string;
thresholdMin: number;
thresholdMax: number;
}

1
libs/common/src/lib/interfaces/x-ray-rules-settings.interface.ts

@ -9,6 +9,7 @@ export interface XRayRulesSettings {
EconomicMarketClusterRiskEmergingMarkets?: RuleSettings; EconomicMarketClusterRiskEmergingMarkets?: RuleSettings;
EmergencyFundSetup?: RuleSettings; EmergencyFundSetup?: RuleSettings;
FeeRatioInitialInvestment?: RuleSettings; FeeRatioInitialInvestment?: RuleSettings;
RegionalMarketClusterRiskEurope?: RuleSettings;
RegionalMarketClusterRiskNorthAmerica?: RuleSettings; RegionalMarketClusterRiskNorthAmerica?: RuleSettings;
} }

Loading…
Cancel
Save