5 KOIN-Integration in Server (closes #5)
This commit is contained in:
1 parent
c62ee0c2e6
commit
60f70ece4a
8 files changed
+48
-9
No files matched your search
@@ -77,10 +77,11 @@ koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose" }
|
||||
koin-compose = { module = "io.insert-koin:koin-compose" }
|
||||
koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel" }
|
||||
koin-compose-viewmodel-navigation = { module = "io.insert-koin:koin-compose-viewmodel-navigation" }
|
||||
koin-ktor = { module = "io.insert-koin:koin-ktor" }
|
||||
koin-logger-slf4j = { module = "io.insert-koin:koin-logger-slf4j" }
|
||||
koin-test = { module = "io.insert-koin:koin-test" }
|
||||
# z.Zt. alpha
|
||||
#koin-compose-viewmodel-navigation3 = { module = "io.insert-koin:koin-compose-viewmodel-navigation3" }
|
||||
koin-ktor = { module = "io.insert-koin:koin-ktor" }
|
||||
koin-test = { module = "io.insert-koin:koin-test" }
|
||||
# ----
|
||||
|
||||
# Settings vorerst ohne externe Hilfe
|
||||
|
||||
@@ -3,6 +3,7 @@ plugins {
|
||||
alias(libs.plugins.ktor)
|
||||
application
|
||||
alias(libs.plugins.kotlinSerialization)
|
||||
alias(libs.plugins.koin.compiler)
|
||||
alias(masterLibs.plugins.versionPlugin)
|
||||
}
|
||||
|
||||
@@ -27,11 +28,16 @@ dependencies {
|
||||
implementation(libs.ktor.serverCore)
|
||||
implementation(libs.ktor.serverNetty)
|
||||
implementation(libs.ktor.serverAuth)
|
||||
implementation(libs.ktor.serverAuthApiKey)
|
||||
implementation(libs.ktor.serverAuthJwt)
|
||||
implementation(libs.ktor.serverContentNegotiation)
|
||||
implementation(libs.ktor.serializationJson)
|
||||
|
||||
implementation(project.dependencies.platform(libs.koin.bom))
|
||||
implementation(libs.koin.logger.slf4j)
|
||||
implementation(libs.koin.annotations)
|
||||
implementation(libs.koin.ktor)
|
||||
// implementation("io.insert-koin:koin-logger-slf4j:4.1.2-Beta1")
|
||||
|
||||
testImplementation(libs.ktor.serverTestHost)
|
||||
testImplementation(libs.kotlin.testJunit)
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#auto generated
|
||||
#Sat Feb 07 17:52:53 CET 2026
|
||||
build.number=25
|
||||
#Sat Feb 07 20:02:00 CET 2026
|
||||
build.number=27
|
||||
@@ -3,6 +3,7 @@ package net.keinekekse.app
|
||||
import io.github.oshai.kotlinlogging.KotlinLogging
|
||||
import io.ktor.server.application.*
|
||||
import net.keinekekse.app.server.VERSION
|
||||
import net.keinekekse.app.server.config.configureKoin
|
||||
import net.keinekekse.app.server.config.configureRouting
|
||||
import net.keinekekse.app.server.config.configureSecurity
|
||||
|
||||
@@ -22,6 +23,7 @@ fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)
|
||||
fun Application.module() {
|
||||
logger.info { "\n**\n** Starting ${VERSION.displayName} - ${VERSION.description} ${VERSION.fullVersion}\n**" }
|
||||
|
||||
configureKoin()
|
||||
configureSecurity()
|
||||
configureRouting()
|
||||
}
|
||||
@@ -3,14 +3,14 @@ package net.keinekekse.app.server
|
||||
import net.keinekekse.version.Version
|
||||
|
||||
object VERSION: Version {
|
||||
override val version = "0.1.0-beta.1+build.25"
|
||||
override val fullVersion = "0.1.0-beta.1+build.25"
|
||||
override val version = "0.1.0-beta.1+build.27"
|
||||
override val fullVersion = "0.1.0-beta.1+build.27"
|
||||
override val major = 0
|
||||
override val minor = 1
|
||||
override val patch = 0
|
||||
override val preRelease = "beta.1"
|
||||
override val buildMetadata = "build.25"
|
||||
override val buildDate = "2026-02-07T16:52:53.281643Z"
|
||||
override val buildMetadata = "build.27"
|
||||
override val buildDate = "2026-02-07T19:02:00.909145Z"
|
||||
override val displayName = "kAS"
|
||||
override val copyright = "Copyright (c) 2026 Hartmut Bauer"
|
||||
override val name = "server"
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package net.keinekekse.app.server.config
|
||||
|
||||
import io.ktor.server.application.*
|
||||
import net.keinekekse.app.server.di.KoinApp
|
||||
import org.koin.dsl.koinConfiguration
|
||||
import org.koin.logger.slf4jLogger
|
||||
import org.koin.plugin.module.dsl.withConfiguration
|
||||
|
||||
fun Application.configureKoin() {
|
||||
koinConfiguration {
|
||||
slf4jLogger()
|
||||
withConfiguration<KoinApp>()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package net.keinekekse.app.server.di
|
||||
|
||||
import org.koin.core.annotation.KoinApplication
|
||||
|
||||
@KoinApplication
|
||||
class KoinApp
|
||||
@@ -0,0 +1,10 @@
|
||||
package net.keinekekse.app.server.di
|
||||
|
||||
import org.koin.core.annotation.ComponentScan
|
||||
import org.koin.core.annotation.Configuration
|
||||
import org.koin.core.annotation.Module
|
||||
|
||||
@Module
|
||||
@ComponentScan("net.keinekekse.app")
|
||||
@Configuration
|
||||
class KoinModule
|
||||
Reference in new issue
Block a user