chore: add ADMIN_MESSAGE_TOKEN to VPS docker-compose config

This commit is contained in:
Jens Reinemann 2026-05-18 14:13:52 +02:00
parent 61ef0aa1ac
commit 64ebb737d1
4 changed files with 10 additions and 15 deletions

View file

@ -70,20 +70,11 @@ internal class MessageRepositoryImpl @Inject constructor(
when (event) { when (event) {
is WebSocketEvent.NewMessage -> { is WebSocketEvent.NewMessage -> {
val msg = event.message val msg = event.message
val decryptedBody = when { val decryptedBody = try {
msg.body.startsWith("[PLAINTEXT] ") -> { e2eeKeyManager.decryptMessage(msg.body)
// Admin test messages remove prefix } catch (e: Exception) {
msg.body.removePrefix("[PLAINTEXT] ") Log.e(TAG, "E2EE: Failed to decrypt message ${msg.id}", e)
} "[Entschlüsselung fehlgeschlagen]"
else -> {
// E2EE messages decrypt
try {
e2eeKeyManager.decryptMessage(msg.body)
} catch (e: Exception) {
Log.e(TAG, "E2EE: Failed to decrypt message ${msg.id}", e)
"[Entschlüsselung fehlgeschlagen]"
}
}
} }
dao.upsert( dao.upsert(
MessageEntity( MessageEntity(

View file

@ -80,6 +80,7 @@ exposed-core = { group = "org.jetbrains.exposed", name = "exposed-core", version
exposed-jdbc = { group = "org.jetbrains.exposed", name = "exposed-jdbc", version.ref = "exposed" } exposed-jdbc = { group = "org.jetbrains.exposed", name = "exposed-jdbc", version.ref = "exposed" }
h2-database = { group = "com.h2database", name = "h2", version.ref = "h2" } h2-database = { group = "com.h2database", name = "h2", version.ref = "h2" }
tink-android = { module = "com.google.crypto.tink:tink-android", version.ref = "tink" } tink-android = { module = "com.google.crypto.tink:tink-android", version.ref = "tink" }
tink = { module = "com.google.crypto.tink:tink", version.ref = "tink" }
postgresql = { group = "org.postgresql", name = "postgresql", version.ref = "postgresql" } postgresql = { group = "org.postgresql", name = "postgresql", version.ref = "postgresql" }
hikaricp = { group = "com.zaxxer", name = "HikariCP", version.ref = "hikaricp" } hikaricp = { group = "com.zaxxer", name = "HikariCP", version.ref = "hikaricp" }

View file

@ -45,6 +45,7 @@ dependencies {
implementation(libs.postgresql) implementation(libs.postgresql)
implementation(libs.hikaricp) implementation(libs.hikaricp)
implementation(libs.flyway.core) implementation(libs.flyway.core)
implementation(libs.tink)
testImplementation(libs.h2.database) testImplementation(libs.h2.database)
testImplementation(libs.ktor.server.test.host) testImplementation(libs.ktor.server.test.host)

View file

@ -12,6 +12,7 @@ import de.bollwerk.server.routes.userRoutes
import de.bollwerk.server.routes.versionRoutes import de.bollwerk.server.routes.versionRoutes
import de.bollwerk.server.routes.webSocketRoutes import de.bollwerk.server.routes.webSocketRoutes
import de.bollwerk.server.security.JwtService import de.bollwerk.server.security.JwtService
import de.bollwerk.server.service.AdminMessageService
import de.bollwerk.server.store.VersionStore import de.bollwerk.server.store.VersionStore
import de.bollwerk.server.websocket.WebSocketManager import de.bollwerk.server.websocket.WebSocketManager
import io.ktor.http.* import io.ktor.http.*
@ -35,6 +36,7 @@ internal fun Application.configureRouting(
messageRepository: MessageRepository = MessageRepository(), messageRepository: MessageRepository = MessageRepository(),
jwtService: JwtService = JwtService(environment.config), jwtService: JwtService = JwtService(environment.config),
wsManager: WebSocketManager = WebSocketManager(), wsManager: WebSocketManager = WebSocketManager(),
adminMessageService: AdminMessageService = AdminMessageService(userRepository),
backupDir: File = File("/backups"), backupDir: File = File("/backups"),
versionStore: VersionStore? = null versionStore: VersionStore? = null
) { ) {
@ -93,7 +95,7 @@ internal fun Application.configureRouting(
adminRoutes(userRepository, inventoryRepository, backupDir) adminRoutes(userRepository, inventoryRepository, backupDir)
} }
rateLimit(RATE_LIMIT_MESSAGES) { rateLimit(RATE_LIMIT_MESSAGES) {
messageRoutes(messageRepository, userRepository, wsManager) messageRoutes(messageRepository, userRepository, wsManager, adminMessageService)
} }
userRoutes(userRepository, wsManager) userRoutes(userRepository, wsManager)
} }