20 lines
684 B
Kotlin
20 lines
684 B
Kotlin
package dev.inmo.postssystem.core.content.api.business.content_adapters.binary
|
|
|
|
import dev.inmo.micro_utils.common.ByteArrayAllocator
|
|
import dev.inmo.micro_utils.common.ByteArrayAllocatorSerializer
|
|
import dev.inmo.micro_utils.mime_types.KnownMimeTypes
|
|
import dev.inmo.micro_utils.mime_types.MimeType
|
|
import dev.inmo.postssystem.core.content.Content
|
|
import kotlinx.serialization.Serializable
|
|
|
|
@Serializable
|
|
data class BinaryContent(
|
|
val mimeType: MimeType,
|
|
val originalFileName: String,
|
|
@Serializable(ByteArrayAllocatorSerializer::class)
|
|
val dataAllocator: ByteArrayAllocator
|
|
) : Content
|
|
|
|
val BinaryContent.isImage: Boolean
|
|
get() = mimeType is KnownMimeTypes.Image
|