2022-10-11 16:10:54 +00:00
|
|
|
package dev.lonami.talaria.data
|
|
|
|
|
2022-10-29 11:06:38 +00:00
|
|
|
import uniffi.talaria.Message
|
|
|
|
import uniffi.talaria.getMessages
|
|
|
|
import java.time.Instant
|
2022-10-11 16:10:54 +00:00
|
|
|
|
2022-10-29 11:06:38 +00:00
|
|
|
interface MessageRepository {
|
|
|
|
fun loadMessages(chat: String): List<Message>
|
|
|
|
fun sendMessage(chat: String, message: String): Message
|
|
|
|
}
|
|
|
|
|
|
|
|
class NativeMessageRepository : MessageRepository {
|
|
|
|
override fun loadMessages(chat: String): List<Message> {
|
|
|
|
return getMessages(chat)
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun sendMessage(chat: String, message: String): Message {
|
|
|
|
return uniffi.talaria.sendMessage(chat, message)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class MockMessageRepository(private var msgCounter: Int = 50) : MessageRepository {
|
|
|
|
override fun loadMessages(chat: String): List<Message> {
|
|
|
|
return (0 until 50).map {
|
|
|
|
Message(
|
|
|
|
id = it,
|
|
|
|
sender = "Alice",
|
|
|
|
text = "Testing",
|
|
|
|
date = Instant.now(),
|
|
|
|
editDate = null,
|
|
|
|
formatting = listOf(),
|
|
|
|
)
|
|
|
|
}.toList()
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun sendMessage(chat: String, message: String): Message {
|
|
|
|
return Message(
|
|
|
|
id = msgCounter++,
|
|
|
|
sender = "You",
|
|
|
|
text = message,
|
|
|
|
date = Instant.now(),
|
|
|
|
editDate = null,
|
|
|
|
formatting = listOf(),
|
|
|
|
)
|
2022-10-11 16:10:54 +00:00
|
|
|
}
|
|
|
|
}
|