deleteFeed method

Future<bool> deleteFeed({
  1. required String path,
  2. PeerId? toServer,
})

Delete a feed from your store

Implementation

Future<bool> deleteFeed({
  required String path,
  PeerId? toServer,
}) async {
  final serverId = toServer ?? await _serverSelector.selectServer(config.preferredServers);
  if (serverId == null) {
    _logger.warning('No S&F server available for feed deletion');
    return false;
  }

  try {
    final context = Context();
    final stream = await host.newStream(
      serverId,
      [FeedHandler.protocolId],
      context,
    ).timeout(config.connectionTimeout);

    final response = await FeedHandler.deleteFeed(
      stream,
      ownerPeerId: host.id,
      path: path,
    ).timeout(config.messageTimeout);

    await stream.close();
    return response.isSuccess;
  } on TimeoutException {
    _logger.warning('DELETE feed timed out');
    return false;
  } catch (e) {
    _logger.warning('Failed to DELETE feed: $e');
    return false;
  }
}