Второй этап выхода из офлайн режима
This commit is contained in:
@@ -140,12 +140,12 @@ class ChatRepositoryImpl @Inject constructor(
|
||||
}
|
||||
|
||||
override suspend fun getMessages(
|
||||
chatId: String, cursor: String?, pivot: Long?, limit: Int?
|
||||
chatId: String, cursor: String?, pivot: Long?, afterSequenceId: Long?, limit: Int?
|
||||
): List<Message> {
|
||||
val currentUserId = tokenManager.getUserId() ?: ""
|
||||
return try {
|
||||
Log.d(TAG, "Fetching messages from API: chatId=$chatId")
|
||||
val messages = api.getMessages(chatId, cursor = cursor, limit = limit)
|
||||
Log.d(TAG, "Fetching messages from API: chatId=$chatId, afterSequenceId=$afterSequenceId, limit=$limit")
|
||||
val messages = api.getMessages(chatId, cursor = cursor, pivot = pivot, afterSequenceId = afterSequenceId, limit = limit)
|
||||
|
||||
if (messages.isNotEmpty()) {
|
||||
val entities = messages.map { it.toEntity(baseUrl, currentUserId, gson) }
|
||||
@@ -160,6 +160,15 @@ class ChatRepositoryImpl @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun getLastKnownSequenceId(chatId: String): Int? {
|
||||
return try {
|
||||
messageDao.getMaxSequenceId(chatId)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Failed to get last sequenceId", e)
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun sendMessage(
|
||||
chatId: String, content: String?, type: String,
|
||||
attachments: List<chats.data.remote.api.AttachmentRequest>?,
|
||||
|
||||
Reference in New Issue
Block a user