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( 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 } } }