From a4488a2fae4b54abc3ea3a48d5f6fe4b4530ebff Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Sun, 16 Nov 2025 23:13:10 +0100 Subject: [PATCH] implemented references to locations Signed-off-by: Stephan Richter --- frontend/src/routes/stock/Index.svelte | 19 ++++++++++++++----- .../srsoftware/umbrella/stock/SqliteDb.java | 2 +- .../umbrella/stock/StockModule.java | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/frontend/src/routes/stock/Index.svelte b/frontend/src/routes/stock/Index.svelte index 15d49f4..169c740 100644 --- a/frontend/src/routes/stock/Index.svelte +++ b/frontend/src/routes/stock/Index.svelte @@ -98,8 +98,17 @@ const res = await get(url); if (res.ok){ yikes(); - var path = res.json(); - + const json = await res.json(); + const path = json.path; + for (let owner of top_level){ + for (let loc of owner.locations){ + if (loc.id == path.id) { + loc.locations = path.locations; + location = json.location; + break; + } + } + } } else { error(res); return null; @@ -129,8 +138,8 @@ } else error(res); } - function load(){ - loadUserLocations(); + async function load(){ + await loadUserLocations(); loadPath(); loadProperties(); } @@ -235,4 +244,4 @@ {/if} {/await} - + \ No newline at end of file diff --git a/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java b/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java index 24f794f..3b6786d 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java @@ -300,7 +300,7 @@ public class SqliteDb extends BaseDb implements StockDb { var current = new HashMap(); current.put(NAME,parent.name()); current.put(ID,parent.id()); - current.put(PATH,root); + current.put(LOCATIONS,List.of(root)); root = current; location = parent; } diff --git a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java index c55b03d..26cd4d9 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java @@ -166,7 +166,7 @@ public class StockModule extends BaseHandler implements StockService { case null, default -> throw unprocessable("Unprocessable owner type: {0}",owner.type()); }; var pathToLocation = stockDb.pathToLocation(location); - return sendContent(ex,Map.of(ITEMS,items,USERS,userIds,PATH,pathToLocation)); + return sendContent(ex,Map.of(ITEMS,items,USERS,userIds,PATH,pathToLocation,LOCATION,location.resolve().toMap())); } private boolean getLocations(Path path, UmbrellaUser user, HttpExchange ex) throws IOException {