✨ Use @ToadletPath for JSON pages, too
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / LikeAjaxPage.kt
index 3b206c8..b2993f4 100644 (file)
@@ -1,28 +1,29 @@
 package net.pterodactylus.sone.web.ajax
 
 import net.pterodactylus.sone.data.Sone
-import net.pterodactylus.sone.utils.let
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
-import net.pterodactylus.sone.web.page.FreenetRequest
+import net.pterodactylus.sone.web.page.*
+import javax.inject.Inject
 
 /**
  * AJAX page that lets the user like a [net.pterodactylus.sone.data.Post].
  */
-class LikeAjaxPage(webInterface: WebInterface) : LoggedInJsonPage("like.ajax", webInterface) {
+@ToadletPath("like.ajax")
+class LikeAjaxPage @Inject constructor(webInterface: WebInterface) : LoggedInJsonPage(webInterface) {
 
        override fun createJsonObject(currentSone: Sone, request: FreenetRequest) =
                        when (request.parameters["type"]) {
                                "post" -> request.parameters["post"]
-                                               .let(webInterface.core::getPost)
+                                               ?.let(core::getPost)
                                                ?.let { currentSone.addLikedPostId(it.id) }
-                                               ?.also { webInterface.core.touchConfiguration() }
+                                               ?.also { core.touchConfiguration() }
                                                ?.let { createSuccessJsonObject() }
                                                ?: createErrorJsonObject("invalid-post-id")
                                "reply" -> request.parameters["reply"]
-                                               .let(webInterface.core::getPostReply)
+                                               ?.let(core::getPostReply)
                                                ?.let { currentSone.addLikedReplyId(it.id) }
-                                               ?.also { webInterface.core.touchConfiguration() }
+                                               ?.also { core.touchConfiguration() }
                                                ?.let { createSuccessJsonObject() }
                                                ?: createErrorJsonObject("invalid-reply-id")
                                else -> createErrorJsonObject("invalid-type")