1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2024-06-14 05:45:26 +00:00
tgbotapi/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/answers/payments/AnswerShippingQuery.kt

56 lines
1.6 KiB
Kotlin
Raw Normal View History

2020-10-04 11:06:30 +00:00
package dev.inmo.tgbotapi.requests.answers.payments
2018-12-26 08:07:24 +00:00
2020-10-04 11:06:30 +00:00
import dev.inmo.tgbotapi.requests.answers.payments.abstracts.AnswerShippingQuery
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.payments.ShippingOption
import dev.inmo.tgbotapi.types.payments.ShippingQuery
2021-05-29 09:34:14 +00:00
import dev.inmo.tgbotapi.utils.RiskFeature
2018-12-26 08:07:24 +00:00
import kotlinx.serialization.*
2020-03-22 07:37:01 +00:00
import kotlinx.serialization.builtins.ListSerializer
2018-12-26 08:07:24 +00:00
@Serializable
data class AnswerShippingQueryOk(
@SerialName(shippingQueryIdField)
2024-03-16 15:17:36 +00:00
override val shippingQueryId: ShippingQueryId,
2018-12-26 08:07:24 +00:00
@Serializable(ShippingOptionsSerializer::class)
@SerialName(shippingOptionsField)
val shippingOptions: List<ShippingOption>
) : AnswerShippingQuery {
@SerialName(okField)
override val isOk: Boolean = true
2019-12-02 08:35:37 +00:00
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
2018-12-26 08:07:24 +00:00
}
2021-05-29 09:34:14 +00:00
@RiskFeature
object ShippingOptionsSerializer : KSerializer<List<ShippingOption>> by ListSerializer(
2018-12-26 08:07:24 +00:00
ShippingOption.serializer()
)
@Serializable
data class AnswerShippingQueryError(
@SerialName(shippingQueryIdField)
2024-03-16 15:17:36 +00:00
override val shippingQueryId: ShippingQueryId,
2018-12-26 08:07:24 +00:00
@SerialName(errorMessageField)
val error: String
) : AnswerShippingQuery {
@SerialName(okField)
override val isOk: Boolean = false
2019-12-02 08:35:37 +00:00
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
2018-12-26 08:07:24 +00:00
}
fun ShippingQuery.createAnswerOk(
shippingOptions: List<ShippingOption>
): AnswerShippingQueryOk = AnswerShippingQueryOk(
id,
shippingOptions
)
fun ShippingQuery.createAnswerError(
error: String
): AnswerShippingQueryError = AnswerShippingQueryError(
id,
error
)