implemented showing members of companies

This commit is contained in:
2025-08-08 12:50:26 +02:00
parent c4b4088620
commit edeffc572c
4 changed files with 40 additions and 11 deletions

View File

@@ -17,9 +17,8 @@ import de.srsoftware.umbrella.core.BaseHandler;
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.Company;
import de.srsoftware.umbrella.core.model.Token;
import de.srsoftware.umbrella.core.model.UmbrellaUser;
import de.srsoftware.umbrella.core.model.*;
import java.io.IOException;
import java.util.*;
@@ -110,7 +109,23 @@ public class CompanyModule extends BaseHandler implements CompanyService {
@Override
public Map<Long,Company> listCompaniesOf(UmbrellaUser user) throws UmbrellaException {
return companyDb.listCompaniesOf(user.id());
return loadMembers(companyDb.listCompaniesOf(user.id()));
}
public Map<Long,Company> loadMembers(Map<Long,Company> companyMap){
loadMembers(companyMap.values());
return companyMap;
}
public Collection<Company> loadMembers(Collection<Company> companyList) {
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));
company.members().put(userId,user);
}
}
return companyList;
}
@Override