refactor: split up room into a module, and move client module

This commit is contained in:
Cilly Leang 2026-04-01 22:48:04 +11:00
parent c55e3a3232
commit 104a77b27e
Signed by: cilly
GPG key ID: 6500251E087653C9
60 changed files with 220 additions and 170 deletions

View file

@ -39,4 +39,6 @@ dependencies {
implementation(libs.sqlite.bundled)
testImplementation(libs.ktor.server.tests)
testImplementation(libs.kotlin.test.junit)
implementation(projects.shared.room)
}

View file

@ -19,12 +19,11 @@ import kotlinx.datetime.LocalDate
import kotlinx.datetime.TimeZone
import kotlinx.datetime.todayIn
import moe.lava.banksia.Constants
import moe.lava.banksia.di.CommonModules
import moe.lava.banksia.core.room.dao.RouteDao
import moe.lava.banksia.core.room.dao.StopDao
import moe.lava.banksia.core.room.dao.StopTimeDao
import moe.lava.banksia.core.room.dao.VersionMetadataDao
import moe.lava.banksia.model.atDate
import moe.lava.banksia.room.dao.RouteDao
import moe.lava.banksia.room.dao.StopDao
import moe.lava.banksia.room.dao.StopTimeDao
import moe.lava.banksia.room.dao.VersionMetadataDao
import moe.lava.banksia.server.di.ServerModules
import moe.lava.banksia.server.gtfsrt.GtfsrtService
import moe.lava.banksia.util.serialise
@ -44,14 +43,12 @@ fun Application.module() {
}
install(Koin) {
modules(module { single { log } })
modules(CommonModules, ServerModules)
modules(ServerModules)
}
val gtfsr by inject<GtfsrtService>()
@Suppress("KotlinConstantConditions")
if (!Constants.devMode) {
val gtfsr by inject<GtfsrtService>()
launch { gtfsr.start(this, true) }
}
launch { gtfsr.start(this, !Constants.devMode) }
routing {
if (Constants.devMode) {

View file

@ -1,7 +1,7 @@
package moe.lava.banksia.server
import moe.lava.banksia.room.Database
import moe.lava.banksia.room.entity.StopEntity
import moe.lava.banksia.core.room.Database
import moe.lava.banksia.core.room.entity.StopEntity
import moe.lava.banksia.util.log
import java.security.MessageDigest

View file

@ -3,6 +3,8 @@ package moe.lava.banksia.server
import androidx.room.immediateTransaction
import androidx.room.useWriterConnection
import io.ktor.util.logging.Logger
import moe.lava.banksia.core.room.Database
import moe.lava.banksia.core.room.entity.asEntity
import moe.lava.banksia.model.Route
import moe.lava.banksia.model.Service
import moe.lava.banksia.model.ServiceException
@ -10,8 +12,6 @@ import moe.lava.banksia.model.Shape
import moe.lava.banksia.model.Stop
import moe.lava.banksia.model.StopTime
import moe.lava.banksia.model.Trip
import moe.lava.banksia.room.Database
import moe.lava.banksia.room.entity.asEntity
import moe.lava.banksia.server.gtfs.GtfsData
import moe.lava.banksia.server.gtfs.GtfsParser
import kotlin.time.Clock

View file

@ -1,6 +1,7 @@
package moe.lava.banksia.server.di
import io.ktor.client.HttpClient
import moe.lava.banksia.core.room.roomDiModule
import moe.lava.banksia.server.GtfsDataFixer
import moe.lava.banksia.server.GtfsImporter
import moe.lava.banksia.server.gtfs.GtfsParser
@ -9,6 +10,8 @@ import org.koin.core.module.dsl.singleOf
import org.koin.dsl.module
val ServerModules = module {
includes(roomDiModule)
single { HttpClient() }
singleOf(::GtfsParser)
singleOf(::GtfsrtService)