Größte Lücke aus arbeitskacheln/03_digital_file.md: alle Teilbereiche
(Stammdaten, Standort, Verantwortlichkeit, Historie, Dokumente, Geräte-
Prüfungen, Mängel) existierten einzeln, aber keine gebündelte Akte-Ansicht
je Objekt.
- GET /api/v1/akte/objekt/{id}: aggregiert alle Teilbereiche in einem Aufruf
(app/services/akte.py), 404 bei unbekanntem Objekt
- Zuständigkeits-Auflösung invertiert (wer ist für DIESES Objekt zuständig,
Standort-Vererbung + Objekt-Zeile als Vereinigung, Karte 04)
- Frontend: /akte/objekt/:objektId (AktePage.tsx), Link aus der Objektliste
- 2 neue Tests (test_akte.py), 137 Tests weiterhin grün
FILE-007 (Audit-Konsistenz-Check über alle Mutations-Endpunkte) bewusst
nicht Teil dieses Commits - eigene, spätere Qualitätssicherungs-Kachel.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
37 lines
1.3 KiB
Python
37 lines
1.3 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
|
|
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]
|