ultrasonic-app-subsonic-and.../ultrasonic/src/main/kotlin/org/moire/ultrasonic/data/TrackDao.kt

35 lines
723 B
Kotlin
Raw Normal View History

2022-04-18 07:20:19 +02:00
package org.moire.ultrasonic.data
2022-04-18 07:31:06 +02:00
import androidx.room.Dao
import androidx.room.Entity
2022-04-18 07:20:19 +02:00
import androidx.room.Query
2022-04-18 07:31:06 +02:00
import org.moire.ultrasonic.domain.Track
2022-04-18 07:20:19 +02:00
2022-04-18 07:31:06 +02:00
@Dao
@Entity(tableName = "tracks")
interface TrackDao : GenericDao<Track> {
2022-04-18 07:20:19 +02:00
/**
* Clear the whole database
*/
@Query("DELETE FROM tracks")
fun clear()
/**
* Get all albums
*/
@Query("SELECT * FROM tracks")
2022-04-18 07:31:06 +02:00
fun get(): List<Track>
2022-04-18 07:20:19 +02:00
/**
* Get albums by artist
*/
@Query("SELECT * FROM tracks WHERE albumId LIKE :id")
2022-04-18 07:31:06 +02:00
fun byAlbum(id: String): List<Track>
/**
* Get albums by artist
*/
@Query("SELECT * FROM tracks WHERE artistId LIKE :id")
fun byArtist(id: String): List<Track>
2022-04-18 07:31:06 +02:00
}