deleteTask method

  1. @override
Future<Either<Failure, bool>> deleteTask(
  1. String id
)
override

Implementation

@override
Future<Either<Failure, bool>> deleteTask(String id) async {
  try {
    if (await isConnected()) {
      final result = await remoteDataSource.deleteTask(id);
      await localDataSource.deleteTask(id);
      return Right(result);
    } else {
      await localDataSource.deleteTask(id);
      await syncQueue.addOperation(SyncOperation(
        type: 'delete',
        id: id,
        entityType: 'task',
      ));
      return const Right(true);
    }
  } catch (e) {
    return const Left(ServerFailure(message: 'Failed to delete task'));
  }
}