Browse Source

re-ordered methods

kanban
Stephan Richter 4 months ago
parent
commit
3c83a4760c
  1. 44
      project/src/main/java/de/srsoftware/umbrella/project/ProjectModule.java

44
project/src/main/java/de/srsoftware/umbrella/project/ProjectModule.java

@ -39,6 +39,19 @@ public class ProjectModule extends BaseHandler implements ProjectService { @@ -39,6 +39,19 @@ public class ProjectModule extends BaseHandler implements ProjectService {
users = companies.userService();
}
private boolean addMembers(Project project, HttpExchange ex) throws IOException {
var map = project.toMap();
var members = new HashMap<Long,Map<String,Object>>();
for (var entry : project.members().entrySet()){
var userId = entry.getKey();
var perm = entry.getValue().permission().toMap();
members.put(userId,Map.of(USER,users.loadUser(userId).toMap(),PERMISSION,perm));
}
if (!members.isEmpty()) map.put(MEMBERS,members);
project.companyId().map(companies::get).map(Company::toMap).ifPresent(data -> map.put(COMPANY,data));
return sendContent(ex,map);
}
@Override
public CompanyService companyService() {
return companies;
@ -115,35 +128,12 @@ public class ProjectModule extends BaseHandler implements ProjectService { @@ -115,35 +128,12 @@ public class ProjectModule extends BaseHandler implements ProjectService {
}
}
private boolean addMembers(Project project, HttpExchange ex) throws IOException {
var map = project.toMap();
var members = new HashMap<Long,Map<String,Object>>();
for (var entry : project.members().entrySet()){
var userId = entry.getKey();
var perm = entry.getValue().permission().toMap();
members.put(userId,Map.of(USER,users.loadUser(userId).toMap(),PERMISSION,perm));
}
if (!members.isEmpty()) map.put(MEMBERS,members);
project.companyId().map(companies::get).map(Company::toMap).ifPresent(data -> map.put(COMPANY,data));
return sendContent(ex,map);
}
private boolean getProject(HttpExchange ex, long projectId, UmbrellaUser user) throws IOException, UmbrellaException {
var project = projects.load(projectId);
if (!project.hasMember(user)) throw forbidden("You are not a member of {0}",project.name());
return addMembers(project,ex);
}
private boolean postProjectList(HttpExchange ex, UmbrellaUser user) throws IOException {
var json = json(ex);
var showClosed = json.has(SHOW_CLOSED) && json.get(SHOW_CLOSED) instanceof Boolean bool ? bool : false;
if (json.has(COMPANY_ID) && json.get(COMPANY_ID) instanceof Number companyId) return listCompanyProjects(ex, user, companyId.longValue());
return listUserProjects(ex,user,showClosed);
}
public Collection<Project> listCompanyProjects(long companyId, boolean includeClosed) throws UmbrellaException {
return projects.ofCompany(companyId, includeClosed).values().stream().sorted(comparing(Project::name)).toList();
}
@ -209,4 +199,12 @@ public class ProjectModule extends BaseHandler implements ProjectService { @@ -209,4 +199,12 @@ public class ProjectModule extends BaseHandler implements ProjectService {
prj = projects.save(prj);
return sendContent(ex,prj);
}
private boolean postProjectList(HttpExchange ex, UmbrellaUser user) throws IOException {
var json = json(ex);
var showClosed = json.has(SHOW_CLOSED) && json.get(SHOW_CLOSED) instanceof Boolean bool ? bool : false;
if (json.has(COMPANY_ID) && json.get(COMPANY_ID) instanceof Number companyId) return listCompanyProjects(ex, user, companyId.longValue());
return listUserProjects(ex,user,showClosed);
}
}
Loading…
Cancel
Save