implemented easy-list
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
/* © SRSoftware 2025 */
|
||||
package de.srsoftware.umbrella.task;
|
||||
|
||||
import static de.srsoftware.tools.Optionals.is0;
|
||||
import static de.srsoftware.tools.Optionals.isSet;
|
||||
import static de.srsoftware.tools.Optionals.*;
|
||||
import static de.srsoftware.umbrella.core.ConnectionProvider.connect;
|
||||
import static de.srsoftware.umbrella.core.Constants.*;
|
||||
import static de.srsoftware.umbrella.core.ModuleRegistry.*;
|
||||
@@ -92,6 +91,7 @@ public class TaskModule extends BaseHandler implements TaskService {
|
||||
var head = path.pop();
|
||||
return switch (head) {
|
||||
case PERMISSIONS -> getPermissionList(ex);
|
||||
case TAGGED -> getTaggedTasks(path, user.get(), ex);
|
||||
case null -> getUserTasks(user.get(), ex);
|
||||
default -> {
|
||||
var taskId = Long.parseLong(head);
|
||||
@@ -179,6 +179,14 @@ public class TaskModule extends BaseHandler implements TaskService {
|
||||
return sendContent(ex, map);
|
||||
}
|
||||
|
||||
private boolean getTaggedTasks(Path path, UmbrellaUser user, HttpExchange ex) throws IOException {
|
||||
var tag = path.toString();
|
||||
var tags = tagService().getTagUses(user,tag);
|
||||
var taskIds = nullable(tags.get(TASK)).orElseGet(ArrayList::new);
|
||||
var tasks = taskDb.load(taskIds);
|
||||
return sendContent(ex, mapValues(tasks));
|
||||
}
|
||||
|
||||
private boolean getTask(HttpExchange ex, long taskId, UmbrellaUser user) throws IOException {
|
||||
var task = loadMembers(taskDb.load(taskId));
|
||||
if (!task.hasMember(user)) throw forbidden("You are not a member of {0}",task.name());
|
||||
|
||||
Reference in New Issue
Block a user