validateTaskTransition method

String? validateTaskTransition({
  1. required String taskId,
  2. SessionTaskStatus? newStatus,
})

Implementation

String? validateTaskTransition({
  required String taskId,
  SessionTaskStatus? newStatus,
}) {
  if (newStatus != SessionTaskStatus.inProgress) {
    return null;
  }

  for (final task in _tasks.values) {
    if (task.id != taskId && task.status == SessionTaskStatus.inProgress) {
      return 'Task #${task.id} is already in_progress. Complete it or move it out of progress first.';
    }
  }
  return null;
}