diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/application/post/GetPostDetailApplicationService.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/application/post/GetPostDetailApplicationService.kt index 278c0afe..89dd080e 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/application/post/GetPostDetailApplicationService.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/application/post/GetPostDetailApplicationService.kt @@ -40,7 +40,7 @@ class GetPostDetailApplicationService( val iconMedia = actor.icon?.let { mediaRepository.findById(it) } - val mediaList = mediaRepository.findByIds(post.mediaIds) + val mediaList = mediaRepository.findByIdIn(post.mediaIds) val reactions = reactionsQueryService.findAllByPostId(post.id) @@ -82,7 +82,7 @@ class GetPostDetailApplicationService( actor to iconMedia } - val mediaList = mediaRepository.findByIds(post.mediaIds) + val mediaList = mediaRepository.findByIdIn(post.mediaIds) return PostDetail.of( post = post, actor = first, diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/media/MediaRepository.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/media/MediaRepository.kt index f762af7b..1237d2bc 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/media/MediaRepository.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/domain/model/media/MediaRepository.kt @@ -19,6 +19,6 @@ package dev.usbharu.hideout.core.domain.model.media interface MediaRepository { suspend fun save(media: Media): Media suspend fun findById(id: MediaId): Media? - suspend fun findByIds(ids: List): List + suspend fun findByIdIn(ids: List): List suspend fun delete(media: Media) } diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/MediaRepositoryImpl.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedMediaRepository.kt similarity index 94% rename from hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/MediaRepositoryImpl.kt rename to hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedMediaRepository.kt index 81fddc23..b6da65e8 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/MediaRepositoryImpl.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/exposedrepository/ExposedMediaRepository.kt @@ -27,7 +27,7 @@ import java.net.URI import dev.usbharu.hideout.core.domain.model.media.Media as EntityMedia @Repository -class MediaRepositoryImpl : MediaRepository, AbstractRepository() { +class ExposedMediaRepository : MediaRepository, AbstractRepository() { override val logger: Logger get() = Companion.logger @@ -51,12 +51,13 @@ class MediaRepositoryImpl : MediaRepository, AbstractRepository() { return query { return@query Media .selectAll().where { Media.id eq id.id } + .limit(1) .singleOrNull() ?.toMedia() } } - override suspend fun findByIds(ids: List): List { + override suspend fun findByIdIn(ids: List): List { return query { return@query Media .selectAll() @@ -72,7 +73,7 @@ class MediaRepositoryImpl : MediaRepository, AbstractRepository() { } companion object { - private val logger = LoggerFactory.getLogger(MediaRepositoryImpl::class.java) + private val logger = LoggerFactory.getLogger(ExposedMediaRepository::class.java) } } diff --git a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/timeline/DefaultTimelineStore.kt b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/timeline/DefaultTimelineStore.kt index c435bc85..e25751cd 100644 --- a/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/timeline/DefaultTimelineStore.kt +++ b/hideout-core/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/timeline/DefaultTimelineStore.kt @@ -158,7 +158,7 @@ open class DefaultTimelineStore( actorRepository.findAllById(actorIds).associateBy { it.id } override suspend fun getMedias(mediaIds: List): Map = - mediaRepository.findByIds(mediaIds).associateBy { it.id } + mediaRepository.findByIdIn(mediaIds).associateBy { it.id } override suspend fun getReactions(postIds: List): Map> = reactionsQueryService.findAllByPostIdIn(postIds).groupBy { PostId(it.postId) }