conveniance modification: added registry and getters for modules to BaseHandler
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -24,20 +24,19 @@ import java.util.*;
|
||||
public class CompanyModule extends BaseHandler implements CompanyService {
|
||||
|
||||
private final CompanyDb companyDb;
|
||||
private final ModuleRegistry registry;
|
||||
|
||||
public CompanyModule(ModuleRegistry registry, Configuration config) throws UmbrellaException {
|
||||
super(registry);
|
||||
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
|
||||
companyDb = new SqliteDb(connect(dbFile));
|
||||
this.registry = registry.add(this);
|
||||
}
|
||||
|
||||
private boolean deleteCompany(long companyId, UmbrellaUser user, HttpExchange ex) throws IOException {
|
||||
var company = get(companyId);
|
||||
if (!membership(companyId,user.id())) throw forbidden("You are mot a member of company {0}",company.name());
|
||||
if (!registry.documentService().list(companyId).isEmpty()) throw forbidden("There are documents owned by {0}",company.name());
|
||||
if (!registry.itemService().list(companyId).isEmpty()) throw forbidden("There are items owned by {0}",company.name());
|
||||
if (!registry.projectService().listCompanyProjects(companyId,true).isEmpty()) throw forbidden("There are projects owned by {0}",company.name());
|
||||
if (!documentService().list(companyId).isEmpty()) throw forbidden("There are documents owned by {0}",company.name());
|
||||
if (!itemService().list(companyId).isEmpty()) throw forbidden("There are items owned by {0}",company.name());
|
||||
if (!projectService().listCompanyProjects(companyId,true).isEmpty()) throw forbidden("There are projects owned by {0}",company.name());
|
||||
return sendContent(ex, companyDb.drop(companyId));
|
||||
}
|
||||
|
||||
@@ -46,7 +45,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
|
||||
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) {
|
||||
@@ -65,7 +64,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
|
||||
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){
|
||||
@@ -83,7 +82,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
|
||||
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) {
|
||||
@@ -102,7 +101,7 @@ public class CompanyModule extends BaseHandler implements CompanyService {
|
||||
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) {
|
||||
@@ -130,7 +129,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(registry.userService().loadUser(userId));
|
||||
for (var userId : companyDb.getMembers(companyId)) members.add(userService().loadUser(userId));
|
||||
return members;
|
||||
}
|
||||
|
||||
@@ -148,7 +147,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 -> registry.userService().loadUser(userId));
|
||||
var user = userMap.computeIfAbsent(userId,k -> userService().loadUser(userId));
|
||||
company.members().put(userId,user);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user