Lagerorte und Einheiten umbenennen
Beide kannte die API bisher nur als Anlegen und Loeschen. Wer sich vertippt hatte, musste den Eintrag wegwerfen und neu anlegen - und verlor dabei genau das, was daran haengt: Chargen zeigen auf die Lagerort-ID, Produkte und Gruppen auf die Einheiten-ID. Ein Tippfehler kostete also Zuordnungen. Neu ist je ein PATCH nach dem Vorbild der Gebinde, samt Pruefung auf doppelte Namen ohne Ruecksicht auf Gross- und Kleinschreibung. Anders als beim Loeschen duerfen auch eingebaute Einheiten umbenannt werden - auch das wie bei den Gebinden. Art und Faktor einer Einheit bleiben dagegen fest: Sie stecken in bereits umgerechneten Bestaenden, eine Aenderung wuerde die still verfaelschen. Die Tests halten fest, worum es eigentlich geht - dass die Verweise das Umbenennen ueberleben. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -23,6 +23,13 @@ class UnitCreate(BaseModel):
|
||||
factor: float = Field(gt=0)
|
||||
|
||||
|
||||
class UnitUpdate(BaseModel):
|
||||
"""Nur der Name. Art und Faktor bleiben fest – sie stecken bereits in
|
||||
umgerechneten Bestaenden, eine Aenderung wuerde die still verfaelschen."""
|
||||
|
||||
name: str = Field(min_length=1, max_length=64)
|
||||
|
||||
|
||||
# ---- API-Tokens (externe Zugriffe, z.B. Home Assistant) ----
|
||||
class ApiTokenOut(BaseModel):
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
@@ -156,6 +163,10 @@ class LocationCreate(BaseModel):
|
||||
parent_id: int | None = None
|
||||
|
||||
|
||||
class LocationUpdate(BaseModel):
|
||||
name: str = Field(min_length=1, max_length=120)
|
||||
|
||||
|
||||
# ---- Gebinde (Packung, Glas, …) ----
|
||||
class PackageTypeCreate(BaseModel):
|
||||
singular: str = Field(min_length=1, max_length=32)
|
||||
|
||||
Reference in New Issue
Block a user