sicamp-helper/src/main/kotlin/ru/sicamp/sicamphelper/model/response/ResponseWrapper.kt
2023-07-30 22:48:17 +04:00

23 lines
778 B
Kotlin

package ru.sicamp.sicamphelper.model.response
import org.telegram.telegrambots.meta.api.methods.send.SendMessage
import ru.sicamp.sicamphelper.model.metadata.MetaData
import ru.sicamp.sicamphelper.model.metadata.RequestSource
import ru.sicamp.sicamphelper.db.entity.User
data class ResponseWrapper<RES: Response>(
val issuer: User,
val source: RequestSource,
val metaData: MetaData?,
val response: RES?
) {
fun getTelegramMessage(): SendMessage? {
return if (response is TelegramResponse && source == RequestSource.TELEGRAM) {
issuer.tgId?.let {
response.buildMessage().chatId(it).build()
} ?: error("Not found chatId for user with id=${issuer.id.value}")
} else {
null
}
}
}