Files
MABEA/backend/app/schemas/akte.py
T
patrickandClaude Sonnet 5 209b541220
CI / backend-tests (push) Successful in 2m2s
CI / frontend-build (push) Successful in 19s
feat(ui): UI-005 begründete Einsatzbereitschaft + Dokumente in der Akte
Backend: objekt_readiness() in dashboard.py liefert Status+Gründe für
ein einzelnes Objekt, Fallunterscheidung aus einsatzbereitschaft()
extrahiert (_kategorie_und_gruende, keine Duplizierung). Neue Felder
an /akte/objekt/{id}. Frontend: ReadinessBadge + Gründeliste ersetzt
den rohen objekt.status-Badge (Objekt-Lebenszyklus-Status bleibt
separat sichtbar). Dokumente waren in der Akte bisher nur Text ohne
Interaktion - jetzt DokumentePanel eingebunden plus neuer "Ansehen"-
Klick (PDF/Bild im neuen Tab statt Zwangs-Download).

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

39 lines
1.4 KiB
Python

from datetime import datetime
from pydantic import BaseModel, ConfigDict
from app.schemas.dokument import DokumentRead
from app.schemas.geraet_instanz import GeraetInstanzRead
from app.schemas.historie import HistorieRead
from app.schemas.mangel import MangelRead
from app.schemas.objekt import FahrzeugdetailsRead, ObjektRead
from app.schemas.zustaendigkeit import KontrollverantwortungRead
class ZustaendigerBenutzer(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: int
name: str
quelle: str # "standort" oder "objekt" (Vereinigungslogik Karte 04)
class AkteRead(BaseModel):
"""FILE-001..006: gebündelte Aggregations-Sicht über alle bereits existierenden
Teilbereiche einer Ressource (aktuell nur Objekttyp "objekt" - Prompt 24/Backlog-
Roadmap sieht perspektivisch weitere Ressourcentypen vor, siehe arbeitskacheln/
03_digital_file.md)."""
objekt: ObjektRead
einsatzbereitschaft_status: str
einsatzbereitschaft_gruende: list[str]
objekttyp_name: str
standort_name: str
fahrzeugdetails: FahrzeugdetailsRead | None
zustaendige_benutzer: list[ZustaendigerBenutzer]
kontrollverantwortung: list[KontrollverantwortungRead]
letzte_kontrolle_am: datetime | None
historie: list[HistorieRead]
dokumente: list[DokumentRead]
geraete: list[GeraetInstanzRead]
maengel: list[MangelRead]