Gaestetexte/Datenschutz: Storno-Regel im Archiv, PDF-Pruefsumme, PDF-Kopfpruefung
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9a2a70b491
commit
ec320853ce
13 files changed
+124
-12
No files matched your search
@@ -66,9 +66,13 @@ export function legalPdfFiles(satz, version) {
|
||||
)
|
||||
}
|
||||
|
||||
/** Ein Anhang ist ein PDF: nicht leer und mit "%PDF-" am Anfang. */
|
||||
const istPdf = (inhalt) => inhalt.length >= 5 && inhalt.subarray(0, 5).toString('latin1') === '%PDF-'
|
||||
|
||||
/**
|
||||
* PDFs als Mail-Anhaenge in der Reihenfolge des Satzes (termine: lb, avv, widerruf; analyse: avv, lb); wirft, wenn eine
|
||||
* Datei fehlt oder nicht lesbar ist. ohne: Dokumente, die nicht angehaengt werden (sie muessen nicht vorhanden sein).
|
||||
* Datei fehlt, nicht lesbar, leer oder kein PDF ist (nie ein leerer oder falscher Anhang). ohne: Dokumente, die nicht
|
||||
* angehaengt werden (sie muessen nicht vorhanden sein).
|
||||
*/
|
||||
export async function legalPdfAttachments(satz, version, { ohne = [] } = {}) {
|
||||
const dateien = legalPdfFiles(satz, version)
|
||||
@@ -78,7 +82,11 @@ export async function legalPdfAttachments(satz, version, { ohne = [] } = {}) {
|
||||
return Promise.all(
|
||||
Object.entries(dateien)
|
||||
.filter(([doc]) => !ohne.includes(doc))
|
||||
.map(async ([, f]) => ({ filename: f.filename, content: await readFile(f.path), contentType: 'application/pdf' }))
|
||||
.map(async ([, f]) => {
|
||||
const content = await readFile(f.path)
|
||||
if (!istPdf(content)) throw new Error(`Rechtstexte: ${f.filename} ist leer oder kein PDF`)
|
||||
return { filename: f.filename, content, contentType: 'application/pdf' }
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -386,7 +386,7 @@ export const ZUSTIMMUNG_VORZEITIG = (name) =>
|
||||
+ 'Mir ist bekannt, dass mein Widerrufsrecht mit der vollständigen Erbringung der Leistung erlischt (§ 356 Abs. 5 Nr. 2 BGB). '
|
||||
+ 'Widerrufe ich vor der vollständigen Erbringung, schulde ich einen angemessenen Betrag für die bis dahin erbrachte Leistung (§ 357a Abs. 2 BGB).'
|
||||
|
||||
/** Pflicht-Haken, wenn der Betrieb Stornobedingungen hat. */
|
||||
/** Pflicht-Haken, wenn der Betrieb Stornobedingungen hat und die gebuchte Leistung einen Preis hat (bei kostenlosen Leistungen gibt es ihn nicht). */
|
||||
export const ZUSTIMMUNG_STORNO = 'Ich habe die Stornobedingungen gelesen.'
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user