|
|
|
@ -1,6 +1,7 @@ |
|
|
|
/* © SRSoftware 2025 */ |
|
|
|
/* © SRSoftware 2025 */ |
|
|
|
package de.srsoftware.umbrella.project; |
|
|
|
package de.srsoftware.umbrella.project; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import static de.srsoftware.tools.Optionals.nullable; |
|
|
|
import static de.srsoftware.umbrella.core.ConnectionProvider.connect; |
|
|
|
import static de.srsoftware.umbrella.core.ConnectionProvider.connect; |
|
|
|
import static de.srsoftware.umbrella.core.Constants.*; |
|
|
|
import static de.srsoftware.umbrella.core.Constants.*; |
|
|
|
import static de.srsoftware.umbrella.core.Paths.LIST; |
|
|
|
import static de.srsoftware.umbrella.core.Paths.LIST; |
|
|
|
@ -87,6 +88,7 @@ public class ProjectModule extends BaseHandler implements ProjectService { |
|
|
|
|
|
|
|
|
|
|
|
private boolean getProject(HttpExchange ex, long projectId, UmbrellaUser user) throws IOException, UmbrellaException { |
|
|
|
private boolean getProject(HttpExchange ex, long projectId, UmbrellaUser user) throws IOException, UmbrellaException { |
|
|
|
var project = projects.load(projectId); |
|
|
|
var project = projects.load(projectId); |
|
|
|
|
|
|
|
if (!project.hasMember(user)) throw forbidden("You are not a member of {0}",project.name()); |
|
|
|
var map = project.toMap(); |
|
|
|
var map = project.toMap(); |
|
|
|
var members = new HashMap<Long,Map<String,Object>>(); |
|
|
|
var members = new HashMap<Long,Map<String,Object>>(); |
|
|
|
for (var member : project.members()){ |
|
|
|
for (var member : project.members()){ |
|
|
|
@ -95,7 +97,7 @@ public class ProjectModule extends BaseHandler implements ProjectService { |
|
|
|
members.put(userId,Map.of(USER,users.loadUser(userId).toMap(),PERMISSION,perm)); |
|
|
|
members.put(userId,Map.of(USER,users.loadUser(userId).toMap(),PERMISSION,perm)); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!members.isEmpty()) map.put(MEMBERS,members); |
|
|
|
if (!members.isEmpty()) map.put(MEMBERS,members); |
|
|
|
|
|
|
|
nullable(project.companyId()).map(companies::get).map(Company::toMap).ifPresent(data -> map.put(COMPANY,data)); |
|
|
|
return sendContent(ex,map); |
|
|
|
return sendContent(ex,map); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|