fixed getRoomName()
This commit is contained in:
@@ -10,7 +10,7 @@ class Travel(
|
||||
var room: RoomId,
|
||||
var driver: UserId,
|
||||
var options: TravelOptions,
|
||||
var travelers: List<UserId> = listOf(),
|
||||
var travelers: List<Pair<UserId, Int>> = listOf(),
|
||||
var duplicateNum: Int? = null,
|
||||
var canceled: Boolean = false
|
||||
)
|
||||
@@ -39,9 +39,10 @@ class TravelOptions(
|
||||
return "Travel ${from}-${to} $date $time"
|
||||
}
|
||||
|
||||
fun getRoomName(duplicateNum: Int?, travelers: List<UserId>? = null): String {
|
||||
fun getRoomName(duplicateNum: Int?, travelers: List<Pair<UserId, Int>>? = null): String {
|
||||
val attemptSuffix = if ((duplicateNum ?: 0) > 0) " ($duplicateNum)" else ""
|
||||
val availableSeats = seats - (travelers?.size ?: 0)
|
||||
val usedSeats = travelers?.sumOf { it.second } ?: 0
|
||||
val availableSeats = seats - usedSeats
|
||||
|
||||
return getRoomNamePrefix() + " | $availableSeats seats available" + attemptSuffix
|
||||
}
|
||||
|
||||
@@ -52,7 +52,12 @@ object TravelRepository {
|
||||
suspend fun getTravelers(roomId: RoomId) = MatrixApiClient.client.rooms.getState(roomId).getOrNull()?.filter {
|
||||
val content = it.content
|
||||
(content is TravelMembershipStateEventContent) && (content.membership == Membership.JOIN.value)
|
||||
}?.map { UserId("@${it.stateKey}") }
|
||||
}?.map {
|
||||
Pair(
|
||||
UserId("@${it.stateKey}"),
|
||||
(it.content as TravelMembershipStateEventContent).seats
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun getUsedSeats(roomId: RoomId) = MatrixApiClient.client.rooms.getState(roomId).getOrNull()?.map {
|
||||
it.content
|
||||
|
||||
Reference in New Issue
Block a user