DirectoryUiModel.kt
package chat.rocket.android.directory.uimodel
import chat.rocket.android.util.extensions.avatarUrl
import chat.rocket.common.model.Token
import chat.rocket.core.model.DirectoryResult
class DirectoryUiModel(
private val directoryResult: DirectoryResult,
private val baseUrl: String?,
private val token: Token?
) {
val id: String = directoryResult.id
val channelAvatarUri: String?
val userAvatarUri: String?
val name: String = directoryResult.name
val username: String = "@${directoryResult.username}"
val serverUrl: String = "" // TODO
val description: String = "" // TODO
val totalMembers: String = "" // TODO
init {
channelAvatarUri = getChannelAvatar()
userAvatarUri = getUserAvatar()
}
private fun getChannelAvatar(): String? {
return baseUrl?.avatarUrl(name, token?.userId, token?.authToken, isGroupOrChannel = true)
}
private fun getUserAvatar(): String? {
return directoryResult.username?.let {
baseUrl?.avatarUrl(it, token?.userId, token?.authToken)
}
}
}