From 65d27b0461a047d92cf12b9ffd879ca3f7c4e667 Mon Sep 17 00:00:00 2001 From: Eneko Date: Fri, 26 Mar 2021 01:05:47 +0100 Subject: [PATCH] Initial MatrixService and added kotlin-logging --- build.gradle.kts | 1 + .../spring/services/MatrixService.kt | 17 +++++++++++++++++ .../eu/fosil/okupamicoche/usecases/MatrixApi.kt | 5 +++++ src/main/resources/application.yml | 5 +++++ 4 files changed, 28 insertions(+) create mode 100644 src/main/kotlin/eu/fosil/okupamicoche/spring/services/MatrixService.kt create mode 100644 src/main/kotlin/eu/fosil/okupamicoche/usecases/MatrixApi.kt diff --git a/build.gradle.kts b/build.gradle.kts index 4359fc9..60eeec6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") + implementation("io.github.microutils:kotlin-logging-jvm:2.0.6") // https://mvnrepository.com/artifact/net.folivo/matrix-spring-boot-bot implementation (group = "net.folivo", name = "matrix-spring-boot-bot", version = "0.4.5") developmentOnly("org.springframework.boot:spring-boot-devtools") diff --git a/src/main/kotlin/eu/fosil/okupamicoche/spring/services/MatrixService.kt b/src/main/kotlin/eu/fosil/okupamicoche/spring/services/MatrixService.kt new file mode 100644 index 0000000..852a325 --- /dev/null +++ b/src/main/kotlin/eu/fosil/okupamicoche/spring/services/MatrixService.kt @@ -0,0 +1,17 @@ +package eu.fosil.okupamicoche.spring.services + +import eu.fosil.okupamicoche.usecases.MatrixApi +import mu.KotlinLogging +import net.folivo.matrix.core.model.MatrixId +import net.folivo.matrix.restclient.MatrixClient +import org.springframework.stereotype.Service + +@Service +class MatrixService(val matrixClient: MatrixClient): MatrixApi { + private val logger = KotlinLogging.logger {} + + override suspend fun createRoom(name: String) { + logger.debug { "Creating room name" } + matrixClient.roomsApi.createRoom(name = name, roomAliasId = MatrixId.RoomAliasId("#$name:synapse")) + } +} \ No newline at end of file diff --git a/src/main/kotlin/eu/fosil/okupamicoche/usecases/MatrixApi.kt b/src/main/kotlin/eu/fosil/okupamicoche/usecases/MatrixApi.kt new file mode 100644 index 0000000..b23cacc --- /dev/null +++ b/src/main/kotlin/eu/fosil/okupamicoche/usecases/MatrixApi.kt @@ -0,0 +1,5 @@ +package eu.fosil.okupamicoche.usecases + +interface MatrixApi { + suspend fun createRoom(name: String) +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index baf1905..a3a3315 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,6 @@ server: port: 8081 + spring: datasource: driver-class-name: org.h2.Driver @@ -14,6 +15,10 @@ spring: jwt: issuer-uri: http://localhost:8080/auth/realms/okupamicoche +logging: + level: + eu.fosil.okupamicoche: DEBUG + matrix: bot: # The domain-part of matrix-ids. E. g. example.org when your userIds look like @unicorn:example.org