| | |
| | | package com.example.firstapp.database.repository |
| | | |
| | | import android.content.Context |
| | | import com.example.firstapp.AppDatabase |
| | | import com.example.firstapp.database.dao.ReminderDao |
| | | import androidx.annotation.WorkerThread |
| | | import com.example.firstapp.database.entity.Reminder |
| | | import kotlinx.coroutines.flow.Flow |
| | | |
| | | class ReminderRepository(private val reminderDao: ReminderDao) { |
| | | |
| | | val allReminders: Flow<List<Reminder>> = reminderDao.getAllReminders() |
| | | class ReminderRepository(context: Context) { |
| | | private val reminderDao: ReminderDao = AppDatabase.getInstance(context).reminderDao() |
| | | fun getAllReminders(): Flow<List<Reminder>> = reminderDao.getAllReminders() |
| | | |
| | | @WorkerThread |
| | | fun insert(reminder: Reminder) { |
| | | reminderDao.insert(reminder) |
| | | suspend fun insertReminder(reminder: Reminder) { |
| | | reminderDao.insertReminder(reminder) |
| | | } |
| | | |
| | | @WorkerThread |
| | | fun delete(reminder: Reminder) { |
| | | reminderDao.delete(reminder) |
| | | suspend fun deleteReminder(reminder: Reminder) { |
| | | reminderDao.deleteReminder(reminder) |
| | | } |
| | | |
| | | @WorkerThread |
| | | fun getByType(type: String): List<Reminder> { |
| | | return reminderDao.getByType(type) |
| | | suspend fun deleteReminderByCategoryId(categoryId: Int) { |
| | | reminderDao.deleteReminderByCategoryId(categoryId) |
| | | } |
| | | |
| | | suspend fun getReminderByCategoryId(categoryId: Int): Reminder? { |
| | | return reminderDao.getReminderByCategoryId(categoryId) |
| | | } |
| | | |
| | | suspend fun deleteAllReminders() { |
| | | reminderDao.deleteAllReminders() |
| | | } |
| | | } |