X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FUntrustAjaxPage.kt;fp=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FUntrustAjaxPage.kt;h=e622554a4aa64e884e1f1242c4dadab2a01c3b6c;hb=bffa2f59940c78942d57897971702d03e10cdc20;hp=0000000000000000000000000000000000000000;hpb=a974622677b4f2f7114fe09e4b3d9eb6cdfd8f20;p=Sone.git diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/UntrustAjaxPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/UntrustAjaxPage.kt new file mode 100644 index 0000000..e622554 --- /dev/null +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/UntrustAjaxPage.kt @@ -0,0 +1,22 @@ +package net.pterodactylus.sone.web.ajax + +import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.utils.also +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 + +/** + * AJAX page that lets the user [untrust][net.pterodactylus.sone.core.Core.untrustSone] a [Sone]. + */ +class UntrustAjaxPage(webInterface: WebInterface) : LoggedInJsonPage("untrustSone.ajax", webInterface) { + + override fun createJsonObject(currentSone: Sone, request: FreenetRequest) = + request.parameters["sone"] + ?.let(webInterface.core::getSone) + ?.also { webInterface.core.untrustSone(currentSone, it) } + ?.let { createSuccessJsonObject() } + ?: createErrorJsonObject("invalid-sone-id") + +}