mirror of
https://github.com/atsunatsu/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
Created minimal LocalDataSource implementation
This commit is contained in:
1 parent
22616d0d2f
commit
ace042d0b2
5 files changed
+59
-17
No files matched your search
@@ -0,0 +1,14 @@
|
|||||||
|
package com.rtbishop.lookingsat.db
|
||||||
|
|
||||||
|
import com.rtbishop.lookingsat.repo.Transmitter
|
||||||
|
|
||||||
|
class LocalDataSource(private val transmittersDao: TransmittersDao) {
|
||||||
|
|
||||||
|
suspend fun insert(transmitters: List<Transmitter>) {
|
||||||
|
transmittersDao.insert(transmitters)
|
||||||
|
}
|
||||||
|
|
||||||
|
suspend fun getTransmittersForSat(id: Int): List<Transmitter> {
|
||||||
|
return transmittersDao.getTransmittersForSat(id)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.rtbishop.lookingsat.db
|
|
||||||
|
|
||||||
import androidx.room.Dao
|
|
||||||
|
|
||||||
@Dao
|
|
||||||
interface TransmitterDao
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package com.rtbishop.lookingsat.db
|
|
||||||
|
|
||||||
import androidx.room.Database
|
|
||||||
import androidx.room.RoomDatabase
|
|
||||||
import com.rtbishop.lookingsat.repo.Transmitter
|
|
||||||
|
|
||||||
@Database(entities = [Transmitter::class], version = 1, exportSchema = false)
|
|
||||||
abstract class TransmitterDatabase : RoomDatabase() {
|
|
||||||
|
|
||||||
abstract fun transDao(): TransmitterDao
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.rtbishop.lookingsat.db
|
||||||
|
|
||||||
|
import androidx.room.Dao
|
||||||
|
import androidx.room.Insert
|
||||||
|
import androidx.room.OnConflictStrategy
|
||||||
|
import androidx.room.Query
|
||||||
|
import com.rtbishop.lookingsat.repo.Transmitter
|
||||||
|
|
||||||
|
@Dao
|
||||||
|
interface TransmittersDao {
|
||||||
|
|
||||||
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
|
suspend fun insert(transmitters: List<Transmitter>)
|
||||||
|
|
||||||
|
@Query("SELECT * FROM transmitters WHERE noradCatId = :id")
|
||||||
|
suspend fun getTransmittersForSat(id: Int): List<Transmitter>
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package com.rtbishop.lookingsat.db
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import androidx.room.Database
|
||||||
|
import androidx.room.Room
|
||||||
|
import androidx.room.RoomDatabase
|
||||||
|
import com.rtbishop.lookingsat.repo.Transmitter
|
||||||
|
|
||||||
|
@Database(entities = [Transmitter::class], version = 1, exportSchema = false)
|
||||||
|
abstract class TransmittersDatabase : RoomDatabase() {
|
||||||
|
|
||||||
|
abstract fun transmittersDao(): TransmittersDao
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
|
||||||
|
@Volatile
|
||||||
|
private var INSTANCE: TransmittersDatabase? = null
|
||||||
|
|
||||||
|
fun getInstance(context: Context): TransmittersDatabase =
|
||||||
|
INSTANCE ?: synchronized(this) {
|
||||||
|
INSTANCE ?: Room.databaseBuilder(
|
||||||
|
context.applicationContext,
|
||||||
|
TransmittersDatabase::class.java,
|
||||||
|
"transmitters"
|
||||||
|
).build()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user