X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FDeletePostAjaxPage.kt;h=4696cc525a644f2f850a75b4dfeba0f09f8b3fd8;hp=4d8206380aa2475ead1fa8c9e7dcd03ca1d8a643;hb=d14188d87056cfd63490ef9f16f4aae0c1864864;hpb=6cac5513ec98c44bc574a87111bec2a2524464bd diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.kt index 4d82063..4696cc5 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.kt @@ -1,23 +1,23 @@ package net.pterodactylus.sone.web.ajax -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 net.pterodactylus.sone.data.* +import net.pterodactylus.sone.utils.* +import net.pterodactylus.sone.web.* +import net.pterodactylus.sone.web.page.* +import javax.inject.* /** * This AJAX page deletes a post. */ -class DeletePostAjaxPage(webInterface: WebInterface) : JsonPage("deletePost.ajax", webInterface) { +class DeletePostAjaxPage @Inject constructor(webInterface: WebInterface) : LoggedInJsonPage("deletePost.ajax", webInterface) { - override fun createJsonObject(request: FreenetRequest) = + override fun createJsonObject(currentSone: Sone, request: FreenetRequest) = request.parameters["post"] - .let(webInterface.core::getPost) + ?.let(core::getPost) ?.let { post -> post.sone.isLocal.ifTrue { createSuccessJsonObject().also { - webInterface.core.deletePost(post) + core.deletePost(post) } } ?: createErrorJsonObject("not-authorized") } ?: createErrorJsonObject("invalid-post-id")