1 package net.pterodactylus.sone.core
3 import freenet.keys.FreenetURI
4 import net.pterodactylus.sone.data.Sone
5 import net.pterodactylus.sone.freenet.wot.OwnIdentity
8 * Injectable helper class that can create request and insert URIs for [Sones][Sone].
10 open class SoneUriCreator {
12 fun getRequestUri(sone: Sone): FreenetURI = sone.identity.requestUri
14 .sonify(sone.latestEdition)
16 open fun getInsertUri(sone: Sone): FreenetURI? = (sone.identity as? OwnIdentity)?.insertUri
18 ?.sonify(sone.latestEdition)
22 private fun FreenetURI.sonify(edition: Long): FreenetURI =
25 .setMetaString(emptyArray())
26 .setSuggestedEdition(edition)