X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FBookmarkAjaxPage.kt;h=e9a1a50f9ad0e946eb7df63643cafaf366515eee;hp=fd22f06dcb096e3a1237a913ec28e3530e3a6aa7;hb=ca45de0dcbd2e361ab630bbee1d47ff6cf34d97c;hpb=70328c1ee52a67654eaa899ab951d4c1dbe3a697 diff --git a/src/main/kotlin/net/pterodactylus/sone/web/ajax/BookmarkAjaxPage.kt b/src/main/kotlin/net/pterodactylus/sone/web/ajax/BookmarkAjaxPage.kt index fd22f06..e9a1a50 100644 --- a/src/main/kotlin/net/pterodactylus/sone/web/ajax/BookmarkAjaxPage.kt +++ b/src/main/kotlin/net/pterodactylus/sone/web/ajax/BookmarkAjaxPage.kt @@ -1,23 +1,25 @@ package net.pterodactylus.sone.web.ajax -import net.pterodactylus.sone.utils.also import net.pterodactylus.sone.utils.emptyToNull import net.pterodactylus.sone.utils.parameters import net.pterodactylus.sone.web.WebInterface -import net.pterodactylus.sone.web.page.FreenetRequest +import net.pterodactylus.sone.web.page.* +import javax.inject.Inject /** * AJAX page that lets the user bookmark a post. */ -class BookmarkAjaxPage(webInterface: WebInterface) : JsonPage("bookmark.ajax", webInterface) { +@ToadletPath("bookmark.ajax") +class BookmarkAjaxPage @Inject constructor(webInterface: WebInterface) : JsonPage(webInterface) { - override fun requiresLogin() = false + override val requiresLogin = false override fun createJsonObject(request: FreenetRequest) = request.parameters["post"].emptyToNull - ?.let(webInterface.core::getPost) - ?.also(webInterface.core::bookmarkPost) - ?.let { createSuccessJsonObject() } + ?.let { postId -> + core.getPost(postId)?.also(core::bookmarkPost) + createSuccessJsonObject() + } ?: createErrorJsonObject("invalid-post-id") }