Lazy Chat: Implement editing of messages.
Change-Id: I291201da1fbc7c2b6563f0837f7ce3e2f7f8555c
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java
index f2e3067..cb4c20f 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java
@@ -3,10 +3,9 @@
import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static javax.ws.rs.core.MediaType.TEXT_HTML;
-import eu.mulk.mulkcms2.benki.accesscontrol.Role;
+import eu.mulk.mulkcms2.benki.posts.Post;
import eu.mulk.mulkcms2.benki.posts.PostFilter;
import eu.mulk.mulkcms2.benki.posts.PostResource;
-import eu.mulk.mulkcms2.benki.users.User;
import io.quarkus.qute.Template;
import io.quarkus.qute.TemplateInstance;
import io.quarkus.qute.api.ResourcePath;
@@ -21,9 +20,6 @@
import javax.json.JsonObject;
import javax.transaction.Transactional;
import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.ws.rs.BadRequestException;
import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
@@ -51,12 +47,10 @@
@FormParam("uri") URI uri,
@FormParam("title") @NotEmpty String title,
@FormParam("description") String description,
- @FormParam("visibility") @NotNull @Pattern(regexp = "public|semiprivate|private")
- String visibility)
+ @FormParam("visibility") Post.Visibility visibility)
throws URISyntaxException {
- var userName = identity.getPrincipal().getName();
- var user = User.findByNickname(userName);
+ var user = getCurrentUser();
var bookmark = new Bookmark();
bookmark.uri = uri.toString();
@@ -66,14 +60,7 @@
bookmark.owner = user;
bookmark.date = OffsetDateTime.now();
- if (visibility.equals("public")) {
- Role world = Role.find("from Role r join r.tags tag where tag = 'world'").singleResult();
- bookmark.targets = Set.of(world);
- } else if (visibility.equals("semiprivate")) {
- bookmark.targets = Set.copyOf(user.defaultTargets);
- } else if (!visibility.equals("private")) {
- throw new BadRequestException(String.format("invalid visibility “%s”", visibility));
- }
+ assignPostTargets(visibility, user, bookmark);
bookmark.persistAndFlush();