diff --git a/app/src/main/java/com/hyperling/expensetracker/ExpenseDao.kt b/app/src/main/java/com/hyperling/expensetracker/ExpenseDao.kt new file mode 100644 index 0000000..ce62d3b --- /dev/null +++ b/app/src/main/java/com/hyperling/expensetracker/ExpenseDao.kt @@ -0,0 +1,30 @@ +package com.hyperling.expensetracker + +import androidx.room.Dao +import androidx.room.Delete +import androidx.room.Query +import androidx.room.Upsert +import kotlinx.coroutines.flow.Flow + +@Dao +interface ExpenseDao { + + // 2024-12-28 + // If these complain about return type errors, try upgrading + // the ROOM version, otherwise remove the SUSPEND keyword. + @Upsert + suspend fun upsertExpense(expense: Expense) + + @Delete + suspend fun deleteExpense(expense: Expense) + + @Query("SELECT * FROM expense ORDER BY name ASC") + fun selectExpensesName(): Flow> + + @Query("SELECT * FROM expense ORDER BY rate ASC") + fun selectExpensesRate(): Flow> + + @Query("SELECT * FROM expense ORDER BY cost ASC") + fun selectExpensesCost(): Flow> + +} \ No newline at end of file