Shop Review A M3: Eingangsbestaetigung G12 je Empfaengeradresse begrenzen (3 je Stunde)
Ueber die gemeinsame Empfaenger-Kappe (darfEmpfaenger) geht an dieselbe Adresse hoechstens dreimal je Stunde ein G12. Darueber hinaus wird der Widerruf trotzdem gespeichert und mit eingang beantwortet, es wird aber keine weitere Mail eingereiht (bestaetigungAt bleibt leer). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c6706f88ff
commit
45487d6c7e
2 files changed
+29
-2
No files matched your search
@@ -1,7 +1,7 @@
|
||||
import { config } from '../../config.js'
|
||||
import { createDocument, getDocument, listDocuments, Query, updateDocument } from '../appwriteAdmin.js'
|
||||
import { withLocks } from '../keyedLock.js'
|
||||
import { darfWiderrufsversuch, zaehle } from '../termine/limits.js'
|
||||
import { darfEmpfaenger, darfWiderrufsversuch, zaehle } from '../termine/limits.js'
|
||||
import { pruefeNow } from '../termine/util.js'
|
||||
import { datumKurz, uhrzeit } from '../termine/zeit.js'
|
||||
import { bestellDaten } from './bestellungen.js'
|
||||
@@ -147,8 +147,10 @@ export async function erfasseWiderruf(ctx, eingabe, { now = new Date(), ip } = {
|
||||
if (order) await verlaufErgaenzen(order.$id, now)
|
||||
|
||||
// G12: Eingangsbestaetigung auf dauerhaftem Datentraeger, sofort; bestaetigungAt nur, wenn die Warteschlange sie angenommen hat
|
||||
// Pro Empfaengeradresse hoechstens 3 je Stunde (gemeinsame Kappe der Funktionen): sonst liesse sich G12 als Mail-Relay an fremde
|
||||
// Adressen missbrauchen. Der Widerruf ist gespeichert und beantwortet, die Bestaetigung entfaellt dann (bestaetigungAt bleibt leer).
|
||||
try {
|
||||
const g12 = await anKaeufer('G12', ctx, order, { an: email, bookingId: doc.$id, name, bestellnummer, eingang: now, nachricht }, now)
|
||||
const g12 = !darfEmpfaenger(email.trim().toLowerCase(), now) ? null : await anKaeufer('G12', ctx, order, { an: email, bookingId: doc.$id, name, bestellnummer, eingang: now, nachricht }, now)
|
||||
if (g12?.ok) await updateDocument(col(), doc.$id, { bestaetigungAt: now.toISOString() })
|
||||
} catch (err) {
|
||||
console.warn(`[shop-widerrufe] G12 nicht bestätigt: ${err?.name}`)
|
||||
|
||||
Reference in new issue
Block a user