diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerAffiliateProgram.kt b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerAffiliateProgram.kt new file mode 100644 index 00000000..f05ccdba --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerAffiliateProgram.kt @@ -0,0 +1,14 @@ +package com.pengrad.telegrambot.model.stars.partner + +import com.pengrad.telegrambot.model.User +import com.pengrad.telegrambot.model.stars.partner.TransactionPartnerType.AFFILIATE_PROGRAM + +data class TransactionPartnerAffiliateProgram( + @get:JvmName("sponsorUser") val sponsorUser: User? = null, + @get:JvmName("commissionPerMille") val commissionPerMille: Int +) : TransactionPartner { + + override val type: String + get() = AFFILIATE_PROGRAM + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerType.kt b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerType.kt index 6664aac9..b3922be1 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerType.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerType.kt @@ -3,6 +3,7 @@ package com.pengrad.telegrambot.model.stars.partner object TransactionPartnerType { const val USER = "user" + const val AFFILIATE_PROGRAM = "affiliate_program" const val FRAGMENT = "fragment" const val TELEGRAM_ADS = "telegram_ads" const val TELEGRAM_API = "telegram_api" diff --git a/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.kt b/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.kt index 560ba7cd..e7aa219b 100644 --- a/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.kt +++ b/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.kt @@ -2,6 +2,7 @@ package com.pengrad.telegrambot.utility.gson import com.google.gson.* import com.pengrad.telegrambot.model.stars.partner.* +import com.pengrad.telegrambot.model.stars.partner.TransactionPartnerType.AFFILIATE_PROGRAM import com.pengrad.telegrambot.model.stars.partner.TransactionPartnerType.FRAGMENT import com.pengrad.telegrambot.model.stars.partner.TransactionPartnerType.OTHER import com.pengrad.telegrambot.model.stars.partner.TransactionPartnerType.TELEGRAM_ADS @@ -14,6 +15,7 @@ object TransactionPartnerTypeAdapter : JsonDeserializer { private val typeMapping = mapOf( USER to TransactionPartnerUser::class, + AFFILIATE_PROGRAM to TransactionPartnerAffiliateProgram::class, FRAGMENT to TransactionPartnerFragment::class, TELEGRAM_ADS to TransactionPartnerTelegramAds::class, TELEGRAM_API to TransactionPartnerTelegramApi::class,