mirror of
https://github.com/rt-bishop/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