Pith - kiln
package com.vgmlr.kiln

import androidx.room.Dao
import androidx.room.Query
import androidx.room.Upsert
import kotlinx.coroutines.flow.Flow

@Dao
interface KilnDayRecordDao {
    @Upsert
    suspend fun upsert(record: KilnDayRecord)

    @Upsert
    suspend fun upsertAll(records: List<KilnDayRecord>)

    @Query("SELECT * FROM day_record WHERE accountId = :accountId AND epochDay = :epochDay")
    fun observeDay(accountId: Long, epochDay: Long): Flow<KilnDayRecord?>

    @Query("SELECT * FROM day_record WHERE accountId = :accountId ORDER BY epochDay")
    fun observeAll(accountId: Long): Flow<List<KilnDayRecord>>

    @Query("SELECT * FROM day_record WHERE accountId = :accountId ORDER BY epochDay")
    suspend fun getAll(accountId: Long): List<KilnDayRecord>
    
    @Query("SELECT * FROM day_record ORDER BY accountId, epochDay")
    fun observeEvery(): Flow<List<KilnDayRecord>>
}