X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fkotlin%2Fnet%2Fpterodactylus%2Fsone%2Fdatabase%2Fmemory%2FMemoryPost.kt;h=b3664c2c3702472ffcfb5d7aa5cb316e7e802493;hp=c435084ac2c5c89049d6bae44550fcf9e0125c3f;hb=2a9ef0e07136d8c56f4eea32ed49e43bfd5e576f;hpb=73ba74461ca2dd1da89f322aa87035f710fe4865 diff --git a/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt b/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt index c435084..b3664c2 100644 --- a/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt +++ b/src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryPost.kt @@ -18,6 +18,7 @@ package net.pterodactylus.sone.database.memory import net.pterodactylus.sone.data.Post import net.pterodactylus.sone.data.Sone +import net.pterodactylus.sone.database.PostBuilder import net.pterodactylus.sone.database.SoneProvider import net.pterodactylus.sone.utils.asOptional @@ -25,7 +26,7 @@ import net.pterodactylus.sone.utils.asOptional * A post is a short message that a user writes in his Sone to let other users * know what is going on. */ -internal class MemoryPost( +class MemoryPost( private val postDatabase: MemoryDatabase, private val soneProvider: SoneProvider, override val id: String, @@ -59,4 +60,13 @@ internal class MemoryPost( override fun toString() = "${javaClass.name}[id=$id,sone=$soneId,recipient=$recipientId,time=$time,text=$text]" + data class Shell(val id: String, val soneId: String, val recipientId: String?, val time: Long, val text: String) { + + fun build(postBuilder: PostBuilder) = + postBuilder.withId(id).from(soneId).let { if (recipientId != null) it.to(recipientId) else it }.withTime(time).withText(text).build() + + } + } + +fun Post.toShell() = MemoryPost.Shell(id, sone!!.id, recipient.orNull()?.id, time, text)