diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSource.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSource.kt index 3e1aa7bc..4f99f112 100644 --- a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSource.kt +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSource.kt @@ -3,10 +3,12 @@ package com.bff.wespot.data.remote.source.message import com.bff.wespot.data.remote.model.message.request.MessageContentDto import com.bff.wespot.data.remote.model.message.request.MessageTypeDto import com.bff.wespot.data.remote.model.message.request.SentMessageDto +import com.bff.wespot.data.remote.model.message.response.BlockedMessageListDto import com.bff.wespot.data.remote.model.message.response.MessageDto import com.bff.wespot.data.remote.model.message.response.MessageIdDto import com.bff.wespot.data.remote.model.message.response.MessageListDto import com.bff.wespot.data.remote.model.message.response.MessageStatusDto +import com.bff.wespot.model.message.response.Message interface MessageDataSource { suspend fun getMessageList( @@ -23,4 +25,6 @@ interface MessageDataSource { suspend fun editMessage(messageId: Int, sentMessageDto: SentMessageDto): Result suspend fun getMessage(messageId: Int): Result + + suspend fun getBlockedMessage(cursorId: Int): Result } diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSourceImpl.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSourceImpl.kt index ad76dc12..c9505966 100644 --- a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSourceImpl.kt +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/source/message/MessageDataSourceImpl.kt @@ -4,6 +4,7 @@ import com.bff.wespot.data.remote.model.message.request.MessageContentDto import com.bff.wespot.data.remote.model.message.request.MessageTypeDto import com.bff.wespot.data.remote.model.message.request.SentMessageDto import com.bff.wespot.data.remote.model.message.request.type +import com.bff.wespot.data.remote.model.message.response.BlockedMessageListDto import com.bff.wespot.data.remote.model.message.response.MessageDto import com.bff.wespot.data.remote.model.message.response.MessageIdDto import com.bff.wespot.data.remote.model.message.response.MessageListDto @@ -75,4 +76,13 @@ class MessageDataSourceImpl @Inject constructor( path("messages/$messageId") } } + + override suspend fun getBlockedMessage(cursorId: Int): Result = + httpClient.safeRequest { + url { + method = HttpMethod.Get + path("messages/blocked") + parameter("cursorId", cursorId) + } + } } diff --git a/data/src/main/kotlin/com/bff/wespot/data/repository/message/MessageRepositoryImpl.kt b/data/src/main/kotlin/com/bff/wespot/data/repository/message/MessageRepositoryImpl.kt index 5c82186b..42c0c97e 100644 --- a/data/src/main/kotlin/com/bff/wespot/data/repository/message/MessageRepositoryImpl.kt +++ b/data/src/main/kotlin/com/bff/wespot/data/repository/message/MessageRepositoryImpl.kt @@ -9,6 +9,7 @@ import com.bff.wespot.model.message.request.MessageType import com.bff.wespot.model.message.request.SentMessage import com.bff.wespot.model.message.response.MessageStatus import com.bff.wespot.data.remote.source.message.MessageDataSource +import com.bff.wespot.model.message.response.BlockedMessage import com.bff.wespot.model.message.response.Message import javax.inject.Inject @@ -47,4 +48,9 @@ class MessageRepositoryImpl @Inject constructor( messageDataSource.getMessage(messageId).mapCatching { messageDto -> messageDto.toMessage() } + + override suspend fun getBlockedMessage(cursorId: Int): Result> = + messageDataSource.getBlockedMessage(cursorId).mapCatching { listDto -> + listDto.messages.map { it.toBlockedMessage() } + } } diff --git a/domain/src/main/kotlin/com/bff/wespot/domain/repository/message/MessageRepository.kt b/domain/src/main/kotlin/com/bff/wespot/domain/repository/message/MessageRepository.kt index 8a2cd753..7d4ed20f 100644 --- a/domain/src/main/kotlin/com/bff/wespot/domain/repository/message/MessageRepository.kt +++ b/domain/src/main/kotlin/com/bff/wespot/domain/repository/message/MessageRepository.kt @@ -2,6 +2,7 @@ package com.bff.wespot.domain.repository.message import com.bff.wespot.model.message.request.MessageType import com.bff.wespot.model.message.request.SentMessage +import com.bff.wespot.model.message.response.BlockedMessage import com.bff.wespot.model.message.response.Message import com.bff.wespot.model.message.response.MessageList import com.bff.wespot.model.message.response.MessageStatus @@ -18,4 +19,6 @@ interface MessageRepository { suspend fun editMessage(messageId: Int, sentMessage: SentMessage): Result suspend fun getMessage(messageId: Int): Result + + suspend fun getBlockedMessage(cursorId: Int): Result> }