import net.pterodactylus.sone.template.SoneAccessor
import net.pterodactylus.sone.utils.jsonArray
import net.pterodactylus.sone.utils.jsonObject
-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 retrieves the number of “likes” a [net.pterodactylus.sone.data.Post]
* or [net.pterodactylus.sone.data.PostReply] has.
*/
-class GetLikesAjaxPage(webInterface: WebInterface) : JsonPage("getLikes.ajax", webInterface) {
+@ToadletPath("getLikes.ajax")
+class GetLikesAjaxPage @Inject constructor(webInterface: WebInterface) : JsonPage(webInterface) {
override val needsFormPassword = false
override fun createJsonObject(request: FreenetRequest) =
when (request.parameters["type"]) {
"post" -> request.parameters["post"]
- .let(core::getPost)
+ ?.let(core::getPost)
?.let(core::getLikes)
?.toReply()
?: createErrorJsonObject("invalid-post-id")