Files
Nick SzaunigandClaude Opus 5.5 804bb832ea
Docker-Images bauen und veroeffentlichen / build-and-push (push) Successful in 2m49s
feat: Team, Villa-Bilder und bestaetigte Camp-Eckdaten
- Team-Abschnitt mit neun Personen, Eric Heitz als Head of Modelcamp,
  Portraets im Rundbogen mit Initialen-Platzhaltern bis Fotos vorliegen
- Unterkunftsbilder der Villa La Chiesina lokal in public/images/unterkunft
  (vom Auftraggeber freigegeben), Hero-Leitbild, Ausstattung, Booking-Link
- Migration: Termin 08.05.-15.05.2027, Ort Arcidosso (Toskana), eigenes
  Bett im geteilten Zimmer, 13 Plaetze; Admin-Werte bleiben erhalten
- Reveal: kein Hydration-Fehler mehr bei reduzierter Bewegung
- Doku zu offenen Punkten aktualisiert

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-01 07:39:27 +02:00

39 lines
1.2 KiB
TypeScript

/**
* Testdaten NUR fuer Entwicklung und Staging, damit eine Stripe-Testbuchung
* sofort moeglich ist:
* - Preisphase "Early Bird" simuliert (wirkt nur mit Stripe-Testschluessel)
* - ein Test-Gutschein TEST-STAMMMODEL (nicht der Beispielcode aus dem Briefing)
*
* Verweigert den Lauf mit APP_ENV=production.
*/
import { getDb, CAMP_ID } from "@/lib/db";
try {
process.loadEnvFile();
} catch {
// Umgebung kommt aus dem Container.
}
if ((process.env.APP_ENV ?? "development") === "production") {
console.error("seed-dev laeuft nicht mit APP_ENV=production.");
process.exit(1);
}
const db = getDb();
try {
await db.camp.upsert({
where: { id: CAMP_ID },
// Termin und Ort setzt die Migration 20261001120000_camp_2027_bestaetigt.
create: { id: CAMP_ID, testPhaseOverride: "EARLY_BIRD" },
update: { testPhaseOverride: "EARLY_BIRD" },
});
await db.voucher.upsert({
where: { code: "TEST-STAMMMODEL" },
create: { code: "TEST-STAMMMODEL", maxRedemptions: 3, internalNote: "Entwicklung: Testgutschein" },
update: {},
});
console.log("Entwicklungsdaten gesetzt: Early Bird simuliert, Gutschein TEST-STAMMMODEL.");
} finally {
await db.$disconnect();
}