package dev.lonami.talaria.data import uniffi.talaria.Message import uniffi.talaria.getMessages import java.time.Instant interface MessageRepository { fun loadMessages(chat: String): List fun sendMessage(chat: String, message: String): Message } class NativeMessageRepository : MessageRepository { override fun loadMessages(chat: String): List { 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 { 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(), ) } }