refactored project.members to be map of userId → member

This commit is contained in:
2025-07-21 09:58:03 +02:00
parent af209e3dc5
commit 80bbfe8654
4 changed files with 13 additions and 13 deletions

View File

@@ -152,7 +152,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
var userId = entry.getKey();
var permission = entry.getValue();
var user = userMap.computeIfAbsent(userId,k -> users.loadUser(userId));
project.members().add(new Member(user,permission));
project.members().put(userId,new Member(user,permission));
}
}
return projectList;
@@ -187,7 +187,8 @@ public class ProjectModule extends BaseHandler implements ProjectService {
if (json.has(SETTINGS) && json.get(SETTINGS) instanceof JSONObject settingsJson){
showClosed = settingsJson.has(SHOW_CLOSED) && settingsJson.get(SHOW_CLOSED) == TRUE;
}
var prj = new Project(0,name,description, OPEN,companyId,showClosed, List.of(new Member(user, OWNER)));
var owner = Map.of(user.id(),new Member(user,OWNER));
var prj = new Project(0,name,description, OPEN,companyId,showClosed, owner);
prj = projects.save(prj);
return sendContent(ex,prj);
}

View File

@@ -197,7 +197,7 @@ CREATE TABLE IF NOT EXISTS {0} ( {1} VARCHAR(255) PRIMARY KEY, {2} VARCHAR(255)
if (id != null){
if (!prj.members().isEmpty()) {
var query = insertInto(TABLE_PROJECT_USERS, PROJECT_ID, USER_ID, PERMISSIONS);
for (var member : prj.members()) query.values(id, member.user().id(), member.permission().code());
for (var member : prj.members().entrySet()) query.values(id, member.getKey(), member.getValue().permission().code());
query.execute(db).close();
}
return new Project(id, prj.name(), prj.description(),prj.status(),prj.companyId().orElse(null),prj.showClosed(),prj.members());