TravelEventContentSerializerMappings simplified
This commit is contained in:
@@ -24,7 +24,7 @@ suspend fun main() {
|
||||
matrixApplicationServiceApiServer(
|
||||
hsToken = config.tokens.homeserver,
|
||||
applicationServiceApiServerHandler = createAppService(matrixApiClient),
|
||||
customMappings = TravelEventContentSerializerMappings
|
||||
customMappings = TravelEventContentSerializerMappings()
|
||||
)
|
||||
}.start(wait = true)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable
|
||||
import net.folivo.trixnity.core.model.events.MessageEventContent
|
||||
import net.folivo.trixnity.core.model.events.RelatesTo
|
||||
|
||||
const val TRAVEL_CREATED_MESSAGE_EVENT_ID = "eu.fosil.travel.created"
|
||||
const val TRAVEL_CREATED_MESSAGE_EVENT_TYPE = "eu.fosil.travel.created"
|
||||
|
||||
@Serializable
|
||||
data class TravelCreatedMessageEventContent(
|
||||
|
||||
@@ -6,7 +6,7 @@ import kotlinx.serialization.Serializable
|
||||
import net.folivo.trixnity.core.model.UserId
|
||||
import net.folivo.trixnity.core.model.events.StateEventContent
|
||||
|
||||
const val TRAVEL_CREATED_STATE_EVENT_ID = "eu.fosil.travel.created"
|
||||
const val TRAVEL_CREATED_STATE_EVENT_TYPE = "eu.fosil.travel.created"
|
||||
|
||||
@Serializable
|
||||
data class TravelCreatedStateEventContent(
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
package eu.fosil.okupamicoche.matrix.event
|
||||
|
||||
import net.folivo.trixnity.core.model.events.*
|
||||
import net.folivo.trixnity.core.model.events.MessageEventContent
|
||||
import net.folivo.trixnity.core.model.events.StateEventContent
|
||||
import net.folivo.trixnity.core.serialization.events.BaseEventContentSerializerMappings
|
||||
import net.folivo.trixnity.core.serialization.events.EventContentSerializerMapping
|
||||
import net.folivo.trixnity.core.serialization.events.EventContentSerializerMappings
|
||||
|
||||
object TravelEventContentSerializerMappings : EventContentSerializerMappings {
|
||||
class TravelEventContentSerializerMappings : BaseEventContentSerializerMappings() {
|
||||
override val message: Set<EventContentSerializerMapping<out MessageEventContent>> = setOf(
|
||||
EventContentSerializerMapping.of<TravelCreatedMessageEventContent>(TRAVEL_CREATED_MESSAGE_EVENT_ID)
|
||||
EventContentSerializerMapping.of<TravelCreatedMessageEventContent>(TRAVEL_CREATED_MESSAGE_EVENT_TYPE)
|
||||
)
|
||||
override val state: Set<EventContentSerializerMapping<out StateEventContent>> = setOf(
|
||||
EventContentSerializerMapping.of<TravelCreatedStateEventContent>(TRAVEL_CREATED_STATE_EVENT_ID)
|
||||
EventContentSerializerMapping.of<TravelCreatedStateEventContent>(TRAVEL_CREATED_STATE_EVENT_TYPE)
|
||||
)
|
||||
override val ephemeral: Set<EventContentSerializerMapping<out EphemeralEventContent>> = setOf()
|
||||
override val globalAccountData: Set<EventContentSerializerMapping<out GlobalAccountDataEventContent>> = setOf()
|
||||
override val roomAccountData: Set<EventContentSerializerMapping<out RoomAccountDataEventContent>> = setOf()
|
||||
override val toDevice: Set<EventContentSerializerMapping<out ToDeviceEventContent>> = setOf()
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import net.folivo.trixnity.clientserverapi.model.rooms.DirectoryVisibility
|
||||
import net.folivo.trixnity.core.model.RoomAliasId
|
||||
import net.folivo.trixnity.core.model.RoomId
|
||||
import net.folivo.trixnity.core.model.UserId
|
||||
import net.folivo.trixnity.core.serialization.events.DefaultEventContentSerializerMappings
|
||||
import net.folivo.trixnity.core.serialization.createEventContentSerializerMappings
|
||||
|
||||
private val logger = KotlinLogging.logger {}
|
||||
|
||||
@@ -19,7 +19,7 @@ val matrixApiClient = if (config == null) null else MatrixClientServerApiClient(
|
||||
(if (config.homeserver.secure) "https" else "http") +
|
||||
"://${config.homeserver.host}:${config.homeserver.port}"
|
||||
),
|
||||
eventContentSerializerMappings = DefaultEventContentSerializerMappings + TravelEventContentSerializerMappings
|
||||
eventContentSerializerMappings = createEventContentSerializerMappings(TravelEventContentSerializerMappings())
|
||||
).apply { accessToken.value = config.tokens.appService }
|
||||
|
||||
object MatrixApiClient {
|
||||
|
||||
@@ -5,7 +5,7 @@ import eu.fosil.okupamicoche.db.TravelEntity
|
||||
import eu.fosil.okupamicoche.matrix.MatrixApiClient
|
||||
import eu.fosil.okupamicoche.matrix.config
|
||||
import eu.fosil.okupamicoche.matrix.db
|
||||
import eu.fosil.okupamicoche.matrix.event.TRAVEL_CREATED_STATE_EVENT_ID
|
||||
import eu.fosil.okupamicoche.matrix.event.TRAVEL_CREATED_STATE_EVENT_TYPE
|
||||
import eu.fosil.okupamicoche.matrix.event.TravelCreatedMessageEventContent
|
||||
import eu.fosil.okupamicoche.matrix.event.TravelCreatedStateEventContent
|
||||
import eu.fosil.okupamicoche.matrix.matrixApiClient
|
||||
@@ -61,7 +61,7 @@ private suspend fun createRoom(travelOptions: TravelOptions, driver: UserId): Ro
|
||||
""
|
||||
)
|
||||
val powerLevels = PowerLevelsEventContent(
|
||||
events = mapOf(Pair(TRAVEL_CREATED_STATE_EVENT_ID, 100)),
|
||||
events = mapOf(Pair(TRAVEL_CREATED_STATE_EVENT_TYPE, 100)),
|
||||
users = mapOf(
|
||||
Pair(appServiceUserId, 100),
|
||||
Pair(driver, 50)
|
||||
|
||||
Reference in New Issue
Block a user