1 package net.pterodactylus.sone.web.ajax
3 import net.pterodactylus.sone.utils.parameters
4 import net.pterodactylus.sone.web.WebInterface
5 import net.pterodactylus.sone.web.page.*
6 import javax.inject.Inject
9 * Lets the user [lock][net.pterodactylus.sone.core.Core.lockSone] a [Sone][net.pterodactylus.sone.data.Sone].
11 @ToadletPath("lockSone.ajax")
12 class LockSoneAjaxPage @Inject constructor(webInterface: WebInterface) : JsonPage(webInterface) {
14 override val requiresLogin = false
16 override fun createJsonObject(request: FreenetRequest) =
17 request.parameters["sone"]
18 .let(core::getLocalSone)
20 ?.let { createSuccessJsonObject() }
21 ?: createErrorJsonObject("invalid-sone-id")