From 5b0749734ce5d56acd7a4ea9fa7b205117dc7d1d Mon Sep 17 00:00:00 2001 From: Alex Kutsanov Date: Mon, 29 Aug 2022 16:45:26 +0200 Subject: [PATCH] v5.4.0 - Add a new endpoint 'document move to folder' --- README.md | 1 + docs/DocumentsApi.md | 64 +++++++++++ package.json | 2 +- src/apis/DocumentsApi.ts | 103 ++++++++++++++++++ src/http/http.ts | 2 +- src/index.ts | 2 +- src/models/DocumentUpdateRequest.ts | 75 +++++++++++++ src/models/DocumentUpdateRequestRecipients.ts | 53 +++++++++ src/types/ObjectParamAPI.ts | 23 ++++ src/types/ObservableAPI.ts | 24 ++++ src/types/PromiseAPI.ts | 10 ++ 11 files changed, 356 insertions(+), 3 deletions(-) create mode 100644 src/models/DocumentUpdateRequest.ts create mode 100644 src/models/DocumentUpdateRequestRecipients.ts diff --git a/README.md b/README.md index 1e647aa..6cabfd5 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ Class | Method | HTTP request | Description *DocumentsApi* | [**deleteDocument**](docs/DocumentsApi.md#deletedocument) | **DELETE** /public/v1/documents/{id} | Delete document by id *DocumentsApi* | [**deleteLinkedObject**](docs/DocumentsApi.md#deletelinkedobject) | **DELETE** /public/v1/documents/{id}/linked-objects/{linked_object_id} | Delete Linked Object *DocumentsApi* | [**detailsDocument**](docs/DocumentsApi.md#detailsdocument) | **GET** /public/v1/documents/{id}/details | Document details +*DocumentsApi* | [**documentMoveToFolder**](docs/DocumentsApi.md#documentmovetofolder) | **DELETE** /public/v1/documents/{id}/move-to-folder/{folder_id} | Document move to folder *DocumentsApi* | [**downloadDocument**](docs/DocumentsApi.md#downloaddocument) | **GET** /public/v1/documents/{id}/download | Document download *DocumentsApi* | [**downloadProtectedDocument**](docs/DocumentsApi.md#downloadprotecteddocument) | **GET** /public/v1/documents/{id}/download-protected | Download document protected *DocumentsApi* | [**listDocuments**](docs/DocumentsApi.md#listdocuments) | **GET** /public/v1/documents | List documents diff --git a/docs/DocumentsApi.md b/docs/DocumentsApi.md index 4b74d27..ddff96f 100644 --- a/docs/DocumentsApi.md +++ b/docs/DocumentsApi.md @@ -11,6 +11,7 @@ Method | HTTP request | Description [**deleteDocument**](DocumentsApi.md#deleteDocument) | **DELETE** /public/v1/documents/{id} | Delete document by id [**deleteLinkedObject**](DocumentsApi.md#deleteLinkedObject) | **DELETE** /public/v1/documents/{id}/linked-objects/{linked_object_id} | Delete Linked Object [**detailsDocument**](DocumentsApi.md#detailsDocument) | **GET** /public/v1/documents/{id}/details | Document details +[**documentMoveToFolder**](DocumentsApi.md#documentMoveToFolder) | **DELETE** /public/v1/documents/{id}/move-to-folder/{folder_id} | Document move to folder [**downloadDocument**](DocumentsApi.md#downloadDocument) | **GET** /public/v1/documents/{id}/download | Document download [**downloadProtectedDocument**](DocumentsApi.md#downloadProtectedDocument) | **GET** /public/v1/documents/{id}/download-protected | Download document protected [**listDocuments**](DocumentsApi.md#listDocuments) | **GET** /public/v1/documents | List documents @@ -572,6 +573,69 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +# **documentMoveToFolder** +> void documentMoveToFolder() + + +### Example + + +```typescript +import * as pd_api from 'pandadoc-node-client'; + +// replace it with your API key +const API_KEY = "YOUR_API_KEY"; +const configuration = pd_api.createConfiguration( + { authMethods: {apiKey: `API-Key ${API_KEY}`} } +); +const apiInstance = new pd_api.DocumentsApi(configuration); + +const body:pd_api.DocumentsApiDocumentMoveToFolderRequest = { + // string | Specify document ID. + id: "ZPeAfcpzr9aiVs5vqUf6jg", + // string | Specify folder ID. + folderId: "ZPeAfcpzr9aiVs5vqUf6jg", +}; + +apiInstance.documentMoveToFolder(body).then((data) => { + console.log('API called successfully. Returned data: %o', data); +}).catch((error) => console.error(error)); +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | [**string**] | Specify document ID. | defaults to undefined + **folderId** | [**string**] | Specify folder ID. | defaults to undefined + + +### Return type + +**void** + +### Authorization + +[apiKey](../README.md#apiKey), [oauth2](../README.md#oauth2) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No content | - | +**401** | Authentication error | - | +**403** | Permission error | - | +**404** | Not found | - | +**429** | Too Many Requests | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + # **downloadDocument** > HttpFile downloadDocument() diff --git a/package.json b/package.json index a35b638..8277f97 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pandadoc-node-client", - "version": "5.3.0", + "version": "5.4.0", "description": "The Official PandaDoc Node client SDK", "author": "PandaDoc", "keywords": [ diff --git a/src/apis/DocumentsApi.ts b/src/apis/DocumentsApi.ts index a65e6fa..d5ace96 100644 --- a/src/apis/DocumentsApi.ts +++ b/src/apis/DocumentsApi.ts @@ -411,6 +411,56 @@ export class DocumentsApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + /** + * Document move to folder + * @param id Specify document ID. + * @param folderId Specify folder ID. + */ + public async documentMoveToFolder(id: string, folderId: string, _options?: Configuration): Promise { + let _config = _options || this.configuration; + + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError("DocumentsApi", "documentMoveToFolder", "id"); + } + + + // verify required parameter 'folderId' is not null or undefined + if (folderId === null || folderId === undefined) { + throw new RequiredError("DocumentsApi", "documentMoveToFolder", "folderId"); + } + + + // Path Params + const localVarPath = '/public/v1/documents/{id}/move-to-folder/{folder_id}' + .replace('{' + 'id' + '}', encodeURIComponent(String(id))) + .replace('{' + 'folder_id' + '}', encodeURIComponent(String(folderId))); + + // Make Request Context + const requestContext = _config.baseServer.makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "application/json, */*;q=0.8") + + + let authMethod: SecurityAuthentication | undefined; + // Apply auth methods + authMethod = _config.authMethods["apiKey"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + // Apply auth methods + authMethod = _config.authMethods["oauth2"] + if (authMethod?.applySecurityAuthentication) { + await authMethod?.applySecurityAuthentication(requestContext); + } + + const defaultAuth: SecurityAuthentication | undefined = _options?.authMethods?.default || this.configuration?.authMethods?.default + if (defaultAuth?.applySecurityAuthentication) { + await defaultAuth?.applySecurityAuthentication(requestContext); + } + + return requestContext; + } + /** * Document download * @param id Specify document ID. @@ -1433,6 +1483,59 @@ export class DocumentsApiResponseProcessor { throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); } + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to documentMoveToFolder + * @throws ApiException if the response code was not in [200, 299] + */ + public async documentMoveToFolder(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType(response.headers["content-type"]); + if (isCodeInRange("204", response.httpStatusCode)) { + return; + } + if (isCodeInRange("401", response.httpStatusCode)) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + throw new ApiException(401, "Authentication error", body, response.headers); + } + if (isCodeInRange("403", response.httpStatusCode)) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + throw new ApiException(403, "Permission error", body, response.headers); + } + if (isCodeInRange("404", response.httpStatusCode)) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + throw new ApiException(404, "Not found", body, response.headers); + } + if (isCodeInRange("429", response.httpStatusCode)) { + const body: any = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "any", "" + ) as any; + throw new ApiException(429, "Too Many Requests", body, response.headers); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: void = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "void", "" + ) as void; + return body; + } + + throw new ApiException(response.httpStatusCode, "Unknown API Status Code!", await response.getBodyAsAny(), response.headers); + } + /** * Unwraps the actual response sent by the server from the response context and deserializes the response content * to the expected objects diff --git a/src/http/http.ts b/src/http/http.ts index 3c5f637..86c37f8 100644 --- a/src/http/http.ts +++ b/src/http/http.ts @@ -50,7 +50,7 @@ export type RequestBody = undefined | string | FormData | URLSearchParams; */ export class RequestContext { private headers: { [key: string]: string } = { - "User-Agent": "pandadoc_node_client/5.3.0", + "User-Agent": "pandadoc_node_client/5.4.0", }; private body: RequestBody = undefined; private url: URLParse; diff --git a/src/index.ts b/src/index.ts index 748e96a..5273c49 100644 --- a/src/index.ts +++ b/src/index.ts @@ -7,5 +7,5 @@ export * from "./apis/exception"; export * from "./servers"; export { PromiseMiddleware as Middleware } from './middleware'; -export { APILogsApiDetailsLogRequest, APILogsApiListLogsRequest, ObjectAPILogsApi as APILogsApi, ContactsApiCreateContactRequest, ContactsApiDeleteContactRequest, ContactsApiDetailsContactRequest, ContactsApiListContactsRequest, ContactsApiUpdateContactRequest, ObjectContactsApi as ContactsApi, ContentLibraryItemsApiDetailsContentLibraryItemRequest, ContentLibraryItemsApiListContentLibraryItemsRequest, ObjectContentLibraryItemsApi as ContentLibraryItemsApi, DocumentAttachmentsApiCreateDocumentAttachmentRequest, DocumentAttachmentsApiDeleteDocumentAttachmentRequest, DocumentAttachmentsApiDetailsDocumentAttachmentRequest, DocumentAttachmentsApiDownloadDocumentAttachmentRequest, DocumentAttachmentsApiListDocumentAttachmentsRequest, ObjectDocumentAttachmentsApi as DocumentAttachmentsApi, DocumentsApiChangeDocumentStatusRequest, DocumentsApiCreateDocumentRequest, DocumentsApiCreateDocumentLinkRequest, DocumentsApiCreateLinkedObjectRequest, DocumentsApiDeleteDocumentRequest, DocumentsApiDeleteLinkedObjectRequest, DocumentsApiDetailsDocumentRequest, DocumentsApiDownloadDocumentRequest, DocumentsApiDownloadProtectedDocumentRequest, DocumentsApiListDocumentsRequest, DocumentsApiListLinkedObjectsRequest, DocumentsApiSendDocumentRequest, DocumentsApiStatusDocumentRequest, DocumentsApiTransferAllDocumentsOwnershipRequest, DocumentsApiTransferDocumentOwnershipRequest, DocumentsApiUpdateDocumentRequest, ObjectDocumentsApi as DocumentsApi, FoldersAPIApiCreateDocumentFolderRequest, FoldersAPIApiCreateTemplateFolderRequest, FoldersAPIApiListDocumentFoldersRequest, FoldersAPIApiListTemplateFoldersRequest, FoldersAPIApiRenameDocumentFolderRequest, FoldersAPIApiRenameTemplateFolderRequest, ObjectFoldersAPIApi as FoldersAPIApi, FormsApiListFormRequest, ObjectFormsApi as FormsApi, MembersApiDetailsCurrentMemberRequest, MembersApiDetailsMemberRequest, MembersApiListMembersRequest, ObjectMembersApi as MembersApi, OAuth20AuthenticationApiAccessTokenRequest, ObjectOAuth20AuthenticationApi as OAuth20AuthenticationApi, TemplatesApiDeleteTemplateRequest, TemplatesApiDetailsTemplateRequest, TemplatesApiListTemplatesRequest, ObjectTemplatesApi as TemplatesApi, WebhookEventsApiDetailsWebhookEventRequest, WebhookEventsApiListWebhookEventRequest, ObjectWebhookEventsApi as WebhookEventsApi, WebhookSubscriptionsApiCreateWebhookSubscriptionRequest, WebhookSubscriptionsApiDeleteWebhookSubscriptionRequest, WebhookSubscriptionsApiDetailsWebhookSubscriptionRequest, WebhookSubscriptionsApiListWebhookSubscriptionsRequest, WebhookSubscriptionsApiUpdateWebhookSubscriptionRequest, WebhookSubscriptionsApiUpdateWebhookSubscriptionSharedKeyRequest, ObjectWebhookSubscriptionsApi as WebhookSubscriptionsApi } from './types/ObjectParamAPI'; +export { APILogsApiDetailsLogRequest, APILogsApiListLogsRequest, ObjectAPILogsApi as APILogsApi, ContactsApiCreateContactRequest, ContactsApiDeleteContactRequest, ContactsApiDetailsContactRequest, ContactsApiListContactsRequest, ContactsApiUpdateContactRequest, ObjectContactsApi as ContactsApi, ContentLibraryItemsApiDetailsContentLibraryItemRequest, ContentLibraryItemsApiListContentLibraryItemsRequest, ObjectContentLibraryItemsApi as ContentLibraryItemsApi, DocumentAttachmentsApiCreateDocumentAttachmentRequest, DocumentAttachmentsApiDeleteDocumentAttachmentRequest, DocumentAttachmentsApiDetailsDocumentAttachmentRequest, DocumentAttachmentsApiDownloadDocumentAttachmentRequest, DocumentAttachmentsApiListDocumentAttachmentsRequest, ObjectDocumentAttachmentsApi as DocumentAttachmentsApi, DocumentsApiChangeDocumentStatusRequest, DocumentsApiCreateDocumentRequest, DocumentsApiCreateDocumentLinkRequest, DocumentsApiCreateLinkedObjectRequest, DocumentsApiDeleteDocumentRequest, DocumentsApiDeleteLinkedObjectRequest, DocumentsApiDetailsDocumentRequest, DocumentsApiDocumentMoveToFolderRequest, DocumentsApiDownloadDocumentRequest, DocumentsApiDownloadProtectedDocumentRequest, DocumentsApiListDocumentsRequest, DocumentsApiListLinkedObjectsRequest, DocumentsApiSendDocumentRequest, DocumentsApiStatusDocumentRequest, DocumentsApiTransferAllDocumentsOwnershipRequest, DocumentsApiTransferDocumentOwnershipRequest, DocumentsApiUpdateDocumentRequest, ObjectDocumentsApi as DocumentsApi, FoldersAPIApiCreateDocumentFolderRequest, FoldersAPIApiCreateTemplateFolderRequest, FoldersAPIApiListDocumentFoldersRequest, FoldersAPIApiListTemplateFoldersRequest, FoldersAPIApiRenameDocumentFolderRequest, FoldersAPIApiRenameTemplateFolderRequest, ObjectFoldersAPIApi as FoldersAPIApi, FormsApiListFormRequest, ObjectFormsApi as FormsApi, MembersApiDetailsCurrentMemberRequest, MembersApiDetailsMemberRequest, MembersApiListMembersRequest, ObjectMembersApi as MembersApi, OAuth20AuthenticationApiAccessTokenRequest, ObjectOAuth20AuthenticationApi as OAuth20AuthenticationApi, TemplatesApiDeleteTemplateRequest, TemplatesApiDetailsTemplateRequest, TemplatesApiListTemplatesRequest, ObjectTemplatesApi as TemplatesApi, WebhookEventsApiDetailsWebhookEventRequest, WebhookEventsApiListWebhookEventRequest, ObjectWebhookEventsApi as WebhookEventsApi, WebhookSubscriptionsApiCreateWebhookSubscriptionRequest, WebhookSubscriptionsApiDeleteWebhookSubscriptionRequest, WebhookSubscriptionsApiDetailsWebhookSubscriptionRequest, WebhookSubscriptionsApiListWebhookSubscriptionsRequest, WebhookSubscriptionsApiUpdateWebhookSubscriptionRequest, WebhookSubscriptionsApiUpdateWebhookSubscriptionSharedKeyRequest, ObjectWebhookSubscriptionsApi as WebhookSubscriptionsApi } from './types/ObjectParamAPI'; diff --git a/src/models/DocumentUpdateRequest.ts b/src/models/DocumentUpdateRequest.ts new file mode 100644 index 0000000..caac7f1 --- /dev/null +++ b/src/models/DocumentUpdateRequest.ts @@ -0,0 +1,75 @@ +/** + * PandaDoc Public API + * PandaDoc Public API documentation + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { DocumentCreateByTemplateRequestTokens } from './DocumentCreateByTemplateRequestTokens'; +import { DocumentUpdateRequestRecipients } from './DocumentUpdateRequestRecipients'; +import { PricingTableRequest } from './PricingTableRequest'; +import { HttpFile } from '../http/http'; + +export class DocumentUpdateRequest { + /** + * The list of recipients you're sending the document to. The ID or email are required. If the ID is passed, an existing recipient will be updated. If the email is passed, a new recipient will be added to CC. + */ + 'recipients'?: Array; + /** + * You may pass a list of fields/values which exist in a document. Please use `Merge Field` property of the fields like the key. + */ + 'fields'?: any; + /** + * You can pass a list of tokens/values. If a token name exists in a document then the value will be updated. Otherwise, a new token will be added to the document. + */ + 'tokens'?: Array; + /** + * You can pass arbitrary data in the key-value format to associate custom information with a document. This information is returned in any API requests for the document details by id. If metadata exists in a document then the value will be updated. Otherwise, metadata will be added to the document. + */ + 'metadata'?: any; + 'pricingTables'?: Array; + + static readonly discriminator: string | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "recipients", + "baseName": "recipients", + "type": "Array", + "format": "" + }, + { + "name": "fields", + "baseName": "fields", + "type": "any", + "format": "" + }, + { + "name": "tokens", + "baseName": "tokens", + "type": "Array", + "format": "" + }, + { + "name": "metadata", + "baseName": "metadata", + "type": "any", + "format": "" + }, + { + "name": "pricingTables", + "baseName": "pricing_tables", + "type": "Array", + "format": "" + } ]; + + static getAttributeTypeMap() { + return DocumentUpdateRequest.attributeTypeMap; + } + + public constructor() { + } +} + diff --git a/src/models/DocumentUpdateRequestRecipients.ts b/src/models/DocumentUpdateRequestRecipients.ts new file mode 100644 index 0000000..bf24a65 --- /dev/null +++ b/src/models/DocumentUpdateRequestRecipients.ts @@ -0,0 +1,53 @@ +/** + * PandaDoc Public API + * PandaDoc Public API documentation + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { HttpFile } from '../http/http'; + +export class DocumentUpdateRequestRecipients { + 'id'?: string; + 'email'?: string; + 'firstName'?: string; + 'lastName'?: string; + + static readonly discriminator: string | undefined = undefined; + + static readonly attributeTypeMap: Array<{name: string, baseName: string, type: string, format: string}> = [ + { + "name": "id", + "baseName": "id", + "type": "string", + "format": "" + }, + { + "name": "email", + "baseName": "email", + "type": "string", + "format": "" + }, + { + "name": "firstName", + "baseName": "first_name", + "type": "string", + "format": "" + }, + { + "name": "lastName", + "baseName": "last_name", + "type": "string", + "format": "" + } ]; + + static getAttributeTypeMap() { + return DocumentUpdateRequestRecipients.attributeTypeMap; + } + + public constructor() { + } +} + diff --git a/src/types/ObjectParamAPI.ts b/src/types/ObjectParamAPI.ts index 404e7a3..08d7246 100644 --- a/src/types/ObjectParamAPI.ts +++ b/src/types/ObjectParamAPI.ts @@ -608,6 +608,21 @@ export interface DocumentsApiDetailsDocumentRequest { id: string } +export interface DocumentsApiDocumentMoveToFolderRequest { + /** + * Specify document ID. + * @type string + * @memberof DocumentsApidocumentMoveToFolder + */ + id: string + /** + * Specify folder ID. + * @type string + * @memberof DocumentsApidocumentMoveToFolder + */ + folderId: string +} + export interface DocumentsApiDownloadDocumentRequest { /** * Specify document ID. @@ -926,6 +941,14 @@ export class ObjectDocumentsApi { return this.api.detailsDocument(param.id, options).toPromise(); } + /** + * Document move to folder + * @param param the request object + */ + public documentMoveToFolder(param: DocumentsApiDocumentMoveToFolderRequest, options?: Configuration): Promise { + return this.api.documentMoveToFolder(param.id, param.folderId, options).toPromise(); + } + /** * Document download * @param param the request object diff --git a/src/types/ObservableAPI.ts b/src/types/ObservableAPI.ts index ef4fa25..74b9121 100644 --- a/src/types/ObservableAPI.ts +++ b/src/types/ObservableAPI.ts @@ -708,6 +708,30 @@ export class ObservableDocumentsApi { })); } + /** + * Document move to folder + * @param id Specify document ID. + * @param folderId Specify folder ID. + */ + public documentMoveToFolder(id: string, folderId: string, _options?: Configuration): Observable { + const requestContextPromise = this.requestFactory.documentMoveToFolder(id, folderId, _options); + + // build promise chain + let middlewarePreObservable = from(requestContextPromise); + for (let middleware of this.configuration.middleware) { + middlewarePreObservable = middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => middleware.pre(ctx))); + } + + return middlewarePreObservable.pipe(mergeMap((ctx: RequestContext) => this.configuration.httpApi.send(ctx))). + pipe(mergeMap((response: ResponseContext) => { + let middlewarePostObservable = of(response); + for (let middleware of this.configuration.middleware) { + middlewarePostObservable = middlewarePostObservable.pipe(mergeMap((rsp: ResponseContext) => middleware.post(rsp))); + } + return middlewarePostObservable.pipe(map((rsp: ResponseContext) => this.responseProcessor.documentMoveToFolder(rsp))); + })); + } + /** * Document download * @param id Specify document ID. diff --git a/src/types/PromiseAPI.ts b/src/types/PromiseAPI.ts index 08451b6..8410efd 100644 --- a/src/types/PromiseAPI.ts +++ b/src/types/PromiseAPI.ts @@ -414,6 +414,16 @@ export class PromiseDocumentsApi { return result.toPromise(); } + /** + * Document move to folder + * @param id Specify document ID. + * @param folderId Specify folder ID. + */ + public documentMoveToFolder(id: string, folderId: string, _options?: Configuration): Promise { + const result = this.api.documentMoveToFolder(id, folderId, _options); + return result.toPromise(); + } + /** * Document download * @param id Specify document ID.