Kundenansicht P5: Shop-Anfrage im Abo-Modell (Unternehmer aus Kundenart)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-16 16:11:13 +00:00
1 parent b6f2df0d4a
commit 23252df359
3 files changed
+143 -6

No files matched your search

+16 -1
View File
@@ -8,6 +8,8 @@ import { isKundenansicht, logIfKundenansicht } from '../services/kundenansicht.j
import { createWriteLimiter } from '../services/writeLimiter.js'
import { anfrageAnsicht, ensureShopConfig, leseShopConfig, stelleAnfrage, zieheZurueck } from '../services/shop/anfrage.js'
import { shopFuerKunde } from '../services/shop/schalter.js'
import { kundenartWirksam } from '../services/kundenart.js'
import { neueAnsicht } from '../services/kundenansicht/schalter.js'
import { kontoAnlegen, kontoStatus, onboardingLink, statusAusKonto } from '../services/shop/connect.js'
import { bestellungKunde, bestellungLesen, csv as bestellungenCsv, erstatte, listeBestellungen, setzeStatus } from '../services/shop/bestellungen.js'
import { listeWiderrufe, markiereBearbeitet } from '../services/shop/widerrufe.js'
@@ -210,12 +212,25 @@ router.get('/status', requireSession, route(async (req, res) => {
res.json(antwort)
}))
/** Kundenart des Kundendokuments (leer oder unbekannt = privat) - nur der Server entscheidet, nie der Client; ein unbekannter Kunde ist privat. */
async function kundenartDesKunden(customerId) {
try {
return kundenartWirksam(await getDocument(config.collections.customers, customerId))
} catch (err) {
if (err?.status === 404) return 'privat'
throw err
}
}
router.post('/anfrage', requireSession, nurKunde, limitAnfrage, route(async (req, res) => {
const customerId = getSessionCustomerId(req)
const anfrage = await stelleAnfrage({
customerId: getSessionCustomerId(req),
customerId,
projectId: projectIdOf(req),
eingabe: req.body?.anfrage,
person: person(req),
// Abo-Modell (neue Ansicht): Unternehmer aus der Kundenart, privat nur_betrieb; sonst unveraendert (undefined)
kundenart: neueAnsicht(req) ? await kundenartDesKunden(customerId) : undefined,
})
res.json({ anfrage })
}))