Einzelstueck-Liste: Web-Seite /items + iOS-Liste (filterbar nach Lagerort)

Neue Seite 'Einzelstuecke' (Web, /items, in der Sidebar) listet alle physischen Exemplare ueber alle Produkte in der DataTable - je Spalte filterbar (Lagerort als Pfad, Produkt, Kategorie, Shop, ...), Lagerort und Shop inline aenderbar. iOS bekommt dieselbe Liste als schlichte, filterbare Ansicht (Kachel unter 'Listen'): Suche + Lagerort-/Kategorie-Filter, Tippen oeffnet das Einzelstueck. Item-Model/ItemOut um Kategorie ergaenzt; neuer APIClient.allItems().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-27 14:58:03 +02:00
parent 76acf57edf
commit 6b7ada33b3
7 changed files with 244 additions and 0 deletions

View File

@@ -170,6 +170,11 @@ actor APIClient {
try await send(try makeRequest("/products/\(productId)/items"), as: [Item].self)
}
/// Alle Einzelstücke über alle Produkte für die Einzelstück-Liste.
func allItems() async throws -> [Item] {
try await send(try makeRequest("/items"), as: [Item].self)
}
func createItems(productId: Int, _ payload: ItemCreateRequest) async throws -> [Item] {
var request = try makeRequest("/products/\(productId)/items", method: "POST")
try jsonBody(&request, payload)