feat: basic repo + di
This commit is contained in:
parent
1b3b465112
commit
4d8872db9c
10 changed files with 185 additions and 22 deletions
14
core/src/commonMain/kotlin/moe/lava/neon/core/di/AppGraph.kt
Normal file
14
core/src/commonMain/kotlin/moe/lava/neon/core/di/AppGraph.kt
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
package moe.lava.neon.core.di
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.DependencyGraph
|
||||
import dev.zacsweers.metro.GraphExtension
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import moe.lava.neon.core.repository.AuthRepository
|
||||
import moe.lava.neon.core.repository.UserRepository
|
||||
|
||||
@GraphExtension
|
||||
interface AppGraph {
|
||||
val auth: AuthRepository
|
||||
val users: UserRepository
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package moe.lava.neon.core.repository
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class AuthRepository {
|
||||
var token: String? = null
|
||||
private set
|
||||
|
||||
fun login(username: String, password: String) {
|
||||
// api.login(username, password)
|
||||
}
|
||||
suspend fun login(token: String) {
|
||||
this.token = token
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package moe.lava.neon.core.repository
|
||||
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
class UserRepository {
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue