public static Task DropDesignDocumentAsync(this IViewIndexManager viewManager, string designDocumentName, DesignDocumentNamespace @namespace, Action <DropDesignDocumentOptions> configureOptions) { var options = new DropDesignDocumentOptions(); configureOptions(options); return(viewManager.DropDesignDocumentAsync(designDocumentName, @namespace, options)); }
public async Task DropDesignDocumentAsync(string designDocName, DesignDocumentNamespace @namespace, DropDesignDocumentOptions options) { var uri = GetUri(designDocName, @namespace); 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; } }