Add test for DI constructability of TrustAjaxPage
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / BookmarkAjaxPage.kt
index b185d2b..74fec61 100644 (file)
@@ -1,23 +1,24 @@
 package net.pterodactylus.sone.web.ajax
 
-import net.pterodactylus.sone.utils.also
 import net.pterodactylus.sone.utils.emptyToNull
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.FreenetRequest
+import javax.inject.Inject
 
 /**
  * AJAX page that lets the user bookmark a post.
  */
-class BookmarkAjaxPage(webInterface: WebInterface) : JsonPage("bookmark.ajax", webInterface) {
+class BookmarkAjaxPage @Inject constructor(webInterface: WebInterface) : JsonPage("bookmark.ajax", webInterface) {
 
        override val requiresLogin = false
 
        override fun createJsonObject(request: FreenetRequest) =
                        request.parameters["post"].emptyToNull
-                                       ?.let(core::getPost)
-                                       ?.also(core::bookmarkPost)
-                                       ?.let { createSuccessJsonObject() }
+                                       ?.let { postId ->
+                                               core.getPost(postId)?.also(core::bookmarkPost)
+                                               createSuccessJsonObject()
+                                       }
                                        ?: createErrorJsonObject("invalid-post-id")
 
 }