package Ġcom . k yle cor ry . trail _ sense . tools . packs . infrastructure Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . room .* Ċ Ċ @ Dao Ċ interface ĠPack Item Dao Ġ{ ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġitems ") ĊĠĠĠ Ġfun ĠgetAll (): ĠLive Data < List < Pack Item Entity >> ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġitems ĠWHERE Ġ_ id Ġ= Ġ: id ĠLIMIT Ġ 1 ") ĊĠĠĠ Ġsuspend Ġfun Ġget ( id : ĠLong ): ĠPack Item Entity ? ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġitems ĠWHERE Ġpack Id Ġ= Ġ: pack Id ") ĊĠĠĠ Ġsuspend Ġfun Ġget From Pack Async ( pack Id : ĠLong ): ĠList < Pack Item Entity > ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġitems ĠWHERE Ġpack Id Ġ= Ġ: pack Id ") ĊĠĠĠ Ġfun Ġget From Pack ( pack Id : ĠLong ): ĠLive Data < List < Pack Item Entity >> ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġsuspend Ġfun Ġinsert ( item : ĠPack Item Entity ): ĠLong ĊĊĠĠĠ Ġ@ Delete ĊĠĠĠ Ġsuspend Ġfun Ġdelete ( item : ĠPack Item Entity ) ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġitems ") ĊĠĠĠ Ġsuspend Ġfun Ġdelete All () ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġitems ĠWHERE Ġpack Id Ġ= Ġ: pack Id ") ĊĠĠĠ Ġsuspend Ġfun Ġdelete All From Pack ( pack Id : ĠLong ) ĊĊĠĠĠ Ġ@ Update ĊĠĠĠ Ġsuspend Ġfun Ġupdate ( item : ĠPack Item Entity ) ĊĊĠĠĠ Ġ@ Query (" UPDATE Ġitems ĠSET Ġamount Ġ= Ġ 0 ĠWHERE Ġpack Id Ġ= Ġ: pack Id ") ĊĠĠĠ Ġsuspend Ġfun Ġclear Packed Amount s ( pack Id : ĠLong ) Ċ }