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=b185d2b5ad5d99d3115db7c0591755fe26a356f3;hb=ca45de0dcbd2e361ab630bbee1d47ff6cf34d97c;hpb=ffd92ca2374c0b2218e583d02e0bdd24b8c110ae 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 b185d2b..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 val requiresLogin = false override fun createJsonObject(request: FreenetRequest) = request.parameters["post"].emptyToNull - ?.let(core::getPost) - ?.also(core::bookmarkPost) - ?.let { createSuccessJsonObject() } + ?.let { postId -> + core.getPost(postId)?.also(core::bookmarkPost) + createSuccessJsonObject() + } ?: createErrorJsonObject("invalid-post-id") }