feat: di, db, and preliminary server-side gtfs parsing

This commit is contained in:
LavaDesu 2025-08-08 01:59:32 +10:00
parent ccc748dc1f
commit 6770c01613
Signed by: cilly
GPG key ID: 6500251E087653C9
22 changed files with 555 additions and 24 deletions

View file

@ -0,0 +1,12 @@
package moe.lava.banksia.di
import moe.lava.banksia.room.Database
import org.koin.dsl.module
val CommonModules = module {
includes(PlatformModule)
single { Database.build(get<PlatformDatabaseBuilder>().getBuilder()) }
single { get<Database>().getRouteDao() }
single { get<Database>().getShapeDao() }
}

View file

@ -0,0 +1,17 @@
package moe.lava.banksia.di
import androidx.room.RoomDatabase
import moe.lava.banksia.room.Database
import org.koin.core.parameter.ParametersHolder
import org.koin.core.scope.Scope
import org.koin.dsl.module
interface PlatformDatabaseBuilder {
fun getBuilder(): RoomDatabase.Builder<Database>
}
expect fun Scope.provideDatabaseBuilder(p: ParametersHolder): PlatformDatabaseBuilder
internal val PlatformModule = module {
single { provideDatabaseBuilder(it) }
}