import net.pterodactylus.sone.data.PostReply
import net.pterodactylus.sone.data.Sone
import net.pterodactylus.sone.utils.jsonObject
-import net.pterodactylus.sone.utils.let
import net.pterodactylus.sone.utils.parameters
import net.pterodactylus.sone.utils.render
import net.pterodactylus.sone.web.WebInterface
import net.pterodactylus.sone.web.page.FreenetRequest
import net.pterodactylus.util.template.Template
+import javax.inject.Inject
/**
* This AJAX page returns the details of a reply.
*/
-class GetReplyAjaxPage(webInterface: WebInterface, private val template: Template) : LoggedInJsonPage("getReply.ajax", webInterface) {
+class GetReplyAjaxPage @Inject constructor(webInterface: WebInterface, private val template: Template) :
+ LoggedInJsonPage("getReply.ajax", webInterface) {
- override fun needsFormPassword() = false
+ override val needsFormPassword = false
override fun createJsonObject(currentSone: Sone, request: FreenetRequest) =
request.parameters["reply"]
- .let(webInterface.core::getPostReply)
+ ?.let(core::getPostReply)
?.let { it.toJson(currentSone, request) }
?.let { replyJson ->
createSuccessJsonObject().apply {
private fun PostReply.render(currentSone: Sone, request: FreenetRequest) =
webInterface.templateContextFactory.createTemplateContext().apply {
- set("core", webInterface.core)
+ set("core", core)
set("request", request)
set("reply", this@render)
set("currentSone", currentSone)