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
|