Add base JSON page that requires a logged-in user
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / DistrustAjaxPage.kt
index 0c56341..1c3506b 100644 (file)
@@ -1,6 +1,7 @@
 package net.pterodactylus.sone.web.ajax
 
 import net.pterodactylus.sone.core.Core
+import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.let
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
@@ -11,16 +12,16 @@ import net.pterodactylus.sone.web.page.FreenetRequest
  *
  * @see Core.distrustSone(Sone, Sone)
  */
-class DistrustAjaxPage(webInterface: WebInterface) : JsonPage("distrustSone.ajax", webInterface) {
+class DistrustAjaxPage(webInterface: WebInterface) : LoggedInJsonPage("distrustSone.ajax", webInterface) {
 
-       override fun createJsonObject(request: FreenetRequest) =
+       override fun createJsonObject(currentSone: Sone, request: FreenetRequest) =
                        request.parameters["sone"]
                                        .let(webInterface.core::getSone)
                                        ?.let { sone ->
                                                createSuccessJsonObject()
                                                                .put("trustValue", webInterface.core.preferences.negativeTrust)
                                                                .also {
-                                                                       webInterface.core.distrustSone(getCurrentSone(request.toadletContext), sone)
+                                                                       webInterface.core.distrustSone(currentSone, sone)
                                                                }
                                        } ?: createErrorJsonObject("invalid-sone-id")