From 1e322fb8ae0e249920798ac4967c8cc5817ee8f6 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Thu, 2 Nov 2023 18:46:48 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=83=AA=E3=83=A2=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=AE=E3=83=A1=E3=83=87=E3=82=A3=E3=82=A2=E3=82=92=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E3=81=97=E3=81=9F=E3=82=88=E3=81=86=E3=81=AB=E5=8B=95?= =?UTF-8?q?=E3=81=8B=E3=81=99=E5=87=A6=E7=90=86=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/media/MediaServiceImpl.kt | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/dev/usbharu/hideout/core/service/media/MediaServiceImpl.kt b/src/main/kotlin/dev/usbharu/hideout/core/service/media/MediaServiceImpl.kt index ee507aed..d439099d 100644 --- a/src/main/kotlin/dev/usbharu/hideout/core/service/media/MediaServiceImpl.kt +++ b/src/main/kotlin/dev/usbharu/hideout/core/service/media/MediaServiceImpl.kt @@ -3,9 +3,11 @@ package dev.usbharu.hideout.core.service.media import dev.usbharu.hideout.core.domain.exception.media.MediaFileSizeIsZeroException import dev.usbharu.hideout.core.domain.exception.media.MediaSaveException import dev.usbharu.hideout.core.domain.exception.media.UnsupportedMediaException +import dev.usbharu.hideout.core.domain.model.media.Media import dev.usbharu.hideout.core.domain.model.media.MediaRepository import dev.usbharu.hideout.core.service.media.converter.MediaProcessService import dev.usbharu.hideout.mastodon.interfaces.api.media.MediaRequest +import io.ktor.client.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.slf4j.LoggerFactory @@ -21,7 +23,8 @@ class MediaServiceImpl( private val fileTypeDeterminationService: FileTypeDeterminationService, private val mediaBlurhashService: MediaBlurhashService, private val mediaRepository: MediaRepository, - private val mediaProcessService: MediaProcessService + private val mediaProcessService: MediaProcessService, + private val httpClient: HttpClient ) : MediaService { override suspend fun uploadLocalMedia(mediaRequest: MediaRequest): EntityMedia { logger.info( @@ -88,7 +91,24 @@ class MediaServiceImpl( ) } - override suspend fun uploadRemoteMedia(remoteMedia: RemoteMedia) = Unit + + // TODO: 仮の処理として保存したように動かす + override suspend fun uploadRemoteMedia(remoteMedia: RemoteMedia): Media { + logger.info("MEDIA Remote media. filename:${remoteMedia.name} url:${remoteMedia.url}") + + return mediaRepository.save( + EntityMedia( + id = mediaRepository.generateId(), + name = remoteMedia.name, + url = remoteMedia.url, + remoteUrl = remoteMedia.url, + thumbnailUrl = remoteMedia.url, + type = FileType.Image, + blurHash = null + ) + ) + } + companion object { private val logger = LoggerFactory.getLogger(MediaServiceImpl::class.java)