42 lines
1.2 KiB
Kotlin
42 lines
1.2 KiB
Kotlin
package com.aiosman.ravenow.data
|
|
|
|
import com.aiosman.ravenow.data.api.ApiClient
|
|
import com.aiosman.ravenow.data.api.UpdateChatNotificationRequestBody
|
|
import com.aiosman.ravenow.entity.ChatNotification
|
|
|
|
interface ChatService {
|
|
suspend fun getChatNotifications(
|
|
targetTrtcId: String
|
|
): ChatNotification?
|
|
|
|
suspend fun updateChatNotification(
|
|
targetUserId: Int,
|
|
strategy: String
|
|
): ChatNotification
|
|
}
|
|
|
|
class ChatServiceImpl : ChatService {
|
|
override suspend fun getChatNotifications(
|
|
targetTrtcId: String
|
|
): ChatNotification? {
|
|
val resp = ApiClient.api.getChatNotification(targetTrtcId)
|
|
if (resp.isSuccessful) {
|
|
return resp.body()?.data
|
|
}
|
|
return null
|
|
}
|
|
|
|
override suspend fun updateChatNotification(
|
|
targetUserId: Int,
|
|
strategy: String
|
|
): ChatNotification {
|
|
val resp = ApiClient.api.updateChatNotification(UpdateChatNotificationRequestBody(
|
|
targetUserId = targetUserId,
|
|
strategy = strategy
|
|
))
|
|
if (resp.isSuccessful) {
|
|
return resp.body()?.data!!
|
|
}
|
|
throw Exception("update chat notification failed")
|
|
}
|
|
} |