Files
patrickandClaude Sonnet 5 2a4d391711
CI / backend-tests (push) Failing after 2m4s
CI / frontend-build (push) Successful in 18s
feat(maintenance): MAINT-Epic (Wartungspläne/-aufträge, Werkstatt) + Akte-Redesign
Neues Wartungskonzept: Wartungsplan+Position+Intervall (zeit/km/
Betriebsstunden, kombinierbar - fällig sobald ein Kriterium erreicht
ist), Wartungsauftrag mit intern/externer Werkstatt, Status offen/
in_arbeit/erledigt, Kosten, Historie, Dokument-Anhang. Ad-hoc-Aufträge
ohne Plan möglich (z.B. kleinere Reparatur). Admin-Tab "Wartungspläne".

Objektakte-Redesign (Epic 21, Nutzer-Feedback "wirkt nicht modern"):
CSS-Grid statt Karten-Stapel, einspaltig mobil, zweispaltig ab 900px;
Fahrzeug-Objekte zeigen Wartung/Fahrzeugdaten prominent, Geräte/
Rucksäcke die Beladung. Dabei gefundene Lücke: Beladung (Soll/Ist je
Position) fehlte in der Akte komplett, nur über eine laufende
Kontrolle sichtbar - jetzt eigene Karte.

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

26 lines
745 B
Python

import uuid
from datetime import datetime
from typing import Literal
from pydantic import BaseModel, ConfigDict
# Bewusst geschlossene Liste statt Freitext (Konsistenz mit Mangel.entitaet_typ-
# Validierung) - jeder Ressourcentyp, an den Dokumente angehängt werden dürfen,
# muss hier explizit freigeschaltet werden.
EntitaetTyp = Literal[
"objekt", "objektposition", "geraet_instanz", "mangel", "fahrzeugdetails", "benutzer", "wartungsauftrag"
]
class DokumentRead(BaseModel):
model_config = ConfigDict(from_attributes=True)
id: uuid.UUID
entitaet_typ: str
entitaet_id: str
dateiname: str
mime_type: str
groesse_bytes: int
beschreibung: str | None
hochgeladen_von: int
hochgeladen_am: datetime