box-node-sdk 3.8.1 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib-esm/api-request-manager.d.ts +36 -0
- package/lib-esm/api-request-manager.js +78 -0
- package/lib-esm/api-request-manager.js.map +1 -0
- package/lib-esm/api-request.d.ts +135 -0
- package/lib-esm/api-request.js +282 -0
- package/lib-esm/api-request.js.map +1 -0
- package/lib-esm/box-client.d.ts +274 -0
- package/lib-esm/box-client.js +594 -0
- package/lib-esm/box-client.js.map +1 -0
- package/lib-esm/box-node-sdk.d.ts +227 -0
- package/lib-esm/box-node-sdk.js +373 -0
- package/lib-esm/box-node-sdk.js.map +1 -0
- package/lib-esm/chunked-uploader.d.ts +128 -0
- package/lib-esm/chunked-uploader.js +276 -0
- package/lib-esm/chunked-uploader.js.map +1 -0
- package/lib-esm/enterprise-event-stream.d.ts +82 -0
- package/lib-esm/enterprise-event-stream.js +205 -0
- package/lib-esm/enterprise-event-stream.js.map +1 -0
- package/lib-esm/event-stream.d.ts +91 -0
- package/lib-esm/event-stream.js +277 -0
- package/lib-esm/event-stream.js.map +1 -0
- package/lib-esm/managers/ai.generated.d.ts +58 -0
- package/lib-esm/managers/ai.generated.js +66 -0
- package/lib-esm/managers/ai.generated.js.map +1 -0
- package/lib-esm/managers/collaboration-allowlist.d.ts +133 -0
- package/lib-esm/managers/collaboration-allowlist.js +194 -0
- package/lib-esm/managers/collaboration-allowlist.js.map +1 -0
- package/lib-esm/managers/collaborations.d.ts +173 -0
- package/lib-esm/managers/collaborations.js +252 -0
- package/lib-esm/managers/collaborations.js.map +1 -0
- package/lib-esm/managers/collections.d.ts +42 -0
- package/lib-esm/managers/collections.js +62 -0
- package/lib-esm/managers/collections.js.map +1 -0
- package/lib-esm/managers/comments.d.ts +103 -0
- package/lib-esm/managers/comments.js +175 -0
- package/lib-esm/managers/comments.js.map +1 -0
- package/lib-esm/managers/device-pins.d.ts +52 -0
- package/lib-esm/managers/device-pins.js +91 -0
- package/lib-esm/managers/device-pins.js.map +1 -0
- package/lib-esm/managers/enterprise.d.ts +164 -0
- package/lib-esm/managers/enterprise.js +193 -0
- package/lib-esm/managers/enterprise.js.map +1 -0
- package/lib-esm/managers/events.d.ts +222 -0
- package/lib-esm/managers/events.js +295 -0
- package/lib-esm/managers/events.js.map +1 -0
- package/lib-esm/managers/file-requests-manager.d.ts +56 -0
- package/lib-esm/managers/file-requests-manager.js +81 -0
- package/lib-esm/managers/file-requests-manager.js.map +1 -0
- package/lib-esm/managers/files.d.ts +817 -0
- package/lib-esm/managers/files.js +1408 -0
- package/lib-esm/managers/files.js.map +1 -0
- package/lib-esm/managers/folders.d.ts +396 -0
- package/lib-esm/managers/folders.js +570 -0
- package/lib-esm/managers/folders.js.map +1 -0
- package/lib-esm/managers/groups.d.ts +213 -0
- package/lib-esm/managers/groups.js +289 -0
- package/lib-esm/managers/groups.js.map +1 -0
- package/lib-esm/managers/integration-mappings.d.ts +116 -0
- package/lib-esm/managers/integration-mappings.js +101 -0
- package/lib-esm/managers/integration-mappings.js.map +1 -0
- package/lib-esm/managers/legal-hold-policies.d.ts +190 -0
- package/lib-esm/managers/legal-hold-policies.js +254 -0
- package/lib-esm/managers/legal-hold-policies.js.map +1 -0
- package/lib-esm/managers/metadata.d.ts +232 -0
- package/lib-esm/managers/metadata.js +288 -0
- package/lib-esm/managers/metadata.js.map +1 -0
- package/lib-esm/managers/recent-items.d.ts +38 -0
- package/lib-esm/managers/recent-items.js +49 -0
- package/lib-esm/managers/recent-items.js.map +1 -0
- package/lib-esm/managers/retention-policies.d.ts +308 -0
- package/lib-esm/managers/retention-policies.js +374 -0
- package/lib-esm/managers/retention-policies.js.map +1 -0
- package/lib-esm/managers/search.d.ts +82 -0
- package/lib-esm/managers/search.js +90 -0
- package/lib-esm/managers/search.js.map +1 -0
- package/lib-esm/managers/shared-items.d.ts +33 -0
- package/lib-esm/managers/shared-items.js +74 -0
- package/lib-esm/managers/shared-items.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-reports.generated.d.ts +65 -0
- package/lib-esm/managers/shield-information-barrier-reports.generated.js +65 -0
- package/lib-esm/managers/shield-information-barrier-reports.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-segment-members.generated.d.ts +83 -0
- package/lib-esm/managers/shield-information-barrier-segment-members.generated.js +83 -0
- package/lib-esm/managers/shield-information-barrier-segment-members.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.d.ts +84 -0
- package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js +84 -0
- package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-segments.generated.d.ts +98 -0
- package/lib-esm/managers/shield-information-barrier-segments.generated.js +99 -0
- package/lib-esm/managers/shield-information-barrier-segments.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barriers.generated.d.ts +79 -0
- package/lib-esm/managers/shield-information-barriers.generated.js +83 -0
- package/lib-esm/managers/shield-information-barriers.generated.js.map +1 -0
- package/lib-esm/managers/sign-requests.generated.d.ts +93 -0
- package/lib-esm/managers/sign-requests.generated.js +97 -0
- package/lib-esm/managers/sign-requests.generated.js.map +1 -0
- package/lib-esm/managers/sign-templates.generated.d.ts +51 -0
- package/lib-esm/managers/sign-templates.generated.js +49 -0
- package/lib-esm/managers/sign-templates.generated.js.map +1 -0
- package/lib-esm/managers/storage-policies.d.ts +86 -0
- package/lib-esm/managers/storage-policies.js +174 -0
- package/lib-esm/managers/storage-policies.js.map +1 -0
- package/lib-esm/managers/tasks.d.ts +161 -0
- package/lib-esm/managers/tasks.js +243 -0
- package/lib-esm/managers/tasks.js.map +1 -0
- package/lib-esm/managers/terms-of-service.d.ts +161 -0
- package/lib-esm/managers/terms-of-service.js +283 -0
- package/lib-esm/managers/terms-of-service.js.map +1 -0
- package/lib-esm/managers/trash.d.ts +30 -0
- package/lib-esm/managers/trash.js +47 -0
- package/lib-esm/managers/trash.js.map +1 -0
- package/lib-esm/managers/users.d.ts +171 -0
- package/lib-esm/managers/users.js +230 -0
- package/lib-esm/managers/users.js.map +1 -0
- package/lib-esm/managers/web-links.d.ts +127 -0
- package/lib-esm/managers/web-links.js +200 -0
- package/lib-esm/managers/web-links.js.map +1 -0
- package/lib-esm/managers/webhooks.d.ts +169 -0
- package/lib-esm/managers/webhooks.js +398 -0
- package/lib-esm/managers/webhooks.js.map +1 -0
- package/lib-esm/schemas/ai-agent-ask.generated.d.ts +17 -0
- package/lib-esm/schemas/ai-agent-ask.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-ask.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.d.ts +14 -0
- package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.d.ts +34 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.d.ts +36 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-long-text-tool.generated.d.ts +9 -0
- package/lib-esm/schemas/ai-agent-long-text-tool.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-long-text-tool.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-text-gen.generated.d.ts +14 -0
- package/lib-esm/schemas/ai-agent-text-gen.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-text-gen.generated.js.map +1 -0
- package/lib-esm/schemas/ai-ask.generated.d.ts +40 -0
- package/lib-esm/schemas/ai-ask.generated.js +3 -0
- package/lib-esm/schemas/ai-ask.generated.js.map +1 -0
- package/lib-esm/schemas/ai-citation.generated.d.ts +27 -0
- package/lib-esm/schemas/ai-citation.generated.js +3 -0
- package/lib-esm/schemas/ai-citation.generated.js.map +1 -0
- package/lib-esm/schemas/ai-dialogue-history.generated.d.ts +22 -0
- package/lib-esm/schemas/ai-dialogue-history.generated.js +3 -0
- package/lib-esm/schemas/ai-dialogue-history.generated.js.map +1 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.d.ts +31 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js +3 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js.map +1 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.d.ts +43 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js +3 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js.map +1 -0
- package/lib-esm/schemas/ai-response-full.generated.d.ts +12 -0
- package/lib-esm/schemas/ai-response-full.generated.js +3 -0
- package/lib-esm/schemas/ai-response-full.generated.js.map +1 -0
- package/lib-esm/schemas/ai-response.generated.d.ts +22 -0
- package/lib-esm/schemas/ai-response.generated.js +3 -0
- package/lib-esm/schemas/ai-response.generated.js.map +1 -0
- package/lib-esm/schemas/ai-text-gen.generated.d.ts +30 -0
- package/lib-esm/schemas/ai-text-gen.generated.js +3 -0
- package/lib-esm/schemas/ai-text-gen.generated.js.map +1 -0
- package/lib-esm/schemas/collaboration-create.d.ts +5 -0
- package/lib-esm/schemas/collaboration-create.js +3 -0
- package/lib-esm/schemas/collaboration-create.js.map +1 -0
- package/lib-esm/schemas/collaboration-update.d.ts +7 -0
- package/lib-esm/schemas/collaboration-update.js +3 -0
- package/lib-esm/schemas/collaboration-update.js.map +1 -0
- package/lib-esm/schemas/collaboration.d.ts +108 -0
- package/lib-esm/schemas/collaboration.js +3 -0
- package/lib-esm/schemas/collaboration.js.map +1 -0
- package/lib-esm/schemas/collaborations.d.ts +13 -0
- package/lib-esm/schemas/collaborations.js +3 -0
- package/lib-esm/schemas/collaborations.js.map +1 -0
- package/lib-esm/schemas/enterprise-base.generated.d.ts +18 -0
- package/lib-esm/schemas/enterprise-base.generated.js +3 -0
- package/lib-esm/schemas/enterprise-base.generated.js.map +1 -0
- package/lib-esm/schemas/file-base.generated.d.ts +32 -0
- package/lib-esm/schemas/file-base.generated.js +3 -0
- package/lib-esm/schemas/file-base.generated.js.map +1 -0
- package/lib-esm/schemas/file-mini.generated.d.ts +41 -0
- package/lib-esm/schemas/file-mini.generated.js +3 -0
- package/lib-esm/schemas/file-mini.generated.js.map +1 -0
- package/lib-esm/schemas/file-request.d.ts +41 -0
- package/lib-esm/schemas/file-request.js +3 -0
- package/lib-esm/schemas/file-request.js.map +1 -0
- package/lib-esm/schemas/file-version-base.generated.d.ts +19 -0
- package/lib-esm/schemas/file-version-base.generated.js +3 -0
- package/lib-esm/schemas/file-version-base.generated.js.map +1 -0
- package/lib-esm/schemas/file-version-mini.generated.d.ts +14 -0
- package/lib-esm/schemas/file-version-mini.generated.js +3 -0
- package/lib-esm/schemas/file-version-mini.generated.js.map +1 -0
- package/lib-esm/schemas/folder-base.generated.d.ts +32 -0
- package/lib-esm/schemas/folder-base.generated.js +3 -0
- package/lib-esm/schemas/folder-base.generated.js.map +1 -0
- package/lib-esm/schemas/folder-mini.generated.d.ts +31 -0
- package/lib-esm/schemas/folder-mini.generated.js +3 -0
- package/lib-esm/schemas/folder-mini.generated.js.map +1 -0
- package/lib-esm/schemas/index.d.ts +15 -0
- package/lib-esm/schemas/index.generated.d.ts +52 -0
- package/lib-esm/schemas/index.generated.js +69 -0
- package/lib-esm/schemas/index.generated.js.map +1 -0
- package/lib-esm/schemas/index.js +32 -0
- package/lib-esm/schemas/index.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-base.d.ts +23 -0
- package/lib-esm/schemas/integration-mapping-base.js +3 -0
- package/lib-esm/schemas/integration-mapping-base.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-box-item-slack.d.ts +17 -0
- package/lib-esm/schemas/integration-mapping-box-item-slack.js +3 -0
- package/lib-esm/schemas/integration-mapping-box-item-slack.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-partner-item-slack.d.ts +27 -0
- package/lib-esm/schemas/integration-mapping-partner-item-slack.js +3 -0
- package/lib-esm/schemas/integration-mapping-partner-item-slack.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-slack-create-request.d.ts +12 -0
- package/lib-esm/schemas/integration-mapping-slack-create-request.js +3 -0
- package/lib-esm/schemas/integration-mapping-slack-create-request.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-slack-options.d.ts +16 -0
- package/lib-esm/schemas/integration-mapping-slack-options.js +3 -0
- package/lib-esm/schemas/integration-mapping-slack-options.js.map +1 -0
- package/lib-esm/schemas/integration-mapping.d.ts +55 -0
- package/lib-esm/schemas/integration-mapping.js +3 -0
- package/lib-esm/schemas/integration-mapping.js.map +1 -0
- package/lib-esm/schemas/integration-mappings.d.ts +27 -0
- package/lib-esm/schemas/integration-mappings.js +3 -0
- package/lib-esm/schemas/integration-mappings.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-base.generated.d.ts +18 -0
- package/lib-esm/schemas/shield-information-barrier-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-reference.generated.d.ts +9 -0
- package/lib-esm/schemas/shield-information-barrier-reference.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-reference.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-report-base.generated.d.ts +18 -0
- package/lib-esm/schemas/shield-information-barrier-report-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-report-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-report-details.generated.d.ts +9 -0
- package/lib-esm/schemas/shield-information-barrier-report-details.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-report-details.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-report.generated.d.ts +32 -0
- package/lib-esm/schemas/shield-information-barrier-report.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-report.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-reports.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-reports.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-reports.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.d.ts +19 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.d.ts +13 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member.generated.d.ts +39 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-members.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.d.ts +20 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.d.ts +20 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.d.ts +33 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment.generated.d.ts +50 -0
- package/lib-esm/schemas/shield-information-barrier-segment.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segments.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-segments.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segments.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier.generated.d.ts +56 -0
- package/lib-esm/schemas/shield-information-barrier.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barriers.generated.d.ts +25 -0
- package/lib-esm/schemas/shield-information-barriers.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barriers.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-base.generated.d.ts +78 -0
- package/lib-esm/schemas/sign-request-base.generated.js +3 -0
- package/lib-esm/schemas/sign-request-base.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-create-request.generated.d.ts +39 -0
- package/lib-esm/schemas/sign-request-create-request.generated.js +3 -0
- package/lib-esm/schemas/sign-request-create-request.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-create-signer.generated.d.ts +95 -0
- package/lib-esm/schemas/sign-request-create-signer.generated.js +3 -0
- package/lib-esm/schemas/sign-request-create-signer.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-prefill-tag.generated.d.ts +28 -0
- package/lib-esm/schemas/sign-request-prefill-tag.generated.js +3 -0
- package/lib-esm/schemas/sign-request-prefill-tag.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-signer-input.generated.d.ts +28 -0
- package/lib-esm/schemas/sign-request-signer-input.generated.js +3 -0
- package/lib-esm/schemas/sign-request-signer-input.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-signer.generated.d.ts +34 -0
- package/lib-esm/schemas/sign-request-signer.generated.js +3 -0
- package/lib-esm/schemas/sign-request-signer.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request.generated.d.ts +72 -0
- package/lib-esm/schemas/sign-request.generated.js +3 -0
- package/lib-esm/schemas/sign-request.generated.js.map +1 -0
- package/lib-esm/schemas/sign-requests.generated.d.ts +25 -0
- package/lib-esm/schemas/sign-requests.generated.js +3 -0
- package/lib-esm/schemas/sign-requests.generated.js.map +1 -0
- package/lib-esm/schemas/sign-template.generated.d.ts +94 -0
- package/lib-esm/schemas/sign-template.generated.js +3 -0
- package/lib-esm/schemas/sign-template.generated.js.map +1 -0
- package/lib-esm/schemas/sign-templates.generated.d.ts +30 -0
- package/lib-esm/schemas/sign-templates.generated.js +3 -0
- package/lib-esm/schemas/sign-templates.generated.js.map +1 -0
- package/lib-esm/schemas/template-signer-input.generated.d.ts +61 -0
- package/lib-esm/schemas/template-signer-input.generated.js +3 -0
- package/lib-esm/schemas/template-signer-input.generated.js.map +1 -0
- package/lib-esm/schemas/template-signer.generated.d.ts +43 -0
- package/lib-esm/schemas/template-signer.generated.js +3 -0
- package/lib-esm/schemas/template-signer.generated.js.map +1 -0
- package/lib-esm/schemas/user-base.generated.d.ts +18 -0
- package/lib-esm/schemas/user-base.generated.js +3 -0
- package/lib-esm/schemas/user-base.generated.js.map +1 -0
- package/lib-esm/schemas/user-integration-mappings.d.ts +19 -0
- package/lib-esm/schemas/user-integration-mappings.js +3 -0
- package/lib-esm/schemas/user-integration-mappings.js.map +1 -0
- package/lib-esm/schemas/user-mini.d.ts +6 -0
- package/lib-esm/schemas/user-mini.js +3 -0
- package/lib-esm/schemas/user-mini.js.map +1 -0
- package/lib-esm/sessions/app-auth-session.d.ts +92 -0
- package/lib-esm/sessions/app-auth-session.js +176 -0
- package/lib-esm/sessions/app-auth-session.js.map +1 -0
- package/lib-esm/sessions/basic-session.d.ts +55 -0
- package/lib-esm/sessions/basic-session.js +62 -0
- package/lib-esm/sessions/basic-session.js.map +1 -0
- package/lib-esm/sessions/ccg-session.d.ts +72 -0
- package/lib-esm/sessions/ccg-session.js +111 -0
- package/lib-esm/sessions/ccg-session.js.map +1 -0
- package/lib-esm/sessions/persistent-session.d.ts +96 -0
- package/lib-esm/sessions/persistent-session.js +234 -0
- package/lib-esm/sessions/persistent-session.js.map +1 -0
- package/lib-esm/token-manager.d.ts +191 -0
- package/lib-esm/token-manager.js +453 -0
- package/lib-esm/token-manager.js.map +1 -0
- package/lib-esm/util/config.d.ts +85 -0
- package/lib-esm/util/config.js +212 -0
- package/lib-esm/util/config.js.map +1 -0
- package/lib-esm/util/errors.d.ts +50 -0
- package/lib-esm/util/errors.js +176 -0
- package/lib-esm/util/errors.js.map +1 -0
- package/lib-esm/util/exponential-backoff.d.ts +11 -0
- package/lib-esm/util/exponential-backoff.js +17 -0
- package/lib-esm/util/exponential-backoff.js.map +1 -0
- package/lib-esm/util/paging-iterator.d.ts +53 -0
- package/lib-esm/util/paging-iterator.js +247 -0
- package/lib-esm/util/paging-iterator.js.map +1 -0
- package/lib-esm/util/serializable.d.ts +10 -0
- package/lib-esm/util/serializable.js +17 -0
- package/lib-esm/util/serializable.js.map +1 -0
- package/lib-esm/util/url-path.d.ts +16 -0
- package/lib-esm/util/url-path.js +36 -0
- package/lib-esm/util/url-path.js.map +1 -0
- package/package.json +18 -4
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Upload manager for large file uploads
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Chunk uploaded event
|
|
6
|
+
* @event Chunk#uploaded
|
|
7
|
+
* @param {UploadPart} data The data of the uploaded chunk
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Chunk error event
|
|
12
|
+
* @event Chunk#error
|
|
13
|
+
* @param {Error} err The error that occurred
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Event for when the upload is successfully aborted
|
|
18
|
+
* @event ChunkedUploader#aborted
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Event for when the abort fails because the upload session is not destroyed.
|
|
22
|
+
* In general, the abort can be retried, and no new chunks will be uploaded.
|
|
23
|
+
* @event ChunkedUploader#abortFailed
|
|
24
|
+
* @param {Error} err The error that occurred
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Event for when a chunk fails to upload. Note that the chunk will automatically
|
|
28
|
+
* retry until it is successfully uploaded.
|
|
29
|
+
* @event ChunkedUploader#chunkError
|
|
30
|
+
* @param {Error} err The error that occurred during chunk upload
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Event for when a chunk is successfully uploaded
|
|
34
|
+
* @event ChunkedUploader#chunkUploaded
|
|
35
|
+
* @param {UploadPart} data The data for the uploaded chunk
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* Event for when the entire upload is complete
|
|
39
|
+
* @event ChunkedUploader#uploadComplete
|
|
40
|
+
* @param {Object} file The file object for the newly-uploaded file
|
|
41
|
+
*/
|
|
42
|
+
/**
|
|
43
|
+
* Event for when an upload fails
|
|
44
|
+
* @event ChunkedUploader#error
|
|
45
|
+
* @param {Error} err The error that occurred
|
|
46
|
+
*/
|
|
47
|
+
type ChunkedUploaderOptions = {
|
|
48
|
+
retryInterval?: number;
|
|
49
|
+
parallelism?: number;
|
|
50
|
+
fileAttributes?: Record<string, any>;
|
|
51
|
+
};
|
|
52
|
+
type UploadSessionInfo = {
|
|
53
|
+
id: string;
|
|
54
|
+
part_size: number;
|
|
55
|
+
};
|
|
56
|
+
import { EventEmitter } from 'events';
|
|
57
|
+
import { Readable as ReadableStream } from 'stream';
|
|
58
|
+
import crypto from 'crypto';
|
|
59
|
+
import BoxClient from './box-client';
|
|
60
|
+
/** Manager for uploading a file in chunks */
|
|
61
|
+
declare class ChunkedUploader extends EventEmitter {
|
|
62
|
+
_client: BoxClient;
|
|
63
|
+
_sessionID: string;
|
|
64
|
+
_partSize: number;
|
|
65
|
+
_uploadSessionInfo: UploadSessionInfo;
|
|
66
|
+
_stream: ReadableStream | null;
|
|
67
|
+
_streamBuffer: Array<any>;
|
|
68
|
+
_file: Buffer | string | null;
|
|
69
|
+
_size: number;
|
|
70
|
+
_options: Required<ChunkedUploaderOptions>;
|
|
71
|
+
_isStarted: boolean;
|
|
72
|
+
_numChunksInFlight: number;
|
|
73
|
+
_chunks: Array<any>;
|
|
74
|
+
_position: number;
|
|
75
|
+
_fileHash: crypto.Hash;
|
|
76
|
+
_promise?: Promise<any>;
|
|
77
|
+
_resolve?: Function;
|
|
78
|
+
_reject?: Function;
|
|
79
|
+
/**
|
|
80
|
+
* Create an upload manager
|
|
81
|
+
* @param {BoxClient} client The client to use to upload the file
|
|
82
|
+
* @param {Object} uploadSessionInfo The upload session info to use for chunked upload
|
|
83
|
+
* @param {ReadableStream|Buffer|string} file The file to upload
|
|
84
|
+
* @param {int} size The size of the file to be uploaded
|
|
85
|
+
* @param {Object} [options] Optional parameters
|
|
86
|
+
* @param {int} [options.retryInterval=1000] The number of ms to wait before retrying operations
|
|
87
|
+
* @param {int} [options.parallelism=4] The number of concurrent chunks to upload
|
|
88
|
+
* @param {Object} [options.fileAttributes] Attributes to set on the file during commit
|
|
89
|
+
*/
|
|
90
|
+
constructor(client: BoxClient, uploadSessionInfo: UploadSessionInfo, file: ReadableStream | Buffer | string, size: number, options?: ChunkedUploaderOptions);
|
|
91
|
+
/**
|
|
92
|
+
* Start an upload
|
|
93
|
+
* @returns {Promise<Object>} A promise resolving to the uploaded file
|
|
94
|
+
*/
|
|
95
|
+
start(): Promise<any> | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Abort a running upload, which cancels all currently uploading chunks,
|
|
98
|
+
* attempts to free up held memory, and aborts the upload session. This
|
|
99
|
+
* cannot be undone or resumed.
|
|
100
|
+
* @returns {Promise} A promise resolving when the upload is aborted
|
|
101
|
+
* @emits ChunkedUploader#aborted
|
|
102
|
+
* @emits ChunkedUploader#abortFailed
|
|
103
|
+
*/
|
|
104
|
+
abort(): any;
|
|
105
|
+
/**
|
|
106
|
+
* Get the next chunk of the file to be uploaded
|
|
107
|
+
* @param {Function} callback Called with the next chunk of the file to be uploaded
|
|
108
|
+
* @returns {void}
|
|
109
|
+
* @private
|
|
110
|
+
*/
|
|
111
|
+
_getNextChunk(callback: Function): void;
|
|
112
|
+
/**
|
|
113
|
+
* Upload a chunk
|
|
114
|
+
* @param {Chunk} chunk The chunk to upload
|
|
115
|
+
* @returns {void}
|
|
116
|
+
* @emits ChunkedUploader#chunkError
|
|
117
|
+
* @emits ChunkedUploader#chunkUploaded
|
|
118
|
+
*/
|
|
119
|
+
_uploadChunk(chunk: any): void;
|
|
120
|
+
/**
|
|
121
|
+
* Commit the upload, finalizing it
|
|
122
|
+
* @returns {void}
|
|
123
|
+
* @emits ChunkedUploader#uploadComplete
|
|
124
|
+
* @emits ChunkedUploader#error
|
|
125
|
+
*/
|
|
126
|
+
_commit(): void;
|
|
127
|
+
}
|
|
128
|
+
export = ChunkedUploader;
|
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Upload manager for large file uploads
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
const bluebird_1 = require("bluebird");
|
|
9
|
+
// -----------------------------------------------------------------------------
|
|
10
|
+
// Requirements
|
|
11
|
+
// -----------------------------------------------------------------------------
|
|
12
|
+
const events_1 = require("events");
|
|
13
|
+
const stream_1 = require("stream");
|
|
14
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
15
|
+
// -----------------------------------------------------------------------------
|
|
16
|
+
// Private
|
|
17
|
+
// -----------------------------------------------------------------------------
|
|
18
|
+
const DEFAULT_OPTIONS = Object.freeze({
|
|
19
|
+
parallelism: 4,
|
|
20
|
+
retryInterval: 1000,
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Chunk of a file to be uploaded, which handles trying to upload itself until
|
|
24
|
+
* it succeeds.
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
class Chunk extends events_1.EventEmitter {
|
|
28
|
+
/**
|
|
29
|
+
* Create a Chunk, representing a part of a file being uploaded
|
|
30
|
+
* @param {BoxClient} client The Box SDK client
|
|
31
|
+
* @param {string} sessionID The ID of the upload session the chunk belongs to
|
|
32
|
+
* @param {Buffer|string} chunk The chunk that was uploaded
|
|
33
|
+
* @param {int} offset The byte offset within the file where this chunk begins
|
|
34
|
+
* @param {int} totalSize The total size of the file this chunk belongs to
|
|
35
|
+
* @param {Object} options The options from the ChunkedUploader
|
|
36
|
+
* @param {int} options.retryInterval The number of ms to wait before retrying a chunk upload
|
|
37
|
+
*/
|
|
38
|
+
constructor(client, sessionID, chunk, offset, totalSize, options) {
|
|
39
|
+
super();
|
|
40
|
+
this.client = client;
|
|
41
|
+
this.sessionID = sessionID;
|
|
42
|
+
this.chunk = chunk;
|
|
43
|
+
this.length = chunk.length;
|
|
44
|
+
this.offset = offset;
|
|
45
|
+
this.totalSize = totalSize;
|
|
46
|
+
this.options = options;
|
|
47
|
+
this.data = null;
|
|
48
|
+
this.retry = null;
|
|
49
|
+
this.canceled = false;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get the final object representation of this chunk for the API
|
|
53
|
+
* @returns {UploadPart} The chunk object
|
|
54
|
+
*/
|
|
55
|
+
getData() {
|
|
56
|
+
return this.data.part;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Upload a chunk to the API
|
|
60
|
+
* @returns {void}
|
|
61
|
+
* @emits Chunk#uploaded
|
|
62
|
+
* @emits Chunk#error
|
|
63
|
+
*/
|
|
64
|
+
upload() {
|
|
65
|
+
this.client.files.uploadPart(this.sessionID, this.chunk, this.offset, this.totalSize, (err /* FIXME */, data /* FIXME */) => {
|
|
66
|
+
if (this.canceled) {
|
|
67
|
+
this.chunk = null;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (err) {
|
|
71
|
+
// handle the error or retry
|
|
72
|
+
if (err.statusCode) {
|
|
73
|
+
// an API error, probably not retryable!
|
|
74
|
+
this.emit('error', err);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// maybe a network error, retry
|
|
78
|
+
this.retry = setTimeout(() => this.upload(), this.options.retryInterval);
|
|
79
|
+
}
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
// Record the chunk data for commit, and try to free up the chunk buffer
|
|
83
|
+
this.data = data;
|
|
84
|
+
this.chunk = null;
|
|
85
|
+
this.emit('uploaded', data);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Cancel trying to upload a chunk, preventing it from retrying and clearing
|
|
90
|
+
* the associated buffer
|
|
91
|
+
* @returns {void}
|
|
92
|
+
*/
|
|
93
|
+
cancel() {
|
|
94
|
+
clearTimeout(this.retry); // number or NodeJS.Timeout
|
|
95
|
+
this.chunk = null;
|
|
96
|
+
this.canceled = true;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// -----------------------------------------------------------------------------
|
|
100
|
+
// Public
|
|
101
|
+
// -----------------------------------------------------------------------------
|
|
102
|
+
/** Manager for uploading a file in chunks */
|
|
103
|
+
class ChunkedUploader extends events_1.EventEmitter {
|
|
104
|
+
/**
|
|
105
|
+
* Create an upload manager
|
|
106
|
+
* @param {BoxClient} client The client to use to upload the file
|
|
107
|
+
* @param {Object} uploadSessionInfo The upload session info to use for chunked upload
|
|
108
|
+
* @param {ReadableStream|Buffer|string} file The file to upload
|
|
109
|
+
* @param {int} size The size of the file to be uploaded
|
|
110
|
+
* @param {Object} [options] Optional parameters
|
|
111
|
+
* @param {int} [options.retryInterval=1000] The number of ms to wait before retrying operations
|
|
112
|
+
* @param {int} [options.parallelism=4] The number of concurrent chunks to upload
|
|
113
|
+
* @param {Object} [options.fileAttributes] Attributes to set on the file during commit
|
|
114
|
+
*/
|
|
115
|
+
constructor(client, uploadSessionInfo, file, size, options) {
|
|
116
|
+
super();
|
|
117
|
+
this._client = client;
|
|
118
|
+
this._sessionID = uploadSessionInfo.id;
|
|
119
|
+
this._partSize = uploadSessionInfo.part_size;
|
|
120
|
+
this._uploadSessionInfo = uploadSessionInfo;
|
|
121
|
+
if (file instanceof stream_1.Readable) {
|
|
122
|
+
// Pause the stream so we can read specific chunks from it
|
|
123
|
+
this._stream = file.pause();
|
|
124
|
+
this._streamBuffer = [];
|
|
125
|
+
}
|
|
126
|
+
else if (file instanceof Buffer || typeof file === 'string') {
|
|
127
|
+
this._file = file;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
throw new TypeError('file must be a Stream, Buffer, or string!');
|
|
131
|
+
}
|
|
132
|
+
this._size = size;
|
|
133
|
+
this._options = Object.assign({}, DEFAULT_OPTIONS, options);
|
|
134
|
+
this._isStarted = false;
|
|
135
|
+
this._numChunksInFlight = 0;
|
|
136
|
+
this._chunks = [];
|
|
137
|
+
this._position = 0;
|
|
138
|
+
this._fileHash = crypto_1.default.createHash('sha1');
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Start an upload
|
|
142
|
+
* @returns {Promise<Object>} A promise resolving to the uploaded file
|
|
143
|
+
*/
|
|
144
|
+
start() {
|
|
145
|
+
if (this._isStarted) {
|
|
146
|
+
return this._promise;
|
|
147
|
+
}
|
|
148
|
+
// Create the initial chunks
|
|
149
|
+
for (let i = 0; i < this._options.parallelism; i++) {
|
|
150
|
+
this._getNextChunk((chunk /* FIXME */) => chunk ? this._uploadChunk(chunk) : this._commit());
|
|
151
|
+
}
|
|
152
|
+
this._isStarted = true;
|
|
153
|
+
/* eslint-disable promise/avoid-new */
|
|
154
|
+
this._promise = new bluebird_1.Promise((resolve, reject) => {
|
|
155
|
+
this._resolve = resolve;
|
|
156
|
+
this._reject = reject;
|
|
157
|
+
});
|
|
158
|
+
/* eslint-enable promise/avoid-new */
|
|
159
|
+
return this._promise;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Abort a running upload, which cancels all currently uploading chunks,
|
|
163
|
+
* attempts to free up held memory, and aborts the upload session. This
|
|
164
|
+
* cannot be undone or resumed.
|
|
165
|
+
* @returns {Promise} A promise resolving when the upload is aborted
|
|
166
|
+
* @emits ChunkedUploader#aborted
|
|
167
|
+
* @emits ChunkedUploader#abortFailed
|
|
168
|
+
*/
|
|
169
|
+
abort() {
|
|
170
|
+
this._chunks.forEach((chunk) => chunk.removeAllListeners().cancel());
|
|
171
|
+
this._chunks = [];
|
|
172
|
+
this._file = null;
|
|
173
|
+
this._stream = null;
|
|
174
|
+
return (this._client.files
|
|
175
|
+
.abortUploadSession(this._sessionID)
|
|
176
|
+
/* eslint-disable promise/always-return */
|
|
177
|
+
.then(() => {
|
|
178
|
+
this.emit('aborted');
|
|
179
|
+
})
|
|
180
|
+
/* eslint-enable promise/always-return */
|
|
181
|
+
.catch((err /* FIXME */) => {
|
|
182
|
+
this.emit('abortFailed', err);
|
|
183
|
+
throw err;
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get the next chunk of the file to be uploaded
|
|
188
|
+
* @param {Function} callback Called with the next chunk of the file to be uploaded
|
|
189
|
+
* @returns {void}
|
|
190
|
+
* @private
|
|
191
|
+
*/
|
|
192
|
+
_getNextChunk(callback) {
|
|
193
|
+
if (this._position >= this._size) {
|
|
194
|
+
callback(null);
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
let buf;
|
|
198
|
+
if (this._file) {
|
|
199
|
+
// Buffer/string case, just get the slice we need
|
|
200
|
+
buf = this._file.slice(this._position, this._position + this._partSize);
|
|
201
|
+
}
|
|
202
|
+
else if (this._streamBuffer.length > 0) {
|
|
203
|
+
buf = this._streamBuffer.shift();
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
// Stream case, need to read
|
|
207
|
+
buf = this._stream.read(this._partSize);
|
|
208
|
+
if (!buf) {
|
|
209
|
+
// stream needs to read more, retry later
|
|
210
|
+
setImmediate(() => this._getNextChunk(callback));
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
else if (buf.length > this._partSize) {
|
|
214
|
+
// stream is done reading and had extra data, buffer the remainder of the file
|
|
215
|
+
for (let i = 0; i < buf.length; i += this._partSize) {
|
|
216
|
+
this._streamBuffer.push(buf.slice(i, i + this._partSize));
|
|
217
|
+
}
|
|
218
|
+
buf = this._streamBuffer.shift();
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
this._fileHash.update(buf);
|
|
222
|
+
let chunk = new Chunk(this._client, this._sessionID, buf, this._position, this._size, this._options);
|
|
223
|
+
this._position += buf.length;
|
|
224
|
+
callback(chunk);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Upload a chunk
|
|
228
|
+
* @param {Chunk} chunk The chunk to upload
|
|
229
|
+
* @returns {void}
|
|
230
|
+
* @emits ChunkedUploader#chunkError
|
|
231
|
+
* @emits ChunkedUploader#chunkUploaded
|
|
232
|
+
*/
|
|
233
|
+
_uploadChunk(chunk /* FIXME */) {
|
|
234
|
+
this._numChunksInFlight += 1;
|
|
235
|
+
chunk.on('error', (err /* FIXME */) => this.emit('chunkError', err));
|
|
236
|
+
chunk.on('uploaded', (data /* FIXME */) => {
|
|
237
|
+
this._numChunksInFlight -= 1;
|
|
238
|
+
this.emit('chunkUploaded', data);
|
|
239
|
+
this._getNextChunk((nextChunk /* FIXME */) => nextChunk ? this._uploadChunk(nextChunk) : this._commit());
|
|
240
|
+
});
|
|
241
|
+
chunk.upload();
|
|
242
|
+
this._chunks.push(chunk);
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Commit the upload, finalizing it
|
|
246
|
+
* @returns {void}
|
|
247
|
+
* @emits ChunkedUploader#uploadComplete
|
|
248
|
+
* @emits ChunkedUploader#error
|
|
249
|
+
*/
|
|
250
|
+
_commit() {
|
|
251
|
+
if (!this._isStarted || this._numChunksInFlight > 0) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
let hash = this._fileHash.digest('base64');
|
|
255
|
+
this._isStarted = false;
|
|
256
|
+
let options = Object.assign({
|
|
257
|
+
parts: this._chunks.map((c) => c.getData()),
|
|
258
|
+
}, this._options.fileAttributes);
|
|
259
|
+
this._client.files.commitUploadSession(this._sessionID, hash, options, (err /* FIMXE */, file /* FIMXE */) => {
|
|
260
|
+
// It's not clear what the SDK can do here, so we just return the error and session info
|
|
261
|
+
// so users can retry if they wish
|
|
262
|
+
if (err) {
|
|
263
|
+
this.emit('error', {
|
|
264
|
+
uploadSession: this._uploadSessionInfo,
|
|
265
|
+
error: err,
|
|
266
|
+
});
|
|
267
|
+
this._reject(err);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
this.emit('uploadComplete', file);
|
|
271
|
+
this._resolve(file);
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
module.exports = ChunkedUploader;
|
|
276
|
+
//# sourceMappingURL=chunked-uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunked-uploader.js","sourceRoot":"","sources":["../src/chunked-uploader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Enterprise event stream backed by the enterprise events API
|
|
3
|
+
*/
|
|
4
|
+
import { Readable } from 'stream';
|
|
5
|
+
import BoxClient from './box-client';
|
|
6
|
+
type Options = {
|
|
7
|
+
streamPosition?: string;
|
|
8
|
+
startDate?: string;
|
|
9
|
+
endDate?: string;
|
|
10
|
+
eventTypeFilter?: EventType[];
|
|
11
|
+
pollingInterval?: number;
|
|
12
|
+
chunkSize?: number;
|
|
13
|
+
streamType?: 'admin_logs' | 'admin_logs_streaming';
|
|
14
|
+
};
|
|
15
|
+
type EventType = string;
|
|
16
|
+
/**
|
|
17
|
+
* Stream of Box enterprise events.
|
|
18
|
+
*
|
|
19
|
+
* By default, the stream starts from the current time.
|
|
20
|
+
* Pass 'startDate' to start from a specific time.
|
|
21
|
+
* Pass 'streamPosition' to start from a previous stream position, or '0' for all available past events (~1 year).
|
|
22
|
+
* Once the stream catches up to the current time, it will begin polling every 'pollingInterval' seconds.
|
|
23
|
+
* If 'pollingInterval' = 0, then the stream will end when it catches up to the current time (no polling).
|
|
24
|
+
*
|
|
25
|
+
* @param {BoxClient} client - The client to use to get events
|
|
26
|
+
* @param {Object} [options] - Options
|
|
27
|
+
* @param {string} [options.streamPosition] - The stream position to start from (pass '0' for all past events)
|
|
28
|
+
* @param {string} [options.startDate] - The date to start from
|
|
29
|
+
* @param {string} [options.endDate] - The date to end at
|
|
30
|
+
* @param {EventType[]} [options.eventTypeFilter] - Array of event types to return
|
|
31
|
+
* @param {int} [options.pollingInterval=60] - Polling interval (in seconds). Pass 0 for no polling.
|
|
32
|
+
* @param {int} [options.chunkSize=500] - Number of events to fetch per call (max = 500)
|
|
33
|
+
* @constructor
|
|
34
|
+
* @extends Readable
|
|
35
|
+
*/
|
|
36
|
+
declare class EnterpriseEventStream extends Readable {
|
|
37
|
+
_client: BoxClient;
|
|
38
|
+
_options: Options & Required<Pick<Options, 'pollingInterval' | 'chunkSize'>>;
|
|
39
|
+
_streamPosition?: string;
|
|
40
|
+
constructor(client: BoxClient, options?: Options);
|
|
41
|
+
/**
|
|
42
|
+
* @returns {?number} - Returns null if no events have been fetched from Box yet.
|
|
43
|
+
*/
|
|
44
|
+
getStreamPosition(): string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Get the stream state.
|
|
47
|
+
*
|
|
48
|
+
* @returns {Object} - The stream state
|
|
49
|
+
*/
|
|
50
|
+
getStreamState(): {
|
|
51
|
+
streamPosition: string | undefined;
|
|
52
|
+
startDate: string | undefined;
|
|
53
|
+
endDate: string | undefined;
|
|
54
|
+
eventTypeFilter: string[] | undefined;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Set the stream state.
|
|
58
|
+
*
|
|
59
|
+
* @param {Object} state - The stream state
|
|
60
|
+
* @returns {void}
|
|
61
|
+
*/
|
|
62
|
+
setStreamState(state: Pick<Options, 'streamPosition' | 'startDate' | 'endDate' | 'eventTypeFilter'>): void;
|
|
63
|
+
/**
|
|
64
|
+
* Fetch the next chunk of events
|
|
65
|
+
*
|
|
66
|
+
* If there are no events, poll until events are available.
|
|
67
|
+
* If an error occurs, emit the error but continuing polling as usual.
|
|
68
|
+
* @param {Function} callback - Passed the array of events
|
|
69
|
+
* @returns {void}
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
fetchEvents(callback: Function): void;
|
|
73
|
+
/**
|
|
74
|
+
* Implementation of the stream-internal read function. This is called
|
|
75
|
+
* by the stream whenever it needs more data, and will not be called again
|
|
76
|
+
* until data is pushed into the stream.
|
|
77
|
+
* @returns {void}
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
_read(): void;
|
|
81
|
+
}
|
|
82
|
+
export = EnterpriseEventStream;
|