Personenbezogene Ausgabe ergänzt die reine Standort-/Lagerplatz-Sicht
um "wer hat das Ding gerade": neues Modell ausgabe (Material +
optional geraet_instanz_id), POST /ausgaben, GET /ausgaben (Filter
status/empfaenger), POST /ausgaben/{id}/rueckgabe mit Schutz vor
Doppel-Rueckgabe. Frontend als Admin-Tab "Ausgabe/Rückgabe" +
Command-Palette-Eintrag.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
30 lines
672 B
Python
30 lines
672 B
Python
import uuid
|
|
from datetime import datetime
|
|
from decimal import Decimal
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
from app.models.ausgabe import AusgabeStatus
|
|
|
|
|
|
class AusgabeCreate(BaseModel):
|
|
material_id: int
|
|
geraet_instanz_id: uuid.UUID | None = None
|
|
menge: Decimal
|
|
empfaenger_id: int
|
|
zweck: str | None = None
|
|
|
|
|
|
class AusgabeRead(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
id: uuid.UUID
|
|
material_id: int
|
|
geraet_instanz_id: uuid.UUID | None
|
|
menge: Decimal
|
|
empfaenger_id: int
|
|
ausgegeben_von: int
|
|
ausgegeben_am: datetime
|
|
rueckgabe_am: datetime | None
|
|
status: AusgabeStatus
|
|
zweck: str | None
|