diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index 420a7557e1..6db61f09dc 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -2319,6 +2319,20 @@ public final class dev/inmo/tgbotapi/extensions/api/utils/UpdatesHandlingKt { public static synthetic fun updateHandlerWithMediaGroupsAdaptation$default (Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;JILjava/lang/Object;)Lkotlin/jvm/functions/Function2; } +public final class dev/inmo/tgbotapi/extensions/api/verifications/VerifyChatKt { + public static final fun verifyChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun verifyChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun verifyChat$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun verifyChat$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class dev/inmo/tgbotapi/extensions/api/verifications/VerifyUserKt { + public static final fun verifyUser (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun verifyUser$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun verifyUser-nc95W0g (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun verifyUser-nc95W0g$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/webhook/DeleteWebhookKt { public static final fun deleteWebhook (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyChat.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyChat.kt new file mode 100644 index 0000000000..06074f8d24 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyChat.kt @@ -0,0 +1,39 @@ +package dev.inmo.tgbotapi.extensions.api.verifications + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.verifications.VerifyChat +import dev.inmo.tgbotapi.types.ChatIdentifier +import dev.inmo.tgbotapi.types.chat.* +import dev.inmo.tgbotapi.types.chatIdField +import dev.inmo.tgbotapi.types.customDescriptionField +import kotlinx.serialization.SerialName + +public suspend fun TelegramBot.verifyChat( + chatId: ChatIdentifier, + description: String? = null +): Boolean = execute( + VerifyChat( + chatId = chatId, + description = description + ) +) + +/** + * This method may call [verifyUser] in case when [chat] is [PrivateChat] + */ +public suspend fun TelegramBot.verifyChat( + chat: Chat, + description: String? = null +): Boolean = when (chat) { + is PrivateChat -> verifyUser( + chat = chat, + description = description + ) + is UnknownExtendedChat, + is UnknownChatType, + is BusinessChat, + is PublicChat -> verifyChat( + chatId = chat.id, + description = description + ) +} diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyChatAndUser.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyChatAndUser.kt new file mode 100644 index 0000000000..8993410e31 --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyChatAndUser.kt @@ -0,0 +1,2 @@ +package dev.inmo.tgbotapi.extensions.api.verifications + diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyUser.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyUser.kt new file mode 100644 index 0000000000..d3d8d3f24f --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/verifications/VerifyUser.kt @@ -0,0 +1,26 @@ +package dev.inmo.tgbotapi.extensions.api.verifications + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.verifications.VerifyChat +import dev.inmo.tgbotapi.requests.verifications.VerifyUser +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.chat.Chat +import kotlinx.serialization.SerialName + +public suspend fun TelegramBot.verifyUser( + userId: UserId, + description: String? = null +): Boolean = execute( + VerifyUser( + userId = userId, + description = description + ) +) + +public suspend fun TelegramBot.verifyUser( + chat: Chat, + description: String? = null +): Boolean = verifyUser( + userId = chat.id.toChatId(), + description = description +) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 3a0afd3d70..a2503b05aa 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -7796,6 +7796,132 @@ public final class dev/inmo/tgbotapi/requests/stickers/abstracts/StickerSetActio public static fun getResultDeserializer (Ldev/inmo/tgbotapi/requests/stickers/abstracts/StickerSetAction;)Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification : dev/inmo/tgbotapi/abstracts/types/ChatRequest, dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification$Companion; + public fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public final fun copy (Ldev/inmo/tgbotapi/types/ChatIdentifier;)Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification;Ldev/inmo/tgbotapi/types/ChatIdentifier;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification; + public fun equals (Ljava/lang/Object;)Z + public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public synthetic class dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/verifications/RemoveChatVerification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/RemoveUserVerification : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification$Companion; + public synthetic fun (JLkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-tHkBKVM ()J + public final fun copy-HZVsHAI (J)Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification; + public static synthetic fun copy-HZVsHAI$default (Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification;JILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification; + public fun equals (Ljava/lang/Object;)Z + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getUserId-tHkBKVM ()J + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public synthetic class dev/inmo/tgbotapi/requests/verifications/RemoveUserVerification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/verifications/RemoveUserVerification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/RemoveUserVerification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/VerifyChat : dev/inmo/tgbotapi/abstracts/types/ChatRequest, dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/verifications/VerifyChat$Companion; + public fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;)Ldev/inmo/tgbotapi/requests/verifications/VerifyChat; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/requests/verifications/VerifyChat;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/verifications/VerifyChat; + public fun equals (Ljava/lang/Object;)Z + public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public final fun getDescription ()Ljava/lang/String; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public synthetic class dev/inmo/tgbotapi/requests/verifications/VerifyChat$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/verifications/VerifyChat$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/verifications/VerifyChat; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/verifications/VerifyChat;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/VerifyChat$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/VerifyUser : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/verifications/VerifyUser$Companion; + public synthetic fun (JLjava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (JLjava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-tHkBKVM ()J + public final fun component2 ()Ljava/lang/String; + public final fun copy-zv9neSE (JLjava/lang/String;)Ldev/inmo/tgbotapi/requests/verifications/VerifyUser; + public static synthetic fun copy-zv9neSE$default (Ldev/inmo/tgbotapi/requests/verifications/VerifyUser;JLjava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/verifications/VerifyUser; + public fun equals (Ljava/lang/Object;)Z + public final fun getDescription ()Ljava/lang/String; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getUserId-tHkBKVM ()J + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public synthetic class dev/inmo/tgbotapi/requests/verifications/VerifyUser$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/verifications/VerifyUser$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/verifications/VerifyUser; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/verifications/VerifyUser;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/verifications/VerifyUser$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/requests/webhook/DeleteWebhook : dev/inmo/tgbotapi/requests/abstracts/SimpleRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/webhook/DeleteWebhook$Companion; public fun ()V @@ -8927,6 +9053,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field creatorField Ljava/lang/String; public static final field credentialsField Ljava/lang/String; public static final field currencyField Ljava/lang/String; + public static final field customDescriptionField Ljava/lang/String; public static final field customEmojiField Ljava/lang/String; public static final field customEmojiIdField Ljava/lang/String; public static final field customEmojiIdsField Ljava/lang/String; diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification.kt new file mode 100644 index 0000000000..f88994a53f --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/RemoveChatVerification.kt @@ -0,0 +1,23 @@ +package dev.inmo.tgbotapi.requests.verifications + +import dev.inmo.tgbotapi.abstracts.types.ChatRequest +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.* +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + + +@Serializable +data class RemoveChatVerification( + @SerialName(chatIdField) + override val chatId: ChatIdentifier, +): ChatRequest, SimpleRequest { + override fun method(): String = "removeChatVerification" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/RemoveUserVerification.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/RemoveUserVerification.kt new file mode 100644 index 0000000000..594364eabe --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/RemoveUserVerification.kt @@ -0,0 +1,23 @@ +package dev.inmo.tgbotapi.requests.verifications + +import dev.inmo.tgbotapi.abstracts.types.ChatRequest +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.* +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + + +@Serializable +data class RemoveUserVerification( + @SerialName(userIdField) + val userId: UserId, +): SimpleRequest { + override fun method(): String = "removeUserVerification" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/VerifyChat.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/VerifyChat.kt new file mode 100644 index 0000000000..bd0f661d8e --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/VerifyChat.kt @@ -0,0 +1,28 @@ +package dev.inmo.tgbotapi.requests.verifications + +import dev.inmo.tgbotapi.abstracts.types.ChatRequest +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.ChatIdentifier +import dev.inmo.tgbotapi.types.chatIdField +import dev.inmo.tgbotapi.types.customDescriptionField +import dev.inmo.tgbotapi.types.descriptionField +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + + +@Serializable +data class VerifyChat( + @SerialName(chatIdField) + override val chatId: ChatIdentifier, + @SerialName(customDescriptionField) + val description: String? = null +): ChatRequest, SimpleRequest { + override fun method(): String = "verifyChat" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/VerifyUser.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/VerifyUser.kt new file mode 100644 index 0000000000..235d38f969 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/verifications/VerifyUser.kt @@ -0,0 +1,25 @@ +package dev.inmo.tgbotapi.requests.verifications + +import dev.inmo.tgbotapi.abstracts.types.ChatRequest +import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest +import dev.inmo.tgbotapi.types.* +import kotlinx.serialization.DeserializationStrategy +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.SerializationStrategy +import kotlinx.serialization.builtins.serializer + + +@Serializable +data class VerifyUser( + @SerialName(userIdField) + val userId: UserId, + @SerialName(customDescriptionField) + val description: String? = null +): SimpleRequest { + override fun method(): String = "verifyUser" + override val resultDeserializer: DeserializationStrategy + get() = Boolean.serializer() + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 5e9c10c239..381b049e1c 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -427,6 +427,7 @@ const val emojiField = "emoji" const val emojisField = "emojis" const val titleField = "title" const val descriptionField = "description" +const val customDescriptionField = "custom_description" const val shortDescriptionField = "short_description" const val performerField = "performer" const val durationField = "duration"