✨ Use @ToadletPath for JSON pages, too
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / ajax / GetLinkedElementAjaxPage.kt
index 285c479..115370a 100644 (file)
@@ -8,13 +8,18 @@ import net.pterodactylus.sone.template.LinkedElementRenderFilter
 import net.pterodactylus.sone.utils.jsonArray
 import net.pterodactylus.sone.utils.jsonObject
 import net.pterodactylus.sone.web.WebInterface
-import net.pterodactylus.sone.web.page.FreenetRequest
+import net.pterodactylus.sone.web.page.*
+import javax.inject.Inject
 
 /**
  * Renders linked elements after they have been loaded.
  */
-class GetLinkedElementAjaxPage(webInterface: WebInterface, private val elementLoader: ElementLoader, private val linkedElementRenderFilter: LinkedElementRenderFilter):
-               JsonPage("getLinkedElement.ajax", webInterface) {
+@ToadletPath("getLinkedElement.ajax")
+class GetLinkedElementAjaxPage @Inject constructor(webInterface: WebInterface, private val elementLoader: ElementLoader, private val linkedElementRenderFilter: LinkedElementRenderFilter):
+               JsonPage(webInterface) {
+
+       override val needsFormPassword = false
+       override val requiresLogin = false
 
        override fun createJsonObject(request: FreenetRequest): JsonReturnObject =
                        request.httpRequest.getParam("elements", "[]").asJson()
@@ -37,9 +42,6 @@ class GetLinkedElementAjaxPage(webInterface: WebInterface, private val elementLo
                                }
                        }
 
-       override fun needsFormPassword() = false
-       override fun requiresLogin() = false
-
        private fun String.asJson() = ObjectMapper().readTree(this).asIterable()
 
        private fun renderLinkedElement(linkedElement: LinkedElement) =