1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-16 13:49:26 +00:00

TgFileUniqueId is value class now

This commit is contained in:
2024-03-16 20:21:29 +06:00
parent 7bbbf54775
commit bb62f9fbd6
19 changed files with 186 additions and 147 deletions

View File

@@ -10,7 +10,7 @@ data class ChatPhoto(
@SerialName(bigFileIdField)
val bigFileId: String,
@SerialName(smallFileUniqueIdField)
val smallFileUniqueId: FileUniqueId,
val smallFileUniqueId: TgFileUniqueId,
@SerialName(bigFileUniqueIdField)
val bigFileUniqueId: FileUniqueId
val bigFileUniqueId: TgFileUniqueId
)

View File

@@ -23,7 +23,6 @@ typealias StartParameter = String
typealias InlineMessageIdentifier = String
typealias PollIdentifier = String
typealias StickerSetName = String
typealias FileUniqueId = String
typealias DiceResult = Int
typealias FoursquareId = String
typealias FoursquareType = String

View File

@@ -0,0 +1,15 @@
package dev.inmo.tgbotapi.types
import kotlinx.serialization.Serializable
import kotlin.jvm.JvmInline
@Serializable
@JvmInline
value class TgFileUniqueId(
val string: String
)
@Deprecated(
"Renamed",
ReplaceWith("TgFileUniqueId", "dev.inmo.tgbotapi.types.TgFileUniqueId")
)
typealias FileUniqueId = TgFileUniqueId

View File

@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.utils.MimeType
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -12,7 +11,7 @@ data class AnimationFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
override val width: Int,
override val height: Int,
override val duration: Long? = null,

View File

@@ -12,7 +12,7 @@ data class AudioFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(durationField)
override val duration: Long? = null,
@SerialName(performerField)

View File

@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.utils.MimeType
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -12,7 +11,7 @@ data class DocumentFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(fileSizeField)
override val fileSize: Long? = null,
override val thumbnail: PhotoSize? = null,

View File

@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.files.*
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -11,7 +10,7 @@ data class File(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(fileSizeField)
override val fileSize: Long? = null
): TelegramMediaFile

View File

@@ -14,7 +14,7 @@ data class PassportFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(fileDateField)
val uploadingDate: TelegramDate,
@SerialName(fileSizeField)

View File

@@ -10,7 +10,7 @@ data class PathedFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(filePathField)
val filePath: String,
@SerialName(fileSizeField)

View File

@@ -2,10 +2,8 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.utils.RiskFeature
import kotlinx.serialization.*
import kotlinx.serialization.builtins.ListSerializer
import kotlin.jvm.JvmInline
@Serializable
@@ -17,7 +15,7 @@ value class Photo(
get() = biggest()!!
override val fileId: FileId
get() = biggest.fileId
override val fileUniqueId: FileUniqueId
override val fileUniqueId: TgFileUniqueId
get() = biggest.fileUniqueId
override val fileSize: Long?
get() = biggest.fileSize
@@ -41,7 +39,7 @@ data class PhotoSize(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(fileSizeField)
override val fileSize: Long? = null,
override val width: Int,

View File

@@ -16,7 +16,7 @@ import kotlinx.serialization.json.JsonElement
@RiskFeature("This class is used for serialization/deserialization of Sticker interface")
data class StickerSurrogate(
val file_id: FileId,
val file_unique_id: FileUniqueId,
val file_unique_id: TgFileUniqueId,
val type: StickerType,
val width: Int,
val height: Int,
@@ -248,7 +248,7 @@ data class RegularSimpleSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -279,7 +279,7 @@ data class RegularAnimatedSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -306,7 +306,7 @@ data class RegularVideoSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -348,7 +348,7 @@ data class MaskSimpleSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -379,7 +379,7 @@ data class MaskAnimatedSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -406,7 +406,7 @@ data class MaskVideoSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -449,7 +449,7 @@ data class CustomEmojiSimpleSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -482,7 +482,7 @@ data class CustomEmojiAnimatedSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -511,7 +511,7 @@ data class CustomEmojiVideoSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)
@@ -541,7 +541,7 @@ data class UnknownSticker(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)

View File

@@ -2,7 +2,7 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.FileUniqueId
import dev.inmo.tgbotapi.types.TgFileUniqueId
/**
* Declare common part of media files in Telegram. Note: it is not representation of JVM `File` type
@@ -10,6 +10,6 @@ import dev.inmo.tgbotapi.types.FileUniqueId
@ClassCastsIncluded
sealed interface TelegramMediaFile {
val fileId: FileId
val fileUniqueId: FileUniqueId
val fileUniqueId: TgFileUniqueId
val fileSize: Long?
}

View File

@@ -14,7 +14,7 @@ data class VideoFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(widthField)
override val width: Int,
@SerialName(heightField)

View File

@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.files.*
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -11,7 +10,7 @@ data class VideoNoteFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName("length")
override val width: Int,
override val duration: Long? = null,

View File

@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.types.files
import dev.inmo.tgbotapi.requests.abstracts.FileId
import dev.inmo.tgbotapi.types.*
import dev.inmo.tgbotapi.types.files.*
import dev.inmo.tgbotapi.utils.MimeType
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
@@ -12,7 +11,7 @@ data class VoiceFile(
@SerialName(fileIdField)
override val fileId: FileId,
@SerialName(fileUniqueIdField)
override val fileUniqueId: FileUniqueId,
override val fileUniqueId: TgFileUniqueId,
@SerialName(durationField)
override val duration: Long? = null,
@SerialName(mimeTypeField)

View File

@@ -1,6 +1,7 @@
package dev.inmo.tgbotapi
import dev.inmo.tgbotapi.requests.abstracts.toInputFile
import dev.inmo.tgbotapi.types.TgFileUniqueId
import dev.inmo.tgbotapi.types.files.Photo
import dev.inmo.tgbotapi.types.media.MediaGroupMemberTelegramMediaSerializer
import dev.inmo.tgbotapi.types.files.PhotoSize
@@ -23,7 +24,7 @@ class SimpleInputFilesTest {
val photoContent = PhotoContent(
Photo(
listOf(
PhotoSize("example_file_id".toInputFile(), "example_unique_file_id", 100, 100, 100)
PhotoSize("example_file_id".toInputFile(), TgFileUniqueId("example_unique_file_id"), 100, 100, 100)
)
)
)