Exemple #1
0
        private async Task <bool> Delete(string?currentIndexDDoc, string?currentIndexName,
                                         CancellationToken cancellationToken)
        {
            IFlurlRequest request  = _database.NewRequest();
            var           response = await request
                                     .AppendPathSegments("_index", currentIndexDDoc, "json", currentIndexName)
                                     .DeleteAsync(cancellationToken)
                                     .SendRequestAsync()
                                     .ReceiveJson <OperationResult>()
                                     .ConfigureAwait(false);

            return(response.Ok);
        }
        /// <inheritdoc />
        public async Task <IList <CouchDocumentInfo> > GetAsync(LocalDocumentsOptions?options       = null,
                                                                CancellationToken cancellationToken = default)
        {
            IFlurlRequest request = NewRequest();

            if (options != null)
            {
                request = request.ApplyQueryParametersOptions(options);
            }

            LocalDocumentsResult result = await request
                                          .AppendPathSegments("_local_docs")
                                          .GetJsonAsync <LocalDocumentsResult>(cancellationToken)
                                          .SendRequestAsync()
                                          .ConfigureAwait(false);

            return(result.Rows);
        }
        /// <inheritdoc />
        public async Task <IList <CouchDocumentInfo> > GetAsync(IReadOnlyCollection <string> keys,
                                                                LocalDocumentsOptions?options = null, CancellationToken cancellationToken = default)
        {
            IFlurlRequest request = NewRequest();

            if (options != null)
            {
                request = request.ApplyQueryParametersOptions(options);
            }

            LocalDocumentsResult result = await request
                                          .AppendPathSegments("_local_docs")
                                          .PostJsonAsync(new { keys }, cancellationToken)
                                          .SendRequestAsync()
                                          .ReceiveJson <LocalDocumentsResult>()
                                          .ConfigureAwait(false);

            return(result.Rows);
        }