23 lines
778 B
Kotlin
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
|
|
}
|
|
}
|
|
}
|