File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
shared/src/commonMain/kotlin/com/jetbrains/handson/kmm/shared Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change 1+ package com.jetbrains.handson.kmm.shared
2+
3+ import com.jetbrains.handson.kmm.shared.cache.Database
4+ import com.jetbrains.handson.kmm.shared.cache.DatabaseDriverFactory
5+ import com.jetbrains.handson.kmm.shared.entity.RocketLaunch
6+ import com.jetbrains.handson.kmm.shared.network.SpaceXApi
7+
8+ class SpaceXSDK (databaseDriverFactory : DatabaseDriverFactory ) {
9+ private val database = Database (databaseDriverFactory)
10+ private val api = SpaceXApi ()
11+
12+ @Throws(Exception ::class ) suspend fun getLaunches (forceReload : Boolean ): List <RocketLaunch > {
13+ val cachedLaunches = database.getAllLaunches()
14+ return if (cachedLaunches.isNotEmpty() && ! forceReload) {
15+ cachedLaunches
16+ } else {
17+ api.getAllLaunches().also {
18+ database.clearDatabase()
19+ database.createLaunches(it)
20+ }
21+ }
22+ }
23+ }
You can’t perform that action at this time.
0 commit comments