Files
formeleon/docs/dev-guide.md
T

1.7 KiB

Developer Guide & Local Emulation

1. Local Auth Bypass (Zitadel-Dummy)

Für die lokale Entwicklung auf 127.0.0.1 oder benutzerdefinierten Dev-Domains kann die OIDC-Authentifizierung umgangen werden.

In der .env:

DEV_MODE=true
DEV_USER_ROLE=admin
DEV_TENANT_ID=tenant_dev_123

Ist DEV_MODE=true gesetzt, injiziert die Middleware automatisch eine Mock-Session für den angegebenen Dev-User, ohne Redirects zu Zitadel auszuführen.


2. reCAPTCHA v3 Mocking

Im Dev-Modus wird die Google reCAPTCHA API nicht kontaktiert.

  • Erfolg-Simulation: Standardmäßig gibt der Mock-Service einen Score von 0.9 zurück.
  • Fehlschlag-Simulation: Durch Setzen von MOCK_RECAPTCHA_SCORE=0.1 in der .env kann das Abweisen von Spam-Submissions lokal getestet werden.

3. CLI Commands & Maintenance

Datenbank-Migration

  • Migration-Repository initialisieren: flask db init (nur einmalig erforderlich)
  • Migration erstellen: flask db migrate -m "Beschreibung der Änderungen" (nach Modell-Änderungen)
  • Migration anwenden: flask db upgrade (wendet ausstehende Migrationen an)
  • Migration zurücksetzen: flask db downgrade (setzt die letzte Migration zurück)

Daten & Verwaltung

  • Datenbank-Seeding: flask seed-db (Erstellt Test-Mandanten und Beispiel-Formulare)
  • E-Mail Dump Trigger: flask run-scheduled-export --tenant-id=<ID> --period=daily (Führt datenbank-agnostischen Export via SQLAlchemy aus und versendet die Mail)

Tenant & User Verwaltung

  • Neuen Mandanten erstellen: flask create-tenant <Name> <Public-Key> [--allowed-origins=...]
  • Neuen Benutzer erstellen: flask create-user <Email> <Name> [--role=admin|tenant_admin|user|viewer]