import { RuleSettings } from '@ghostfolio/api/models/interfaces/rule-settings.interface'; import { Rule } from '@ghostfolio/api/models/rule'; import { UserSettings } from '@ghostfolio/common/interfaces'; import { Injectable } from '@nestjs/common'; @Injectable() export class RulesService { public constructor() {} public async evaluate( aRules: Rule[], aUserSettings: UserSettings ) { return aRules .filter((rule) => { return rule.getSettings(aUserSettings)?.isActive; }) .map((rule) => { const evaluationResult = rule.evaluate(rule.getSettings(aUserSettings)); return { ...evaluationResult, name: rule.getName() }; }); } }