feat(08-02): add smartDeleteTask to TaskActions provider
- Checks completion count before deleting - Hard-deletes tasks with 0 completions - Soft-deletes (isActive=false) tasks with completions - Keeps existing deleteTask method for cascade/other uses
This commit is contained in:
@@ -89,4 +89,15 @@ class TaskActions extends _$TaskActions {
|
||||
final db = ref.read(appDatabaseProvider);
|
||||
await db.tasksDao.completeTask(taskId);
|
||||
}
|
||||
|
||||
/// Smart delete: hard-deletes tasks with no completions, soft-deletes tasks with completions.
|
||||
Future<void> smartDeleteTask(int taskId) async {
|
||||
final db = ref.read(appDatabaseProvider);
|
||||
final completionCount = await db.tasksDao.getCompletionCount(taskId);
|
||||
if (completionCount == 0) {
|
||||
await db.tasksDao.deleteTask(taskId);
|
||||
} else {
|
||||
await db.tasksDao.softDeleteTask(taskId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ final class TaskActionsProvider
|
||||
TaskActions create() => TaskActions();
|
||||
}
|
||||
|
||||
String _$taskActionsHash() => r'62f1739263e3cfb379b83de10d712b17fd087f92';
|
||||
String _$taskActionsHash() => r'4ef782496ca32338f12281bab258a63a59a293e5';
|
||||
|
||||
/// Notifier for task mutations: create, update, delete, complete.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user