IndisponibiliteDao.kt 24 lignes · 862 octets
package fr.ebii.card2vcf.data

import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query

@Dao
interface IndisponibiliteDao {
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    suspend fun upsert(entity: IndisponibiliteEntity): Long

    @Query("SELECT * FROM indisponibilites WHERE serverId = :serverId")
    suspend fun getByServerId(serverId: String): IndisponibiliteEntity?

    @Query("DELETE FROM indisponibilites WHERE serverId = :serverId")
    suspend fun deleteByServerId(serverId: String)

    @Query("SELECT * FROM indisponibilites WHERE cibleType = :cibleType AND cibleId = :cibleId")
    suspend fun listByCible(cibleType: String, cibleId: String): List<IndisponibiliteEntity>

    @Query("SELECT * FROM indisponibilites")
    suspend fun listAll(): List<IndisponibiliteEntity>
}