1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-11-16 20:10:18 +00:00

fixes in business connections

This commit is contained in:
2024-04-19 17:36:38 +06:00
parent 0a9235bcd9
commit ab9718b7c6
7 changed files with 24 additions and 67 deletions

View File

@@ -1,10 +1,10 @@
package dev.inmo.tgbotapi.requests.get
import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
import dev.inmo.tgbotapi.types.businessConnectionIdField
import dev.inmo.tgbotapi.types.business_connection.BusinessConnection
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
import dev.inmo.tgbotapi.types.files.PathedFile
import dev.inmo.tgbotapi.types.idField
import kotlinx.serialization.DeserializationStrategy
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -12,15 +12,15 @@ import kotlinx.serialization.SerializationStrategy
@Serializable
data class GetBusinessConnection(
@SerialName(idField)
val id: BusinessConnectionId
) : SimpleRequest<BusinessConnection> {
@SerialName(businessConnectionIdField)
override val businessConnectionId: BusinessConnectionId
) : SimpleRequest<BusinessConnection>, WithBusinessConnectionId {
override fun method(): String {
return "getBusinessConnection"
}
override val resultDeserializer: DeserializationStrategy<BusinessConnection>
get() = BusinessConnection.serializer()
get() = BusinessConnection.Companion
override val requestSerializer: SerializationStrategy<*>
get() = serializer()
}

View File

@@ -4,15 +4,12 @@ import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewUser
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import kotlinx.serialization.EncodeDefault
import kotlinx.serialization.KSerializer
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.*
import kotlinx.serialization.descriptors.SerialDescriptor
import kotlinx.serialization.encoding.Decoder
import kotlinx.serialization.encoding.Encoder
@Serializable
@Serializable(BusinessConnection.Companion::class)
@ClassCastsIncluded
sealed interface BusinessConnection : WithBusinessConnectionId {
val id: BusinessConnectionId
@@ -59,6 +56,7 @@ sealed interface BusinessConnection : WithBusinessConnectionId {
override val isEnabled: Boolean = false
}
@Serializer(BusinessConnection::class)
companion object : KSerializer<BusinessConnection> {
override val descriptor: SerialDescriptor
get() = RawBusinessConnection.serializer().descriptor
@@ -69,8 +67,7 @@ sealed interface BusinessConnection : WithBusinessConnectionId {
}
override fun serialize(encoder: Encoder, value: BusinessConnection) {
RawBusinessConnection.serializer().serialize(encoder, RawBusinessConnection(value))
}
}
}

View File

@@ -2,11 +2,8 @@ package dev.inmo.tgbotapi.types.business_connection
import dev.inmo.tgbotapi.abstracts.types.WithBusinessConnectionId
import dev.inmo.tgbotapi.abstracts.types.WithOptionalBusinessConnectionId
import dev.inmo.tgbotapi.types.MessageId
import dev.inmo.tgbotapi.types.businessConnectionIdField
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.chat.PreviewChat
import dev.inmo.tgbotapi.types.chatField
import dev.inmo.tgbotapi.types.messageIdField
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -16,6 +13,6 @@ data class BusinessMessagesDeleted(
override val businessConnectionId: BusinessConnectionId,
@SerialName(chatField)
val chat: PreviewChat,
@SerialName(messageIdField)
val messageId: MessageId
@SerialName(messageIdsField)
val messageIds: List<MessageId>
) : WithBusinessConnectionId

View File

@@ -6,7 +6,7 @@ import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@Serializable
data class RawBusinessConnection(
internal data class RawBusinessConnection(
@SerialName(idField)
val id: BusinessConnectionId,
@SerialName(userField)

View File

@@ -49,6 +49,7 @@ internal data class RawUpdate constructor(
private val message_reaction_count: ChatMessageReactionsCountUpdated? = null,
private val chat_boost: ChatBoostUpdated? = null,
private val removed_chat_boost: ChatBoostRemoved? = null,
@Serializable(BusinessConnection.Companion::class)
private val business_connection: BusinessConnection? = null,
@Serializable(TelegramBotAPIMessageDeserializeOnlySerializer::class)
private val business_message: BusinessContentMessage<*>? = null,