removeDeadline method

Future<void> removeDeadline(
  1. int id
)

Removes the deadline with the given id.

Implementation

Future<void> removeDeadline(int id) async {
  if (!state.hasData) {
    log('Cannot remove deadline: No plan loaded.');

    return;
  }

  try {
    data(
      state.requireData.copyWith(
        deadlines: state.requireData.deadlines.where((d) => d.id != id).toList(),
      ),
    );

    await _deadlines.removeDeadline(
      _auth.state.requireData[Webservice.lb_planner_api],
      id,
    );

    log('Deadline removed.');

    await captureEvent('deadline_removed', properties: {'id': id});

    await _tasks.build(this);
    await build(this);
  } catch (e, st) {
    log('Failed to remove deadline.', e, st);

    return;
  }
}