Assessor_2.0/src/importers/severity-from-score-registr...

29 lines
1.1 KiB
TypeScript

import type { CanonicalSeverity } from '../domain/canonical-model';
import {
pingCastleSeverityFromPoints,
PINGCASTLE_SEVERITY_FROM_POINTS_RULE_ID,
PINGCASTLE_SEVERITY_FROM_POINTS_RULE_VERSION
} from '../profiles/pingcastle/pingcastle-severity';
export interface SeverityFromScoreRule {
ruleId: string;
ruleVersion: string;
derive(score: number): CanonicalSeverity;
}
// Werkzeuge ohne eigenes Severity-Feld, deren Score deterministisch auf die
// kanonische Severity abgebildet werden darf. Nur hier eintragen, wenn eine
// versionierte, dokumentierte Herleitungsregel existiert (siehe die jeweilige
// pingcastle-severity.ts-artige Regeldatei) - kein Ad-hoc-Schwellenwert.
const severityFromScoreRules = new Map<string, SeverityFromScoreRule>([
['pingcastle', {
ruleId: PINGCASTLE_SEVERITY_FROM_POINTS_RULE_ID,
ruleVersion: PINGCASTLE_SEVERITY_FROM_POINTS_RULE_VERSION,
derive: pingCastleSeverityFromPoints
}]
]);
export function severityFromScoreRuleFor(toolId: string): SeverityFromScoreRule | undefined {
return severityFromScoreRules.get(toolId);
}