parent
50dbbf0569
commit
b51255a543
@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- Added support to override the url of an asset profile in the asset profile details dialog of the admin control
|
- Added support to override the url of an asset profile in the asset profile details dialog of the admin control
|
||||||
- Added the asset profile icon to the asset profile details dialog of the admin control
|
- Added the asset profile icon to the asset profile details dialog of the admin control
|
||||||
- Added the platform icon to the create or update platform dialog of the admin control
|
- Added the platform icon to the create or update platform dialog of the admin control
|
||||||
|
- Extended the rules in the _X-ray_ section by a `key`
|
||||||
- Extended the content of the _Self-Hosting_ section by the data providers on the Frequently Asked Questions (FAQ) page
|
- Extended the content of the _Self-Hosting_ section by the data providers on the Frequently Asked Questions (FAQ) page
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
@ -17,8 +17,16 @@ export class RulesService {
|
|||||||
return rule.getSettings(aUserSettings)?.isActive;
|
return rule.getSettings(aUserSettings)?.isActive;
|
||||||
})
|
})
|
||||||
.map((rule) => {
|
.map((rule) => {
|
||||||
const evaluationResult = rule.evaluate(rule.getSettings(aUserSettings));
|
const { evaluation, value } = rule.evaluate(
|
||||||
return { ...evaluationResult, name: rule.getName() };
|
rule.getSettings(aUserSettings)
|
||||||
|
);
|
||||||
|
|
||||||
|
return {
|
||||||
|
evaluation,
|
||||||
|
value,
|
||||||
|
key: rule.getKey(),
|
||||||
|
name: rule.getName()
|
||||||
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,19 +7,27 @@ import { EvaluationResult } from './interfaces/evaluation-result.interface';
|
|||||||
import { RuleInterface } from './interfaces/rule.interface';
|
import { RuleInterface } from './interfaces/rule.interface';
|
||||||
|
|
||||||
export abstract class Rule<T extends RuleSettings> implements RuleInterface<T> {
|
export abstract class Rule<T extends RuleSettings> implements RuleInterface<T> {
|
||||||
|
private key: string;
|
||||||
private name: string;
|
private name: string;
|
||||||
|
|
||||||
public constructor(
|
public constructor(
|
||||||
protected exchangeRateDataService: ExchangeRateDataService,
|
protected exchangeRateDataService: ExchangeRateDataService,
|
||||||
{
|
{
|
||||||
|
key,
|
||||||
name
|
name
|
||||||
}: {
|
}: {
|
||||||
|
key: string;
|
||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
|
this.key = key;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getKey() {
|
||||||
|
return this.key;
|
||||||
|
}
|
||||||
|
|
||||||
public getName() {
|
public getName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ export class AccountClusterRiskCurrentInvestment extends Rule<Settings> {
|
|||||||
accounts: PortfolioDetails['accounts']
|
accounts: PortfolioDetails['accounts']
|
||||||
) {
|
) {
|
||||||
super(exchangeRateDataService, {
|
super(exchangeRateDataService, {
|
||||||
|
key: AccountClusterRiskCurrentInvestment.name,
|
||||||
name: 'Investment'
|
name: 'Investment'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ export class AccountClusterRiskSingleAccount extends Rule<RuleSettings> {
|
|||||||
accounts: PortfolioDetails['accounts']
|
accounts: PortfolioDetails['accounts']
|
||||||
) {
|
) {
|
||||||
super(exchangeRateDataService, {
|
super(exchangeRateDataService, {
|
||||||
|
key: AccountClusterRiskSingleAccount.name,
|
||||||
name: 'Single Account'
|
name: 'Single Account'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ export class CurrencyClusterRiskBaseCurrencyCurrentInvestment extends Rule<Setti
|
|||||||
positions: TimelinePosition[]
|
positions: TimelinePosition[]
|
||||||
) {
|
) {
|
||||||
super(exchangeRateDataService, {
|
super(exchangeRateDataService, {
|
||||||
|
key: CurrencyClusterRiskBaseCurrencyCurrentInvestment.name,
|
||||||
name: 'Investment: Base Currency'
|
name: 'Investment: Base Currency'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule<Settings> {
|
|||||||
positions: TimelinePosition[]
|
positions: TimelinePosition[]
|
||||||
) {
|
) {
|
||||||
super(exchangeRateDataService, {
|
super(exchangeRateDataService, {
|
||||||
|
key: CurrencyClusterRiskCurrentInvestment.name,
|
||||||
name: 'Investment'
|
name: 'Investment'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ export class EmergencyFundSetup extends Rule<Settings> {
|
|||||||
emergencyFund: number
|
emergencyFund: number
|
||||||
) {
|
) {
|
||||||
super(exchangeRateDataService, {
|
super(exchangeRateDataService, {
|
||||||
|
key: EmergencyFundSetup.name,
|
||||||
name: 'Emergency Fund: Set up'
|
name: 'Emergency Fund: Set up'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ export class FeeRatioInitialInvestment extends Rule<Settings> {
|
|||||||
fees: number
|
fees: number
|
||||||
) {
|
) {
|
||||||
super(exchangeRateDataService, {
|
super(exchangeRateDataService, {
|
||||||
|
key: FeeRatioInitialInvestment.name,
|
||||||
name: 'Fee Ratio'
|
name: 'Fee Ratio'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user