iOS: Kategorie-Typfilter + Lagerort-Hierarchie (aufklappbarer Baum)

Gemeinsame TreeMasterView fuer hierarchische Stammdaten (Ein-/Ausklappen,
Anlegen, Bearbeiten, Loeschen):
- Kategorien: Segment-Filter Alle/Lebensmittel/Gegenstaende (wie im Web); in
  der Alle-Ansicht zeigt jede Zeile ihre Art. Anlegen/Bearbeiten waehlt die
  Verwaltungsart (neu: createCategory mit tracking, updateCategory).
- Lagerorte: werden jetzt als aufklappbarer Baum gezeigt statt flach. Beim
  Anlegen laesst sich ein Elternort waehlen (Hierarchie aufbauen); Umhaengen
  unterstuetzt der Server nicht, Bearbeiten bleibt daher Umbenennen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-26 13:01:28 +02:00
parent 949c395fbf
commit 956a472c04
3 changed files with 394 additions and 170 deletions

View File

@@ -410,6 +410,12 @@ actor APIClient {
return try await send(request, as: CategoryItem.self)
}
func updateCategory(id: Int, _ payload: CategoryUpdateRequest) async throws -> CategoryItem {
var request = try makeRequest("/categories/\(id)", method: "PATCH")
try jsonBody(&request, payload)
return try await send(request, as: CategoryItem.self)
}
func deleteCategory(id: Int) async throws {
try await sendNoContent(try makeRequest("/categories/\(id)", method: "DELETE"))
}