Merge branch 'dev' into module/company

This commit is contained in:
2025-08-09 13:44:22 +02:00
26 changed files with 343 additions and 257 deletions

View File

@@ -14,8 +14,8 @@ import de.srsoftware.tools.Path;
import de.srsoftware.tools.SessionToken;
import de.srsoftware.umbrella.company.api.CompanyDb;
import de.srsoftware.umbrella.core.BaseHandler;
import de.srsoftware.umbrella.core.ModuleRegistry;
import de.srsoftware.umbrella.core.api.CompanyService;
import de.srsoftware.umbrella.core.api.UserService;
import de.srsoftware.umbrella.core.exceptions.UmbrellaException;
import de.srsoftware.umbrella.core.model.*;
import java.io.IOException;
@@ -23,13 +23,13 @@ import java.util.*;
public class CompanyModule extends BaseHandler implements CompanyService {
private final UserService users;
private final CompanyDb companyDb;
private final ModuleRegistry registry;
public CompanyModule(Configuration config, UserService userService) throws UmbrellaException {
public CompanyModule(ModuleRegistry registry, Configuration config) throws UmbrellaException {
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
companyDb = new SqliteDb(connect(dbFile));
users = userService;
this.registry = registry.add(this);
}
private boolean deleteCompany(long companyId, UmbrellaUser user, HttpExchange ex) {
@@ -65,7 +65,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
addCors(ex);
try {
Optional<Token> token = SessionToken.from(ex).map(Token::of);
var user = users.loadUser(token);
var user = registry.userService().loadUser(token);
if (user.isEmpty()) return unauthorized(ex);
var head = path.pop();
return switch (head){
@@ -83,7 +83,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
addCors(ex);
try {
Optional<Token> token = SessionToken.from(ex).map(Token::of);
var user = users.loadUser(token);
var user = registry.userService().loadUser(token);
if (user.isEmpty()) return unauthorized(ex);
var head = path.pop();
return switch (head) {
@@ -102,7 +102,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
addCors(ex);
try {
Optional<Token> token = SessionToken.from(ex).map(Token::of);
var user = users.loadUser(token);
var user = registry.userService().loadUser(token);
if (user.isEmpty()) return unauthorized(ex);
var head = path.pop();
return switch (head) {
@@ -130,7 +130,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
@Override
public Collection<UmbrellaUser> getMembers(long companyId) throws UmbrellaException {
var members = new HashSet<UmbrellaUser>();
for (var userId : companyDb.getMembers(companyId)) members.add(users.loadUser(userId));
for (var userId : companyDb.getMembers(companyId)) members.add(registry.userService().loadUser(userId));
return members;
}
@@ -148,7 +148,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
var userMap = new HashMap<Long,UmbrellaUser>();
for (var company : companyList){
for (var userId : companyDb.getMembers(company.id())){
var user = userMap.computeIfAbsent(userId,k -> users.loadUser(userId));
var user = userMap.computeIfAbsent(userId,k -> registry.userService().loadUser(userId));
company.members().put(userId,user);
}
}
@@ -194,9 +194,4 @@ public class CompanyModule extends BaseHandler implements CompanyService {
companyDb.addUser(company.id(),user.id());
return sendContent(ex,company);
}
@Override
public UserService userService() {
return users;
}
}

View File

@@ -9,9 +9,7 @@ import static de.srsoftware.umbrella.company.Constants.TABLE_COMPANIES;
import static de.srsoftware.umbrella.company.Constants.TABLE_COMPANIES_USERS;
import static de.srsoftware.umbrella.core.Constants.*;
import static de.srsoftware.umbrella.core.exceptions.UmbrellaException.databaseException;
import static de.srsoftware.umbrella.core.model.Status.OPEN;
import static java.lang.System.Logger.Level.ERROR;
import static java.text.MessageFormat.format;
import de.srsoftware.umbrella.company.api.CompanyDb;
import de.srsoftware.umbrella.core.BaseDb;