Files
MABEA/backend/app/models/eskalation.py
T
patrickandClaude Sonnet 5 fb676a4a0b
CI / backend-tests (push) Successful in 1m6s
CI / frontend-build (push) Successful in 21s
Karte 12: Eskalationslogik für lange offene Fehlbestände
Zwei Stufen (Erinnerung an Materialverantwortliche, Eskalation an
Leitungsverantwortliche/Administration) mit Tracking-Zeitstempel je Stufe
gegen Mehrfachversand. Zeitschwellen in eskalation_konfiguration (DB,
Singleton), admin-editierbar über GET/PUT /eskalation/konfiguration - bewusst
nicht fix im Code. Prüflauf per POST /eskalation/pruefen angestoßen,
Scheduling (Cron/systemd-Timer) bleibt Betriebsaufgabe.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
2026-09-04 18:04:52 +02:00

17 lines
656 B
Python

from sqlalchemy import Integer
from sqlalchemy.orm import Mapped, mapped_column
from app.db.base import Base
class EskalationKonfiguration(Base):
"""Karte 12: Zeitschwellen für die Fehlbestand-Eskalation müssen zur Laufzeit
änderbar sein, nicht fix im Code (Nutzer-Vorgabe) - Singleton-Zeile (id=1),
per Admin-Endpunkt lesbar/änderbar statt Settings/Env."""
__tablename__ = "eskalation_konfiguration"
id: Mapped[int] = mapped_column(Integer, primary_key=True)
erinnerung_tage: Mapped[int] = mapped_column(Integer, nullable=False, default=3)
leitung_tage: Mapped[int] = mapped_column(Integer, nullable=False, default=7)