X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeleteReplyAjaxPage.kt;h=d422c6970b25864846780622793918c520e04543;hp=762bc8e207c4a3c58fb18c1513fabe716d1ab3d2;hb=ea7ad5e87074576d17b7df74365a726bd95d7665;hpb=e36e66709507f77ca27641d882066f730d06c651 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPage.kt index 762bc8e..d422c69 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPage.kt @@ -1,23 +1,26 @@ package net.pterodactylus.sone.web.ajax +import net.pterodactylus.sone.data.Sone import net.pterodactylus.sone.utils.ifTrue 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 javax.inject.Inject /** * This AJAX page deletes a reply. */ -class DeleteReplyAjaxPage(webInterface: WebInterface) : JsonPage("deleteReply.ajax", webInterface) { +class DeleteReplyAjaxPage @Inject constructor(webInterface: WebInterface) : + LoggedInJsonPage("deleteReply.ajax", webInterface) { - override fun createJsonObject(request: FreenetRequest) = + override fun createJsonObject(currentSone: Sone, request: FreenetRequest) = request.parameters["reply"] - .let(webInterface.core::getPostReply) + ?.let(core::getPostReply) ?.let { reply -> reply.sone.isLocal.ifTrue { createSuccessJsonObject().also { - webInterface.core.deleteReply(reply) + core.deleteReply(reply) } } ?: createErrorJsonObject("not-authorized") } ?: createErrorJsonObject("invalid-reply-id")