ian.shaun.thomas
03/25/2021, 1:02 PMallProviders
as mentioned here: https://kotlinlang.slack.com/archives/C0BLU9K96/p1615530173009900?thread_ts=1615493023.009800&cid=C0BLU9K96Big Chungus
03/25/2021, 1:05 PMJoost Klitsie
03/25/2021, 1:10 PMJoost Klitsie
03/25/2021, 1:10 PMJoost Klitsie
03/25/2021, 1:13 PMfor (bind in di().container.tree.bindings) {
val bindClass = bind.key.type.jvmType as? Class<*>?
if (bindClass != null && Component::class.java.isAssignableFrom(bindClass)) {
val res by di().Instance(bind.key.type, bind.key.tag)
println("Registering '$res' routes...")
with(res as Component) {
installRouting(this@routeWithRules)
}
}
}
Joost Klitsie
03/25/2021, 1:14 PMJoost Klitsie
03/25/2021, 1:14 PMdi().container.tree.bindings.mapNotNull { bind ->
val bindClass = bind.key.type.jvmType as? Class<*>?
if (bindClass != null && DBRepository::class.java.isAssignableFrom(bindClass)) {
val res by di().Instance(bind.key.type)
res as DBRepository<*, *>
}
else {
null
}
}.onNotEmpty { dbRepositories ->
Database.connect(hikari())
transaction {
dbRepositories.forEach { dbRepository ->
dbRepository.initialize()
}
}
}
Joost Klitsie
03/25/2021, 1:14 PMBig Chungus
03/25/2021, 1:15 PMBig Chungus
03/25/2021, 1:16 PMJoost Klitsie
03/25/2021, 1:17 PMJoost Klitsie
03/25/2021, 1:17 PMian.shaun.thomas
03/25/2021, 1:18 PMian.shaun.thomas
03/25/2021, 1:19 PMian.shaun.thomas
03/25/2021, 1:19 PM