Buchungskalender: Abschluss – Kleinigkeiten Server (Betrag/Waehrung, Erstattungs-Webhook, Obergrenze, Zaehler, Cache, Kommentare, Setup-Check)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
knsoandClaude Opus 5.5 committed 2026-10-07 15:29:55 +00:00
1 parent 6d35674c1e
commit 1d9515823c
13 files changed
+123 -14

No files matched your search

+2 -1
View File
@@ -6,7 +6,7 @@ import { istTag, naechte } from './datum.js'
import { istFrei } from './belegung.js'
import { UkFehler } from './fehler.js'
import * as mails from './mails.js'
import { berechnePreis, preiseVollstaendig, pruefePosten, summiere } from './preis.js'
import { BRUTTO_MAX_CENT, berechnePreis, preiseVollstaendig, pruefePosten, summiere } from './preis.js'
import { stelleAus } from './rechnungen.js'
import { aktualisiereAnfrage, ladeAnfrage, findeRechnung, ladeEinstellungen, ladePreise, ladeRechnung, ladeUnterkunft, legeAnfrageDokAn, listeAnfragen, listeAnfragenAlle } from './speicher.js'
import { linkGueltig, neuesToken, tokenPasst } from './token.js'
@@ -137,6 +137,7 @@ export async function gibFrei(ctx, anfrageId, { posten, fristTage, nachricht, no
const steuerart = preise?.steuerart ?? 'regel'
const summen = { ...summiere(sauber, steuerart), steuerart }
if (!(summen.bruttoCent > 0)) throw new UkFehler(400, 'ungueltig', { posten: 'Die Summe muss größer als 0 sein.' })
if (summen.bruttoCent > BRUTTO_MAX_CENT) throw new UkFehler(400, 'ungueltig', { posten: 'Die Summe ist zu hoch.' })
if (!(await istFrei(a.unterkunftId, a.von, a.bis, { ohneAnfrage: a.$id, now }))) throw new UkFehler(409, 'zeitraum_belegt')
const tage = Number.isInteger(fristTage) && fristTage >= 1 ? fristTage : preise?.fristTage || 3
const { token, hash } = neuesToken()