From f9bb8def03336fc57b2407c85339ad50432c372c Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Wed, 25 Mar 2026 08:47:53 +0100 Subject: [PATCH] fixing some permission-related TODOs Signed-off-by: Stephan Richter --- .../umbrella/company/CompanyModule.java | 2 +- .../umbrella/core/api/StockService.java | 10 +++----- .../umbrella/stock/StockModule.java | 23 ++++++++++--------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/company/src/main/java/de/srsoftware/umbrella/company/CompanyModule.java b/company/src/main/java/de/srsoftware/umbrella/company/CompanyModule.java index 19d519cf..a3a200b5 100644 --- a/company/src/main/java/de/srsoftware/umbrella/company/CompanyModule.java +++ b/company/src/main/java/de/srsoftware/umbrella/company/CompanyModule.java @@ -42,7 +42,7 @@ public class CompanyModule extends BaseHandler implements CompanyService { var company = get(companyId); if (!membership(companyId,user.id())) throw forbidden("You are mot a member of company {company}", COMPANY,company.name()); if (!documentService().list(companyId).isEmpty()) throw forbidden("There are documents owned by {company}", COMPANY,company.name()); - if (!itemService().redefineMe(companyId).isEmpty()) throw forbidden("There are items owned by {company}", COMPANY,company.name()); + if (!itemService().getCompanyItems(companyId).isEmpty()) throw forbidden("There are items owned by {company}", COMPANY,company.name()); if (!projectService().listCompanyProjects(companyId,true).isEmpty()) throw forbidden("There are projects owned by {company}", COMPANY,company.name()); return sendContent(ex, companyDb.drop(companyId)); } diff --git a/core/src/main/java/de/srsoftware/umbrella/core/api/StockService.java b/core/src/main/java/de/srsoftware/umbrella/core/api/StockService.java index c43d9544..f96bf9ab 100644 --- a/core/src/main/java/de/srsoftware/umbrella/core/api/StockService.java +++ b/core/src/main/java/de/srsoftware/umbrella/core/api/StockService.java @@ -3,16 +3,12 @@ package de.srsoftware.umbrella.core.api; import de.srsoftware.umbrella.core.model.DbLocation; +import de.srsoftware.umbrella.core.model.Item; + import java.util.Collection; public interface StockService { - /** - * Das war mal die methode um zu checken, ob einer Firma noch Items zugewiesen sind. - * TODO: Diese Methode muss neu definiert werden, sobald der Stock-Service neu implementiert ist. - * @param company_id - * @return - */ - Collection redefineMe(long company_id); + Collection getCompanyItems(long companyID); DbLocation loadLocation(long locationId); } 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 e159dede..7169e7ec 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java @@ -289,17 +289,19 @@ public class StockModule extends BaseHandler implements StockService { Field.LOCATIONS,userLocations.stream().map(DbLocation::toMap).toList())); var companies = companyService().listCompaniesOf(user); - companies.values().stream().sorted(comparing(a -> a.name().toLowerCase())).forEach(company -> { - var locations = stockDb.listCompanyLocations(company); - result.add(Map.of( - PARENT, Map.of(Field.COMPANY, company.id()), - NAME,company.name(), - Field.LOCATIONS,locations.stream().sorted(comparing(a -> a.name().toLowerCase())).map(DbLocation::toMap).toList())); - - }); + companies.values().stream().sorted(comparing(a -> a.name().toLowerCase())) + .map(company -> Map.of( + PARENT, Map.of(Field.COMPANY, company.id()), + NAME,company.name(), + Field.LOCATIONS,getCompanyLocations(company).stream().sorted(comparing(a -> a.name().toLowerCase())).map(DbLocation::toMap).toList())) + .forEach(result::add); return sendContent(ex, result); } + public Collection getCompanyLocations(Company company){ + return stockDb.listCompanyLocations(company); + } + @Override public DbLocation loadLocation(long locationId) { return stockDb.loadLocation(locationId); @@ -466,8 +468,7 @@ public class StockModule extends BaseHandler implements StockService { } @Override - public Collection redefineMe(long company_id) { - // TODO - return List.of(); + public Collection getCompanyItems(long companyID) { + return stockDb.listItemsOf(companyService().get(companyID)); } }