conveniance modification: added registry and getters for modules to BaseHandler

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-08-17 23:31:06 +02:00
parent ecb1ddac0f
commit a50a451b95
21 changed files with 260 additions and 198 deletions

View File

@@ -27,12 +27,11 @@ import java.util.Optional;
public class ItemApi extends BaseHandler implements ItemService {
private final ItemDb itemDb;
private final ModuleRegistry registry;
public ItemApi(ModuleRegistry registry, Configuration config) throws UmbrellaException {
super(registry);
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
itemDb = new SqliteDb(connect(dbFile));
this.registry = registry.add(this);
}
@Override
@@ -40,7 +39,7 @@ public class ItemApi extends BaseHandler implements ItemService {
addCors(ex);
try {
Optional<Token> token = SessionToken.from(ex).map(Token::of);
var user = registry.userService().loadUser(token);
var user = userService().loadUser(token);
if (user.isEmpty()) return unauthorized(ex);
var head = path.pop();
return switch (head) {
@@ -61,8 +60,8 @@ public class ItemApi extends BaseHandler implements ItemService {
var json = json(ex);
if (!(json.has(COMPANY_ID) && json.get(COMPANY_ID) instanceof Number cid)) throw missingFieldException(COMPANY_ID);
var companyId = cid.longValue();
var company = registry.companyService().get(companyId);
if (!registry.companyService().membership(companyId,user.id())) throw forbidden("You are mot a member of company {0}",company.name());
var company = companyService().get(companyId);
if (!companyService().membership(companyId,user.id())) throw forbidden("You are mot a member of company {0}",company.name());
var items = list(companyId)
.stream()
.map(Item::toMap)