@ -1,6 +1,7 @@
@@ -1,6 +1,7 @@
/* © SRSoftware 2025 */
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.Constants.* ;
import static de.srsoftware.umbrella.core.Paths.LIST ;
@ -87,6 +88,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
@@ -87,6 +88,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
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 ( ) ) ;
var map = project . toMap ( ) ;
var members = new HashMap < Long , Map < String , Object > > ( ) ;
for ( var member : project . members ( ) ) {
@ -95,7 +97,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
@@ -95,7 +97,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
members . put ( userId , Map . of ( USER , users . loadUser ( userId ) . toMap ( ) , PERMISSION , perm ) ) ;
}
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 ) ;
}