Rechtstexte und K15: Prüfbefunde F5–F8 (AVV genauer, PDF-Prüfsumme, Unterlagen der vereinbarten Fassung)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2c059cb3d6
commit
90098726b9
13 files changed
+345
-63
No files matched your search
@@ -89,11 +89,21 @@ function funktionSatz(featureKey) {
|
||||
|
||||
/**
|
||||
* Anhaenge der Bestellmail einer Funktion in der aktuellen Fassung: termine => Satz 'termine', news => []. Wirft bei
|
||||
* unbekannter Funktion und bei fehlender Datei (der Aufrufer entscheidet, was dann geschieht).
|
||||
* unbekannter Funktion und bei fehlender Datei (der Aufrufer entscheidet, was dann geschieht). opts.fassung waehlt eine andere
|
||||
* (ausgelieferte) Fassung, etwa die, der ein Kunde bei der Bestellung zugestimmt hat; sonst gilt die aktuelle.
|
||||
*/
|
||||
export async function featureLegalAttachments(featureKey, opts) {
|
||||
export async function featureLegalAttachments(featureKey, { fassung, ...opts } = {}) {
|
||||
const satz = funktionSatz(featureKey)
|
||||
return satz ? legalPdfAttachments(satz, aktuelleFassung(satz), opts) : []
|
||||
return satz ? legalPdfAttachments(satz, fassung ?? aktuelleFassung(satz), opts) : []
|
||||
}
|
||||
|
||||
/**
|
||||
* Adressen der HTML-Seiten der Funktion ({ lb, avv, widerruf }, versioniert) in der aktuellen oder der gewaehlten Fassung
|
||||
* (opts.fassung); news => null. Wirft bei unbekannter Funktion oder ungueltiger Fassung.
|
||||
*/
|
||||
export function featureLegalPaths(featureKey, { fassung } = {}) {
|
||||
const satz = funktionSatz(featureKey)
|
||||
return satz ? legalPaths(satz, fassung ?? aktuelleFassung(satz)) : null
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,13 +126,13 @@ async function istLesbaresPdf(pfad) {
|
||||
/**
|
||||
* true, wenn alle Rechtsdokumente der Funktion in der aktuellen Fassung vorliegen: HTML-Seiten (die die Bestellseite
|
||||
* verlinkt) und PDFs (die Mail anhaengt; je PDF stat und die ersten fuenf Bytes, nicht der ganze Inhalt). Unbekannte
|
||||
* Funktion und jeder Lesefehler: false (fail-closed), nie ein Wurf.
|
||||
* Funktion und jeder Lesefehler: false (fail-closed), nie ein Wurf. opts.fassung prueft eine andere Fassung als die aktuelle.
|
||||
*/
|
||||
export async function featureLegalReady(featureKey) {
|
||||
export async function featureLegalReady(featureKey, { fassung } = {}) {
|
||||
try {
|
||||
const satz = funktionSatz(featureKey)
|
||||
if (!satz) return true
|
||||
const v = aktuelleFassung(satz)
|
||||
const v = fassung ?? aktuelleFassung(satz)
|
||||
await Promise.all(Object.values(legalPaths(satz, v)).map((adresse) => access(join(basisDir, adresse))))
|
||||
const lesbar = await Promise.all(Object.values(legalPdfFiles(satz, v)).map((f) => istLesbaresPdf(f.path)))
|
||||
return lesbar.every(Boolean)
|
||||
|
||||
Reference in new issue
Block a user