package com.vgmlr.kiln
import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
@Entity(
tableName = "day_record",
primaryKeys = ["accountId", "epochDay"],
foreignKeys = [ForeignKey(
entity = KilnAccount::class,
parentColumns = ["id"],
childColumns = ["accountId"],
onDelete = ForeignKey.CASCADE
)],
indices = [Index("accountId")]
)
data class KilnDayRecord(
val accountId: Long,
val epochDay: Long,
val mood: Int? = null,
val checked: Set<Long> = emptySet()
) {
val hasData get() = mood != null || checked.isNotEmpty()
fun toggled(id: Long): KilnDayRecord =
copy(checked = if (id in checked) checked - id else checked + id)
}