Kundenansicht P5: Katalogfelder, consentAbo mit Hinweis und Unterlagen-Quelle im Funktionen-Register
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8e0d2b2736
commit
4bf1b67e67
4 files changed
+268
-1
No files matched your search
@@ -0,0 +1,32 @@
|
||||
import { config } from '../config.js'
|
||||
import { legalPaths } from './analyseLegal.js'
|
||||
|
||||
/**
|
||||
* Einzige Quelle der verlinkten Unterlagen im Abo-Modell (Katalog, Einschalt-Nachweis, Analyse). Blattmodul: importiert
|
||||
* nur config und analyseLegal.js. Liest bei jedem Aufruf (Tests aendern config zur Laufzeit). Task 15 (Fassung 6) stellt
|
||||
* nur diese Quelle um; die Aufrufer bleiben unveraendert.
|
||||
*/
|
||||
|
||||
const fassung = (unterlage) => (unterlage ? { version: unterlage.version, url: unterlage.url ?? '' } : null)
|
||||
|
||||
/**
|
||||
* Leistungsbeschreibung und AVV einer Funktion: { leistungsbeschreibung: { version, url } | null, avv: { version, url } | null }.
|
||||
* Funktionen aus dem Register: deren Eintraege; 'analyse': die versionierten Seiten aus legalPaths(config.analyse.avvVersion).
|
||||
* Ein unbekannter Schluessel ist ein Programmfehler (TypeError).
|
||||
*/
|
||||
export function unterlagenFuer(key) {
|
||||
if (key === 'analyse') {
|
||||
const version = config.analyse.avvVersion
|
||||
const pfade = legalPaths(version)
|
||||
return { leistungsbeschreibung: { version, url: pfade.lb }, avv: { version, url: pfade.avv } }
|
||||
}
|
||||
if (typeof key !== 'string' || !Object.hasOwn(config.features, key)) throw new TypeError(`Unbekannte Funktion: ${String(key)}`)
|
||||
const eintrag = config.features[key]
|
||||
return { leistungsbeschreibung: fassung(eintrag.leistungsbeschreibung), avv: fassung(eintrag.avv) }
|
||||
}
|
||||
|
||||
/** Unterlagen der Analyse fuer Nachweis und Mail: { avvVersion, legal: { lb, avv } } (Adressen der versionierten Seiten). */
|
||||
export function analyseUnterlagen() {
|
||||
const { leistungsbeschreibung, avv } = unterlagenFuer('analyse')
|
||||
return { avvVersion: avv.version, legal: { lb: leistungsbeschreibung.url, avv: avv.url } }
|
||||
}
|
||||
Reference in new issue
Block a user