summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
index 30cae98..0f7aa3f 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
@@ -1,5 +1,6 @@
package eu.mulk.mulkcms2.benki.wiki;
+import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static javax.ws.rs.core.MediaType.TEXT_HTML;
import eu.mulk.mulkcms2.benki.users.User;
@@ -16,6 +17,8 @@ import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;
import java.util.Optional;
import javax.inject.Inject;
+import javax.json.JsonObject;
+import javax.json.spi.JsonProvider;
import javax.transaction.Transactional;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.FormParam;
@@ -39,6 +42,8 @@ public class WikiResource {
private static DateTimeFormatter humanDateFormatter =
DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG, FormatStyle.SHORT);
+ private static JsonProvider jsonProvider = JsonProvider.provider();
+
@ResourcePath("benki/wiki/wikiPage.html")
@Inject
Template wikiPage;
@@ -71,14 +76,15 @@ public class WikiResource {
@Path("/{pageName}")
@Authenticated
@Transactional
- public void updatePage(
+ @Produces(APPLICATION_JSON)
+ public JsonObject updatePage(
@PathParam("pageName") String pageName,
@FormParam("wiki-title") String title,
@FormParam("wiki-content") String content) {
if (title == null && content == null) {
// No changes, nothing to do.
- return;
+ return jsonProvider.createObjectBuilder().add("status", "ok").build();
}
if (title != null) {
@@ -112,6 +118,12 @@ public class WikiResource {
User.find("from BenkiUser u join u.nicknames n where ?1 = n", userName).singleResult());
pageRevision.persistAndFlush();
+
+ return jsonProvider
+ .createObjectBuilder()
+ .add("status", "ok")
+ .add("content", pageRevision.enrichedContent())
+ .build();
}
@GET