implemented task creation right from the canban
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -293,7 +293,10 @@ public class TaskModule extends BaseHandler implements TaskService {
|
||||
long userId = Long.parseLong(key);
|
||||
if (!(memberData.get(key) instanceof JSONObject nested)) throw invalidFieldException("members."+userId,"JSON");
|
||||
if (!(nested.has(PERMISSION) && nested.get(PERMISSION) instanceof JSONObject permission)) throw invalidFieldException("members."+userId+".permission","JSON");
|
||||
if (!(permission.has(CODE) && permission.get(CODE) instanceof Number code)) throw invalidFieldException("members."+userId+".permission.code","int");
|
||||
Permission perm = null;
|
||||
if (permission.has(CODE) && permission.get(CODE) instanceof Number code) perm = Permission.of(code.intValue());
|
||||
if (permission.has(NAME) && permission.get(NAME) instanceof String name) perm = Permission.valueOf(name);
|
||||
if (perm == null) throw invalidFieldException("members."+userId+".permission.code","int");
|
||||
if (!project.members().containsKey(userId)) {
|
||||
String username = nested.has(USER) && nested.get(USER) instanceof JSONObject userData && userData.get(NAME) instanceof String n ? n : key;
|
||||
throw new UmbrellaException(HTTP_BAD_REQUEST,"User {0} is no member of the leading project and cannot be assigned to this task",username);
|
||||
@@ -304,10 +307,11 @@ public class TaskModule extends BaseHandler implements TaskService {
|
||||
task = taskDb.save(task);
|
||||
for (var key : memberData.keySet()){
|
||||
long userId = Long.parseLong(key);
|
||||
var code = memberData.getJSONObject(key).getJSONObject(PERMISSION).getInt(CODE);
|
||||
taskDb.setMember(task.id(),userId,Permission.of(code));
|
||||
var nested = memberData.getJSONObject(key).getJSONObject(PERMISSION);
|
||||
var permission = nested.has(CODE) ? Permission.of(nested.getInt(CODE)) : Permission.valueOf(nested.getString(NAME));
|
||||
taskDb.setMember(task.id(),userId,permission);
|
||||
}
|
||||
return sendContent(ex,task);
|
||||
return sendContent(ex,loadMembers(task));
|
||||
}
|
||||
|
||||
private boolean postTaskList(UmbrellaUser user, HttpExchange ex) throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user