1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-06-21 02:35:11 +00:00

Make ChatJoinRequestQueryResult inheritors data objects + serializable

- Approve/Decline/Queue are now data object
- each inheritor (and Unknown) annotated with the shared
  ChatJoinRequestQueryResult.Companion serializer
- companion PrimitiveSerialDescriptor serial name is "ChatJoinRequestQueryResult"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-19 18:49:42 +06:00
parent 0188c65319
commit df5018ecf5
2 changed files with 25 additions and 4 deletions

View File

@@ -3408,7 +3408,11 @@ public abstract interface class dev/inmo/tgbotapi/requests/chat/invite_links/Cha
public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Approve : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult { public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Approve : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult {
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Approve; public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Approve;
public fun equals (Ljava/lang/Object;)Z
public fun getName ()Ljava/lang/String; public fun getName ()Ljava/lang/String;
public fun hashCode ()I
public final fun serializer ()Lkotlinx/serialization/KSerializer;
public fun toString ()Ljava/lang/String;
} }
public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Companion : kotlinx/serialization/KSerializer { public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Companion : kotlinx/serialization/KSerializer {
@@ -3422,15 +3426,24 @@ public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQ
public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Decline : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult { public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Decline : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult {
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Decline; public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Decline;
public fun equals (Ljava/lang/Object;)Z
public fun getName ()Ljava/lang/String; public fun getName ()Ljava/lang/String;
public fun hashCode ()I
public final fun serializer ()Lkotlinx/serialization/KSerializer;
public fun toString ()Ljava/lang/String;
} }
public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Queue : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult { public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Queue : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult {
public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Queue; public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Queue;
public fun equals (Ljava/lang/Object;)Z
public fun getName ()Ljava/lang/String; public fun getName ()Ljava/lang/String;
public fun hashCode ()I
public final fun serializer ()Lkotlinx/serialization/KSerializer;
public fun toString ()Ljava/lang/String;
} }
public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Unknown : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult { public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Unknown : dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult {
public static final field Companion Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Unknown$Companion;
public fun <init> (Ljava/lang/String;)V public fun <init> (Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String; public final fun component1 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Unknown; public final fun copy (Ljava/lang/String;)Ldev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Unknown;
@@ -3441,6 +3454,10 @@ public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQ
public fun toString ()Ljava/lang/String; public fun toString ()Ljava/lang/String;
} }
public final class dev/inmo/tgbotapi/requests/chat/invite_links/ChatJoinRequestQueryResult$Unknown$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
public abstract interface class dev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink : dev/inmo/tgbotapi/requests/chat/abstracts/EditChatInviteLinkRequest { public abstract interface class dev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink : dev/inmo/tgbotapi/requests/chat/abstracts/EditChatInviteLinkRequest {
public static final field Companion Ldev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink$Companion; public static final field Companion Ldev/inmo/tgbotapi/requests/chat/invite_links/CreateChatInviteLink$Companion;
public abstract fun getExpirationUnixTimeStamp ()Ldev/inmo/tgbotapi/types/TelegramDate; public abstract fun getExpirationUnixTimeStamp ()Ldev/inmo/tgbotapi/types/TelegramDate;

View File

@@ -28,32 +28,36 @@ sealed interface ChatJoinRequestQueryResult {
/** /**
* Allow the user to join the chat. * Allow the user to join the chat.
*/ */
object Approve : ChatJoinRequestQueryResult { @Serializable(ChatJoinRequestQueryResult.Companion::class)
data object Approve : ChatJoinRequestQueryResult {
override val name: String = "approve" override val name: String = "approve"
} }
/** /**
* Disallow the user to join the chat. * Disallow the user to join the chat.
*/ */
object Decline : ChatJoinRequestQueryResult { @Serializable(ChatJoinRequestQueryResult.Companion::class)
data object Decline : ChatJoinRequestQueryResult {
override val name: String = "decline" override val name: String = "decline"
} }
/** /**
* Leave the decision to other administrators. * Leave the decision to other administrators.
*/ */
object Queue : ChatJoinRequestQueryResult { @Serializable(ChatJoinRequestQueryResult.Companion::class)
data object Queue : ChatJoinRequestQueryResult {
override val name: String = "queue" override val name: String = "queue"
} }
/** /**
* Any other result which is currently unknown to this library. * Any other result which is currently unknown to this library.
*/ */
@Serializable(ChatJoinRequestQueryResult.Companion::class)
data class Unknown(override val name: String) : ChatJoinRequestQueryResult data class Unknown(override val name: String) : ChatJoinRequestQueryResult
companion object : KSerializer<ChatJoinRequestQueryResult> { companion object : KSerializer<ChatJoinRequestQueryResult> {
override val descriptor: SerialDescriptor = override val descriptor: SerialDescriptor =
PrimitiveSerialDescriptor("dev.inmo.tgbotapi.requests.chat.invite_links.ChatJoinRequestQueryResult", PrimitiveKind.STRING) PrimitiveSerialDescriptor("ChatJoinRequestQueryResult", PrimitiveKind.STRING)
override fun serialize(encoder: Encoder, value: ChatJoinRequestQueryResult) { override fun serialize(encoder: Encoder, value: ChatJoinRequestQueryResult) {
encoder.encodeString(value.name) encoder.encodeString(value.name)