From 0013e91f6ee07acd3605f2ab8906f30c5c36f2b3 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Tue, 9 Jan 2024 17:52:13 +0600 Subject: [PATCH] fix of build and add annotation to all fields with one --- tgbotapi.api/build.gradle | 3 +++ .../inmo/tgbotapi/extensions/api/DeleteMessages.kt | 3 +++ .../inmo/tgbotapi/extensions/api/ForwardMessages.kt | 3 +++ .../tgbotapi/extensions/api/send/CopyMessages.kt | 3 +++ .../inmo/tgbotapi/requests/abstracts/InputFile.kt | 1 + .../chat/invite_links/CreateChatInviteLink.kt | 1 + .../requests/chat/invite_links/EditChatInviteLink.kt | 1 + .../kotlin/dev/inmo/tgbotapi/types/MenuButton.kt | 6 +++++- .../inmo/tgbotapi/types/boosts/ChatBoostSource.kt | 12 ++++++++---- .../inmo/tgbotapi/types/buttons/KeyboardButton.kt | 1 + .../dev/inmo/tgbotapi/types/buttons/ReplyForce.kt | 1 + .../tgbotapi/types/buttons/ReplyKeyboardRemove.kt | 1 + .../types/chat/member/AdministratorChatMemberImpl.kt | 1 + .../tgbotapi/types/chat/member/KickedChatMember.kt | 1 + .../tgbotapi/types/chat/member/LeftChatMemberImpl.kt | 1 + .../types/chat/member/MemberChatMemberImpl.kt | 1 + .../tgbotapi/types/chat/member/OwnerChatMember.kt | 1 + .../types/chat/member/RestrictedChatMember.kt | 1 + .../inmo/tgbotapi/types/commands/BotCommandScope.kt | 7 +++++++ .../tgbotapi/types/giveaway/GiveawayPublicResults.kt | 7 +++---- .../dev/inmo/tgbotapi/types/message/MessageOrigin.kt | 10 ++++++---- .../tgbotapi/types/passport/PassportElementError.kt | 9 +++++++++ 22 files changed, 62 insertions(+), 13 deletions(-) diff --git a/tgbotapi.api/build.gradle b/tgbotapi.api/build.gradle index 6c3723a5ed..20b3969dc6 100644 --- a/tgbotapi.api/build.gradle +++ b/tgbotapi.api/build.gradle @@ -16,6 +16,9 @@ kotlin { api project(":tgbotapi.core") } } + configureEach { + languageSettings.optIn("kotlinx.serialization.ExperimentalSerializationApi") + } } } diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/DeleteMessages.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/DeleteMessages.kt index 5ce39e0d10..ee392340b9 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/DeleteMessages.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/DeleteMessages.kt @@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.DeleteMessages import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage import dev.inmo.tgbotapi.types.message.abstracts.Message +import kotlin.jvm.JvmName suspend fun TelegramBot.deleteMessages( chatId: ChatIdentifier, @@ -44,6 +45,7 @@ suspend fun TelegramBot.deleteMessages( ) }.all { it } +@JvmName("deleteMessagesWithMessages") suspend fun TelegramBot.deleteMessages( messages: List ) = deleteMessages(messages.map { it.metaInfo }) @@ -70,6 +72,7 @@ suspend fun TelegramBot.delete( messagesMetas: List ) = deleteMessages(messagesMetas) +@JvmName("deleteWithMessages") suspend fun TelegramBot.delete( messages: List ) = deleteMessages(messages) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/ForwardMessages.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/ForwardMessages.kt index 1bbbd5a966..d30b499ad4 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/ForwardMessages.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/ForwardMessages.kt @@ -6,6 +6,7 @@ import dev.inmo.tgbotapi.requests.ForwardMessages import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage import dev.inmo.tgbotapi.types.message.abstracts.Message +import kotlin.jvm.JvmName suspend fun TelegramBot.forwardMessages( toChatId: ChatIdentifier, @@ -85,6 +86,7 @@ suspend fun TelegramBot.forwardMessages( ) } +@JvmName("forwardMessagesWithMessages") suspend fun TelegramBot.forwardMessages( toChatId: ChatIdentifier, messages: List, @@ -173,6 +175,7 @@ suspend fun TelegramBot.forward( removeCaption = removeCaption ) +@JvmName("forwardWithMessages") suspend fun TelegramBot.forward( toChatId: ChatIdentifier, messages: List, diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/CopyMessages.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/CopyMessages.kt index 7dbdc51103..f9d2265c6b 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/CopyMessages.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/send/CopyMessages.kt @@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.send.CopyMessages import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage import dev.inmo.tgbotapi.types.message.abstracts.Message +import kotlin.jvm.JvmName suspend fun TelegramBot.copyMessages( toChatId: ChatIdentifier, @@ -84,6 +85,7 @@ suspend fun TelegramBot.copyMessages( ) } +@JvmName("copyMessagesWithMessages") suspend fun TelegramBot.copyMessages( toChatId: ChatIdentifier, messages: List, @@ -172,6 +174,7 @@ suspend fun TelegramBot.copy( removeCaption = removeCaption ) +@JvmName("copyWithMessages") suspend fun TelegramBot.copy( toChatId: ChatIdentifier, messages: List, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt index 8aeebbfd18..b382b40c95 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/abstracts/InputFile.kt @@ -98,6 +98,7 @@ data class MultipartFile ( private val inputSource: () -> Input ) : InputFile() { @Required + @EncodeDefault override val fileId: String = "${uuid4()}.${filename.fileExtension}" val input: Input get() = inputSource() diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink.kt index 10d4e8b026..18a375ba8b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink.kt @@ -112,6 +112,7 @@ data class CreateChatInviteLinkWithJoinRequest( override val expirationUnixTimeStamp: TelegramDate? = null, ) : CreateChatInviteLink, WithJoinRequestChatInviteLinkRequest { @Required + @EncodeDefault @SerialName(createsJoinRequestField) private val createsJoinRequest: Boolean = true diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/EditChatInviteLink.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/EditChatInviteLink.kt index 4872196740..7ef53689d7 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/EditChatInviteLink.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/invite_links/EditChatInviteLink.kt @@ -126,6 +126,7 @@ data class EditChatInviteLinkWithJoinRequest( ) : EditChatInviteLink, WithJoinRequestChatInviteLinkRequest { @Required + @EncodeDefault @SerialName(createsJoinRequestField) private val createsJoinRequest: Boolean = true diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/MenuButton.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/MenuButton.kt index 25b9f71159..d7395598e2 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/MenuButton.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/MenuButton.kt @@ -9,13 +9,15 @@ import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.json.* @Serializable(MenuButtonSerializer::class) +@OptIn(ExperimentalSerializationApi::class) sealed interface MenuButton { - @Required + @EncodeDefault val type: String @Serializable object Commands : MenuButton { @Required + @EncodeDefault override val type: String get() = "commands" } @@ -27,6 +29,7 @@ sealed interface MenuButton { val webApp: WebAppInfo ) : MenuButton { @Required + @EncodeDefault override val type: String get() = Companion.type @@ -39,6 +42,7 @@ sealed interface MenuButton { @Serializable object Default : MenuButton { @Required + @EncodeDefault override val type: String get() = "default" } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/boosts/ChatBoostSource.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/boosts/ChatBoostSource.kt index 1fc74ec9c8..a4cb6d9fe8 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/boosts/ChatBoostSource.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/boosts/ChatBoostSource.kt @@ -4,10 +4,7 @@ import dev.inmo.tgbotapi.abstracts.WithMessageId import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.chat.PreviewUser import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded -import kotlinx.serialization.KSerializer -import kotlinx.serialization.Required -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 @@ -31,6 +28,7 @@ sealed interface ChatBoostSource { override val user: PreviewUser ) : ByUser { @Required + @EncodeDefault @SerialName(sourceField) override val sourceName: String = sourceCode @@ -45,6 +43,7 @@ sealed interface ChatBoostSource { override val user: PreviewUser ) : ByUser { @Required + @EncodeDefault @SerialName(sourceField) override val sourceName: String = sourceCode @@ -67,9 +66,11 @@ sealed interface ChatBoostSource { override val user: PreviewUser ) : Giveaway, ByUser { @Required + @EncodeDefault @SerialName(sourceField) override val sourceName: String = Giveaway.sourceCode @Required + @EncodeDefault @SerialName(isUnclaimedField) override val unclaimed: Boolean = false } @@ -80,9 +81,11 @@ sealed interface ChatBoostSource { override val messageId: MessageId ) : Giveaway { @Required + @EncodeDefault @SerialName(sourceField) override val sourceName: String = Giveaway.sourceCode @Required + @EncodeDefault @SerialName(isUnclaimedField) override val unclaimed: Boolean = true @SerialName(userField) @@ -104,6 +107,7 @@ sealed interface ChatBoostSource { @Serializable private data class Surrogate( @Required + @EncodeDefault @SerialName(sourceField) val sourceName: String, @SerialName(userField) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/KeyboardButton.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/KeyboardButton.kt index c7b2aaaa37..a51385927b 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/KeyboardButton.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/KeyboardButton.kt @@ -65,6 +65,7 @@ data class RequestLocationKeyboardButton( ) : KeyboardButton { @SerialName(requestLocationField) @Required + @EncodeDefault val requestLocation: Boolean = true } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyForce.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyForce.kt index 51368f2594..e5c970e7d2 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyForce.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyForce.kt @@ -11,6 +11,7 @@ data class ReplyForce( ) : KeyboardMarkup { @SerialName(forceReplyField) @Required + @EncodeDefault val forceReply: Boolean = true companion object { diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyKeyboardRemove.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyKeyboardRemove.kt index 16bbce7dad..aa79b820f8 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyKeyboardRemove.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/buttons/ReplyKeyboardRemove.kt @@ -8,5 +8,6 @@ data class ReplyKeyboardRemove( ) : KeyboardMarkup { @SerialName("remove_keyboard") @Required + @EncodeDefault val removeKeyboard: Boolean = true } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt index 928fdf8ae6..757cacf244 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt @@ -45,5 +45,6 @@ data class AdministratorChatMemberImpl( ) : AdministratorChatMember { @SerialName(statusField) @Required + @EncodeDefault override val status: ChatMember.Status = ChatMember.Status.Administrator } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt index 3da3b37c53..2ae0b29ae0 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt @@ -13,5 +13,6 @@ data class KickedChatMember( ) : BannedChatMember { @SerialName(statusField) @Required + @EncodeDefault override val status: ChatMember.Status = ChatMember.Status.Kicked } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/LeftChatMemberImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/LeftChatMemberImpl.kt index aae25344e3..1060213cd0 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/LeftChatMemberImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/LeftChatMemberImpl.kt @@ -11,5 +11,6 @@ data class LeftChatMemberImpl( ) : LeftChatMember { @SerialName(statusField) @Required + @EncodeDefault override val status: ChatMember.Status = ChatMember.Status.Left } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt index 9edd84d50c..43f9ad4b54 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt @@ -11,5 +11,6 @@ data class MemberChatMemberImpl( ) : MemberChatMember { @SerialName(statusField) @Required + @EncodeDefault override val status: ChatMember.Status = ChatMember.Status.Member } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt index 9be0119f5f..666fa2b8b5 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt @@ -45,5 +45,6 @@ data class OwnerChatMember( @SerialName(statusField) @Required + @EncodeDefault override val status: ChatMember.Status = ChatMember.Status.Creator } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt index 1d1b3b9e6c..0167262e1a 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt @@ -44,5 +44,6 @@ data class RestrictedChatMember( ) : BannedChatMember, SpecialRightsChatMember, ChatPermissions { @SerialName(statusField) @Required + @EncodeDefault override val status: ChatMember.Status = ChatMember.Status.Restricted } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/commands/BotCommandScope.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/commands/BotCommandScope.kt index ce1aa93bee..9102d43a0a 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/commands/BotCommandScope.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/commands/BotCommandScope.kt @@ -71,24 +71,28 @@ data class UnknownBotCommandScope internal constructor( @Serializable object BotCommandScopeDefault : BotCommandScope { @Required + @EncodeDefault override val type: String = "default" } @Serializable object BotCommandScopeAllPrivateChats : BotCommandScope { @Required + @EncodeDefault override val type: String = "all_private_chats" } @Serializable object BotCommandScopeAllGroupChats : BotCommandScope { @Required + @EncodeDefault override val type: String = "all_group_chats" } @Serializable object BotCommandScopeAllChatAdministrators : BotCommandScope { @Required + @EncodeDefault override val type: String = "all_chat_administrators" } @@ -102,6 +106,7 @@ data class BotCommandScopeChatAdministrators( override val chatId: ChatIdentifier ) : ChatBotCommandScope { @Required + @EncodeDefault override val type: String = BotCommandScopeChatAdministrators.type companion object { const val type = "chat_administrators" @@ -113,6 +118,7 @@ data class BotCommandScopeChat( override val chatId: ChatIdentifier ) : ChatBotCommandScope { @Required + @EncodeDefault override val type: String = BotCommandScopeChat.type companion object { const val type = "chat" @@ -125,6 +131,7 @@ data class BotCommandScopeChatMember( val userId: UserId ) : ChatBotCommandScope { @Required + @EncodeDefault override val type: String = BotCommandScopeChatMember.type companion object { const val type = "chat_member" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/giveaway/GiveawayPublicResults.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/giveaway/GiveawayPublicResults.kt index 192e2521b1..850c0122e4 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/giveaway/GiveawayPublicResults.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/giveaway/GiveawayPublicResults.kt @@ -4,10 +4,7 @@ import dev.inmo.tgbotapi.abstracts.WithPreviewChatAndMessageId import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.chat.PreviewChat import dev.inmo.tgbotapi.types.chat.PreviewUser -import kotlinx.serialization.KSerializer -import kotlinx.serialization.Required -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 @@ -32,6 +29,7 @@ sealed interface GiveawayPublicResults: GiveawayInfo, GiveawayResults, WithPrevi ) : GiveawayPublicResults { @SerialName(wasRefundedField) @Required + @EncodeDefault override val refunded: Boolean = true @SerialName(winnersCountField) override val count: Int = 0 @@ -78,6 +76,7 @@ sealed interface GiveawayPublicResults: GiveawayInfo, GiveawayResults, WithPrevi ) : GiveawayPublicResults { @SerialName(wasRefundedField) @Required + @EncodeDefault override val refunded: Boolean = false } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/MessageOrigin.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/MessageOrigin.kt index f6b886b4de..e2ff425a35 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/MessageOrigin.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/MessageOrigin.kt @@ -2,10 +2,7 @@ package dev.inmo.tgbotapi.types.message import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.chat.* -import kotlinx.serialization.KSerializer -import kotlinx.serialization.Required -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 @@ -27,6 +24,7 @@ sealed interface MessageOrigin { ) : MessageOrigin { @SerialName(typeField) @Required + @EncodeDefault override val type: String = Companion.type companion object { @@ -43,6 +41,7 @@ sealed interface MessageOrigin { ) : MessageOrigin { @SerialName(typeField) @Required + @EncodeDefault override val type: String = Companion.type companion object { @@ -66,6 +65,7 @@ sealed interface MessageOrigin { ) : Public { @SerialName(typeField) @Required + @EncodeDefault override val type: String = Companion.type companion object { @@ -86,6 +86,7 @@ sealed interface MessageOrigin { ) : Public { @SerialName(typeField) @Required + @EncodeDefault override val type: String = Companion.type companion object { @@ -105,6 +106,7 @@ sealed interface MessageOrigin { private data class Surrogate( @SerialName(typeField) @Required + @EncodeDefault val type: String, @SerialName(senderChatField) val senderChat: PreviewChat? = null, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/passport/PassportElementError.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/passport/PassportElementError.kt index 214cf39c52..7d4c929e1f 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/passport/PassportElementError.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/passport/PassportElementError.kt @@ -100,6 +100,7 @@ data class PassportElementErrorDataField( ) : PassportSingleElementError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = dataField } fun EncryptedPassportElementWithData.createDataError(field: String, message: String) = PassportElementErrorDataField( @@ -121,6 +122,7 @@ data class PassportElementErrorFrontSide( ) : PassportElementFileError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = frontSideField } fun EncryptedPassportElementWithFrontSide.createFrontSideError(message: String, unencryptedFileHash: PassportElementHash) = PassportElementErrorFrontSide( @@ -141,6 +143,7 @@ data class PassportElementErrorReverseSide( ) : PassportElementFileError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = reverseSideField } fun EncryptedPassportElementWithReverseSide.createReverseSideError(message: String, unencryptedFileHash: PassportElementHash) = PassportElementErrorReverseSide( @@ -160,6 +163,7 @@ data class PassportElementErrorSelfie( ) : PassportElementFileError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = selfieField } fun EncryptedPassportElementWithSelfie.createSelfieError(message: String, unencryptedFileHash: PassportElementHash) = PassportElementErrorSelfie( @@ -181,6 +185,7 @@ data class PassportElementErrorFile( ) : PassportElementFileError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = fileField } fun EncryptedPassportElementWithFilesCollection.createFileError(message: String, unencryptedFileHash: PassportElementHash) = PassportElementErrorFile( @@ -200,6 +205,7 @@ data class PassportElementErrorFiles( ) : PassportElementFilesError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = filesField } fun EncryptedPassportElementWithFilesCollection.createFilesError(message: String, unencryptedFileHashes: List) = PassportElementErrorFiles( @@ -221,6 +227,7 @@ data class PassportElementErrorTranslationFile( ) : PassportElementFileError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = translationFileField } fun EncryptedPassportElementTranslatable.createFileError(message: String, unencryptedFileHash: PassportElementHash) = PassportElementErrorTranslationFile( @@ -239,6 +246,7 @@ data class PassportElementErrorTranslationFiles( ) : PassportElementFilesError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = translationFilesField } fun EncryptedPassportElementTranslatable.createFilesError(message: String, unencryptedFileHashes: List) = PassportElementErrorTranslationFiles( @@ -259,6 +267,7 @@ data class PassportElementErrorUnspecified( ) : PassportElementFileError() { @SerialName(sourceField) @Required + @EncodeDefault override val source: String = unspecifiedField } fun EncryptedPassportElement.createUnspecifiedError(message: String, elementHash: PassportElementHash) = PassportElementErrorUnspecified(