public static Task DropAsync(this IViewManager viewManager, string designDocumentName, Action <DropViewIndexOptions> configureOptions) { var options = new DropViewIndexOptions(); configureOptions(options); return(viewManager.DropAsync(designDocumentName, options)); }
public async Task DropAsync(string designDocName, DropViewIndexOptions options) { var uri = GetUri(designDocName, options.IsProduction); Logger.LogInformation($"Attempting to drop design document {_bucketName}/{designDocName} - {uri}"); try { var result = await _client.DeleteAsync(uri, options.CancellationToken).ConfigureAwait(false); if (result.StatusCode == HttpStatusCode.NotFound) { Logger.LogError($"Failed to drop design document {_bucketName}/{designDocName} because it does not exist - {uri}"); throw new DesignDocumentNotFound(_bucketName, designDocName); } result.EnsureSuccessStatusCode(); } catch (Exception exception) { Logger.LogError(exception, $"Failed to drop design document {_bucketName}/{designDocName} - {uri}"); throw; } }