Восстановлены голосовые

This commit is contained in:
Халимов Рустам
2026-04-30 10:33:15 +03:00
parent 46c22300e9
commit 2d2e4b685e
6 changed files with 379 additions and 105 deletions
@@ -24,17 +24,21 @@ fun ChatDto.toDomain(currentUserId: String, baseUrl: String): Chat {
}
fun MessageDto.toDomain(currentUserId: String, baseUrl: String): Message {
val firstMedia = media.firstOrNull()
val isVoiceFromFilename = firstMedia?.filename?.endsWith(".mp3", ignoreCase = true) == true ||
firstMedia?.filename?.startsWith("voice_", ignoreCase = true) == true
val domainMediaType = when (type) {
"gif" -> MediaType.GIF
"image", "photo" -> MediaType.IMAGE
"video" -> MediaType.VIDEO
"audio", "voice" -> MediaType.AUDIO
"file" -> MediaType.FILE
else -> when (media.firstOrNull()?.type) {
"file" -> if (isVoiceFromFilename) MediaType.AUDIO else MediaType.FILE
else -> when (firstMedia?.type) {
"image", "photo" -> MediaType.IMAGE
"video" -> MediaType.VIDEO
"audio", "voice" -> MediaType.AUDIO
"file" -> MediaType.FILE
"file" -> if (isVoiceFromFilename) MediaType.AUDIO else MediaType.FILE
else -> MediaType.TEXT
}
}
@@ -51,7 +55,7 @@ fun MessageDto.toDomain(currentUserId: String, baseUrl: String): Message {
media = media.map {
chats.domain.model.Media(
id = it.id ?: java.util.UUID.randomUUID().toString(),
type = it.type ?: "unknown",
type = if (isVoiceFromFilename) "voice" else (it.type ?: "unknown"),
url = (it.url ?: "").ensureAbsoluteUrl(baseUrl),
filename = it.filename,
size = it.size,