Browse Source

finished implementation of setting user permissions in projects

kanban
Stephan Richter 4 months ago
parent
commit
a5abfa33ec
  1. 1
      project/src/main/java/de/srsoftware/umbrella/project/ProjectModule.java
  2. 5
      project/src/main/java/de/srsoftware/umbrella/project/SqliteDb.java

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

@ -177,6 +177,7 @@ public class ProjectModule extends BaseHandler implements ProjectService { @@ -177,6 +177,7 @@ public class ProjectModule extends BaseHandler implements ProjectService {
if (!(json.get(key) instanceof Number number)) throw invalidFieldException(PERMISSION,"int");
var permission = Permission.of(number.intValue());
members.put(userId,new Member(users.loadUser(userId),permission));
project.dirtyFields().add(MEMBERS);
}
}

5
project/src/main/java/de/srsoftware/umbrella/project/SqliteDb.java

@ -207,8 +207,9 @@ CREATE TABLE IF NOT EXISTS {0} ( {1} VARCHAR(255) PRIMARY KEY, {2} VARCHAR(255) @@ -207,8 +207,9 @@ CREATE TABLE IF NOT EXISTS {0} ( {1} VARCHAR(255) PRIMARY KEY, {2} VARCHAR(255)
} else { // Update
try {
if (prj.dirtyFields().contains(MEMBERS)){
// TODO:
LOG.log(ERROR,"Updating/Adding project members not implemented!");
var query = replaceInto(TABLE_PROJECT_USERS,PROJECT_ID,USER_ID,PERMISSIONS);
for (var member : prj.members().entrySet()) query.values(prj.id(),member.getKey(),member.getValue().permission().code());
query.execute(db).close();
prj.dirtyFields().remove(MEMBERS);
}
if (prj.isDirty()){

Loading…
Cancel
Save