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,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Configuration Object
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for App Auth
|
|
6
|
+
* @typedef {Object} AppAuthConfig
|
|
7
|
+
* @property {string} keyID The ID of the public key used for app auth
|
|
8
|
+
* @property {string|Buffer} privateKey The private key used for app auth
|
|
9
|
+
* @property {string} passphrase The passphrase associated with the private key
|
|
10
|
+
* @property {string} [algorithm=RS256] The signing algorithm to use, "RS256", "RS384", or "RS512"
|
|
11
|
+
* @property {int} [expirationTime=30] Number of seconds the JWT should live for
|
|
12
|
+
* @property {boolean} [verifyTimestamp=false] Whether the timestamp when the auth token is created should be validated
|
|
13
|
+
*/
|
|
14
|
+
type AppAuthConfig = {
|
|
15
|
+
keyID: string;
|
|
16
|
+
privateKey: string | Buffer;
|
|
17
|
+
passphrase: string;
|
|
18
|
+
algorithm: 'RS256' | 'RS384' | 'RS512';
|
|
19
|
+
expirationTime: number;
|
|
20
|
+
verifyTimestamp: boolean;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Configuration settings used to initialize and customize the SDK
|
|
24
|
+
*
|
|
25
|
+
* @typedef {Object} UserConfigurationOptions
|
|
26
|
+
* @property {string} clientID Client ID of your Box Application
|
|
27
|
+
* @property {string} clientSecret Client secret of your Box Application
|
|
28
|
+
* @property {string} [apiRootURL] The root URL to Box [Default: 'https://api.box.com']
|
|
29
|
+
* @property {string} [uploadAPIRootURL] The root URL to Box for uploads [Default: 'https://upload.box.com/api']
|
|
30
|
+
* @property {string} [authorizeRootURL] The root URL for the authorization screen [Default: 'https://account.box.com/api']
|
|
31
|
+
* @property {int} [uploadRequestTimeoutMS] Timeout after which an upload request is aborted [Default: 60000]
|
|
32
|
+
* @property {int} [retryIntervalMS] Time between auto-retries of the API call on a temp failure [Default: 2000]
|
|
33
|
+
* @property {int} [numMaxRetries] Max # of times a temporarily-failed request should be retried before propagating a permanent failure [Default: 5]
|
|
34
|
+
* @property {int} [expiredBufferMS] Time before expiration, in milliseconds, when we begin to treat tokens as expired [Default: 3 min.]
|
|
35
|
+
* @property {Object} [request] Request options
|
|
36
|
+
* @property {boolean} [request.strictSSL] Set to false to disable strict SSL checking, which allows using Dev APIs [Default: true]
|
|
37
|
+
* @property {?AppAuthConfig} appAuth Optional configuration for App Auth
|
|
38
|
+
*/
|
|
39
|
+
type UserConfigurationOptions = {
|
|
40
|
+
clientID: string;
|
|
41
|
+
clientSecret: string;
|
|
42
|
+
apiRootURL: string;
|
|
43
|
+
uploadAPIRootURL: string;
|
|
44
|
+
authorizeRootURL: string;
|
|
45
|
+
uploadRequestTimeoutMS: number;
|
|
46
|
+
retryIntervalMS: number;
|
|
47
|
+
numMaxRetries: number;
|
|
48
|
+
expiredBufferMS: number;
|
|
49
|
+
request: {
|
|
50
|
+
agentClass: any;
|
|
51
|
+
agentOptions: any;
|
|
52
|
+
strictSSL: boolean;
|
|
53
|
+
};
|
|
54
|
+
appAuth?: AppAuthConfig;
|
|
55
|
+
proxy?: {
|
|
56
|
+
url: string;
|
|
57
|
+
username: string;
|
|
58
|
+
password: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A Config Object holds the configuration options of the current setup. These are all
|
|
63
|
+
* customizable by the user, and will default if no value is specified in the given params
|
|
64
|
+
* object. The object is frozen on initialization, so that no values can be changed after
|
|
65
|
+
* setup.
|
|
66
|
+
*
|
|
67
|
+
* @param {UserConfigurationOptions} params - The config options set by the user
|
|
68
|
+
* @constructor
|
|
69
|
+
*/
|
|
70
|
+
declare class Config {
|
|
71
|
+
_params: Required<UserConfigurationOptions>;
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
constructor(params: UserConfigurationOptions);
|
|
74
|
+
/**
|
|
75
|
+
* Extend the current config into a new config with new params overriding old ones
|
|
76
|
+
* @param {UserConfigurationOptions} params The override options
|
|
77
|
+
* @returns {Config} The extended configuration
|
|
78
|
+
*/
|
|
79
|
+
extend(params: UserConfigurationOptions): Config;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @module box-node-sdk/lib/util/config
|
|
83
|
+
* @see {@Link Config}
|
|
84
|
+
*/
|
|
85
|
+
export = Config;
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Configuration Object
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
const assert = require("assert");
|
|
39
|
+
const https = __importStar(require("https"));
|
|
40
|
+
const stream_1 = require("stream");
|
|
41
|
+
// ------------------------------------------------------------------------------
|
|
42
|
+
// Requirements
|
|
43
|
+
// ------------------------------------------------------------------------------
|
|
44
|
+
const merge = require('merge-options'), sdkVersion = require('../../package.json').version;
|
|
45
|
+
// ------------------------------------------------------------------------------
|
|
46
|
+
// Private
|
|
47
|
+
// ------------------------------------------------------------------------------
|
|
48
|
+
const nodeVersion = process.version;
|
|
49
|
+
var defaults = {
|
|
50
|
+
clientID: null,
|
|
51
|
+
clientSecret: null,
|
|
52
|
+
apiRootURL: 'https://api.box.com',
|
|
53
|
+
uploadAPIRootURL: 'https://upload.box.com/api',
|
|
54
|
+
authorizeRootURL: 'https://account.box.com/api',
|
|
55
|
+
apiVersion: '2.0',
|
|
56
|
+
uploadRequestTimeoutMS: 60000,
|
|
57
|
+
retryIntervalMS: 2000,
|
|
58
|
+
numMaxRetries: 5,
|
|
59
|
+
retryStrategy: null,
|
|
60
|
+
expiredBufferMS: 180000,
|
|
61
|
+
appAuth: undefined,
|
|
62
|
+
iterators: false,
|
|
63
|
+
enterpriseID: undefined,
|
|
64
|
+
analyticsClient: null,
|
|
65
|
+
disableStreamPassThrough: false,
|
|
66
|
+
proxy: {
|
|
67
|
+
url: null,
|
|
68
|
+
username: null,
|
|
69
|
+
password: null,
|
|
70
|
+
},
|
|
71
|
+
request: {
|
|
72
|
+
// By default, require API SSL cert to be valid
|
|
73
|
+
strictSSL: true,
|
|
74
|
+
// Use an agent with keep-alive enabled to avoid performing SSL handshake per connection
|
|
75
|
+
agentClass: https.Agent,
|
|
76
|
+
agentOptions: {
|
|
77
|
+
keepAlive: true,
|
|
78
|
+
},
|
|
79
|
+
// Encode requests as JSON. Encode the response as well if JSON is returned.
|
|
80
|
+
json: true,
|
|
81
|
+
// Do not encode the response as a string, since the response could be a file. return Buffers instead.
|
|
82
|
+
encoding: null,
|
|
83
|
+
// A redirect is usually information we want to handle, so don't automatically follow
|
|
84
|
+
followRedirect: false,
|
|
85
|
+
// By default, we attach a version-specific user-agent string to SDK requests
|
|
86
|
+
headers: {
|
|
87
|
+
'User-Agent': `Box Node.js SDK v${sdkVersion} (Node ${nodeVersion})`,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
var appAuthDefaults = {
|
|
92
|
+
algorithm: 'RS256',
|
|
93
|
+
expirationTime: 30,
|
|
94
|
+
verifyTimestamp: false,
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Validate the basic Config values needed for the SDK to function
|
|
98
|
+
* @param {UserConfigurationOptions} params The user-supplied config values
|
|
99
|
+
* @returns {void}
|
|
100
|
+
* @throws {AssertionError}
|
|
101
|
+
* @private
|
|
102
|
+
*/
|
|
103
|
+
function validateBasicParams(params) {
|
|
104
|
+
// Assert that the given params valid, and that required values are present
|
|
105
|
+
assert(typeof params.clientID === 'string', '"clientID" must be set via init() before using the SDK.');
|
|
106
|
+
assert(typeof params.clientSecret === 'string', '"clientSecret" must be set via init() before using the SDK.');
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Validate app auth-specific Config values
|
|
110
|
+
* @param {Object} appAuth The user-supplied app auth values
|
|
111
|
+
* @returns {void}
|
|
112
|
+
* @throws {AssertionError}
|
|
113
|
+
* @private
|
|
114
|
+
*/
|
|
115
|
+
function validateAppAuthParams(appAuth) {
|
|
116
|
+
assert(typeof appAuth.keyID === 'string', 'Key ID must be provided in app auth params');
|
|
117
|
+
assert(typeof appAuth.privateKey === 'string' ||
|
|
118
|
+
appAuth.privateKey instanceof Buffer, 'Private key must be provided in app auth params');
|
|
119
|
+
assert(typeof appAuth.passphrase === 'string' && appAuth.passphrase.length > 0, 'Passphrase must be provided in app auth params');
|
|
120
|
+
var validAlgorithms = ['RS256', 'RS384', 'RS512'];
|
|
121
|
+
if (typeof appAuth.algorithm !== 'undefined') {
|
|
122
|
+
assert(validAlgorithms.indexOf(appAuth.algorithm) > -1, `Algorithm in app auth params must be one of: ${validAlgorithms.join(', ')}`);
|
|
123
|
+
}
|
|
124
|
+
if (typeof appAuth.expirationTime !== 'undefined') {
|
|
125
|
+
assert(Number.isInteger(appAuth.expirationTime) &&
|
|
126
|
+
appAuth.expirationTime > 0 &&
|
|
127
|
+
appAuth.expirationTime <= 60, 'Valid token expiration time (0 - 60) must be provided in app auth params');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Update the agentClass based on the proxy config values passed in by the user
|
|
132
|
+
* @param {UserConfigurationOptions} params The current Config values
|
|
133
|
+
* @returns {void}
|
|
134
|
+
* @private
|
|
135
|
+
*/
|
|
136
|
+
function updateRequestAgent(params) {
|
|
137
|
+
if (params.proxy.url) {
|
|
138
|
+
let proxyUrl = params.proxy.url;
|
|
139
|
+
if (params.proxy.username && params.proxy.password) {
|
|
140
|
+
proxyUrl = proxyUrl.replace('://', `://${params.proxy.username}:${params.proxy.password}@`);
|
|
141
|
+
}
|
|
142
|
+
const ProxyAgent = require('proxy-agent').ProxyAgent;
|
|
143
|
+
params.request.agentClass = ProxyAgent;
|
|
144
|
+
params.request.agentOptions = Object.assign({}, params.request.agentOptions, {
|
|
145
|
+
getProxyForUrl: (url) => proxyUrl,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Deep freeze an object and all nested objects within it. It doesn't go deep on
|
|
151
|
+
* Buffers and Readable streams so can be used on objects containing requests.
|
|
152
|
+
* @param {Object} obj The object to freeze
|
|
153
|
+
* @returns {Object} The frozen object
|
|
154
|
+
*/
|
|
155
|
+
function deepFreezeWithRequest(obj) {
|
|
156
|
+
Object.freeze(obj);
|
|
157
|
+
Object.getOwnPropertyNames(obj).forEach(function (name) {
|
|
158
|
+
const prop = obj[name];
|
|
159
|
+
if (prop !== null &&
|
|
160
|
+
typeof prop === 'object' &&
|
|
161
|
+
obj.hasOwnProperty(name) &&
|
|
162
|
+
!Object.isFrozen(prop) &&
|
|
163
|
+
!(prop instanceof Buffer) &&
|
|
164
|
+
!(prop instanceof stream_1.Readable)) {
|
|
165
|
+
deepFreezeWithRequest(obj[name]);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
return obj;
|
|
169
|
+
}
|
|
170
|
+
// ------------------------------------------------------------------------------
|
|
171
|
+
// Public
|
|
172
|
+
// ------------------------------------------------------------------------------
|
|
173
|
+
/**
|
|
174
|
+
* A Config Object holds the configuration options of the current setup. These are all
|
|
175
|
+
* customizable by the user, and will default if no value is specified in the given params
|
|
176
|
+
* object. The object is frozen on initialization, so that no values can be changed after
|
|
177
|
+
* setup.
|
|
178
|
+
*
|
|
179
|
+
* @param {UserConfigurationOptions} params - The config options set by the user
|
|
180
|
+
* @constructor
|
|
181
|
+
*/
|
|
182
|
+
class Config {
|
|
183
|
+
constructor(params) {
|
|
184
|
+
validateBasicParams(params);
|
|
185
|
+
if (typeof params.appAuth === 'object') {
|
|
186
|
+
validateAppAuthParams(params.appAuth);
|
|
187
|
+
params.appAuth = merge({}, appAuthDefaults, params.appAuth);
|
|
188
|
+
}
|
|
189
|
+
// Ensure that we don't accidentally assign over Config methods
|
|
190
|
+
assert(!params.hasOwnProperty('extend'), 'Config params may not override Config methods');
|
|
191
|
+
assert(!params.hasOwnProperty('_params'), 'Config params may not override Config methods');
|
|
192
|
+
// Set the given params or default value if params property is missing
|
|
193
|
+
this._params = merge(defaults, params);
|
|
194
|
+
updateRequestAgent(this._params);
|
|
195
|
+
Object.assign(this, this._params);
|
|
196
|
+
// Freeze the object so that configuration options cannot be modified
|
|
197
|
+
deepFreezeWithRequest(this);
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Extend the current config into a new config with new params overriding old ones
|
|
201
|
+
* @param {UserConfigurationOptions} params The override options
|
|
202
|
+
* @returns {Config} The extended configuration
|
|
203
|
+
*/
|
|
204
|
+
extend(params) {
|
|
205
|
+
var newParams = merge({}, this._params, params);
|
|
206
|
+
delete newParams.extend;
|
|
207
|
+
delete newParams._params;
|
|
208
|
+
return new Config(newParams);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
module.exports = Config;
|
|
212
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/util/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Errors Helper
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* A Helper for building errors across the SDK. Makes sure that easily-forgotten
|
|
6
|
+
* fields aren't missed, and that everything is formatted properly to return to the
|
|
7
|
+
* consumer.
|
|
8
|
+
*
|
|
9
|
+
* @name Errors
|
|
10
|
+
* @module box-node-sdk/lib/util/errors
|
|
11
|
+
*/
|
|
12
|
+
declare const _default: {
|
|
13
|
+
/**
|
|
14
|
+
* Build a response error with the given message, and attaching meta data from the
|
|
15
|
+
* response data.
|
|
16
|
+
*
|
|
17
|
+
* @param {?APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
|
|
18
|
+
* @param {string} message - the response error message
|
|
19
|
+
* @returns {Errors~ResponseError} an error describing the response error
|
|
20
|
+
*/
|
|
21
|
+
buildResponseError(response: any, message?: string): any;
|
|
22
|
+
/**
|
|
23
|
+
* Build an authentication error. {@see Errors~AuthError}
|
|
24
|
+
*
|
|
25
|
+
* @param {?APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
|
|
26
|
+
* @param {string} [message] - Optional message for the error
|
|
27
|
+
* @returns {Errors~AuthError} A properly formatted authentication error
|
|
28
|
+
*/
|
|
29
|
+
buildAuthError(response: any, message?: string): any;
|
|
30
|
+
/**
|
|
31
|
+
* Build the error for an "Unexpected Response" from the API. This is a shortcut for
|
|
32
|
+
* responseError built specifically for the 401 UNEXPECTED response case. It
|
|
33
|
+
* should be called and the error should be propogated to the consumer
|
|
34
|
+
* whenever an unexpected response was recieved from the API.
|
|
35
|
+
*
|
|
36
|
+
* @param {?APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
|
|
37
|
+
* @returns {Errors~ResponseError} an error describing the response error
|
|
38
|
+
*/
|
|
39
|
+
buildUnexpectedResponseError(response: any): any;
|
|
40
|
+
/**
|
|
41
|
+
* Unwrap a Bluebird error and throw it, or just re-throw if the error
|
|
42
|
+
* is not a Bluebird error. This is necessary to preserve errors when
|
|
43
|
+
* a function is promisified.
|
|
44
|
+
* @param {Error} error The error to unwrap
|
|
45
|
+
* @returns {void}
|
|
46
|
+
* @throws {Error} The unwrapped error
|
|
47
|
+
*/
|
|
48
|
+
unwrapAndThrow(error: any): never;
|
|
49
|
+
};
|
|
50
|
+
export = _default;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Errors Helper
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
18
|
+
}) : function(o, v) {
|
|
19
|
+
o["default"] = v;
|
|
20
|
+
});
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
const qs = __importStar(require("querystring"));
|
|
39
|
+
// ------------------------------------------------------------------------------
|
|
40
|
+
// Requirements
|
|
41
|
+
// ------------------------------------------------------------------------------
|
|
42
|
+
const httpStatusCodes = require('http-status');
|
|
43
|
+
const TRACE_ID_HEADER_NAME = 'box-request-id';
|
|
44
|
+
// ------------------------------------------------------------------------------
|
|
45
|
+
// Typedefs and Callbacks
|
|
46
|
+
// ------------------------------------------------------------------------------
|
|
47
|
+
/**
|
|
48
|
+
* An generic error propagated when the response has caused an error.
|
|
49
|
+
* @typedef {Error} Errors~ResponseError
|
|
50
|
+
* @property {APIRequest~ResponseObject} response The response object that generated the error
|
|
51
|
+
* @property {int} statusCode A shortcut to the status code of the response
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* Error propagated whenever the SDK is unable to successfully complete an action
|
|
55
|
+
* due to an expired access token (and refresh token, if one was provided).
|
|
56
|
+
* @typedef {Errors~ResponseError} Errors~AuthError
|
|
57
|
+
* @property {boolean} authExpired - always true
|
|
58
|
+
*/
|
|
59
|
+
/**
|
|
60
|
+
* Request structure for error objects
|
|
61
|
+
* @param {Object} req The request object
|
|
62
|
+
* @constructor
|
|
63
|
+
* @private
|
|
64
|
+
*/
|
|
65
|
+
class Request {
|
|
66
|
+
constructor(req /* FIXME */) {
|
|
67
|
+
this.method = req.method;
|
|
68
|
+
if (req.uri) {
|
|
69
|
+
this.url = {
|
|
70
|
+
protocol: req.uri.protocol,
|
|
71
|
+
host: req.uri.host,
|
|
72
|
+
path: req.uri.pathname,
|
|
73
|
+
query: qs.parse(req.uri.query),
|
|
74
|
+
fragment: req.uri.hash,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this.url = null;
|
|
79
|
+
}
|
|
80
|
+
this.httpVersion = req.response ? req.response.httpVersion : null;
|
|
81
|
+
this.headers = req.headers;
|
|
82
|
+
this.body = req.body;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
module.exports = {
|
|
86
|
+
/**
|
|
87
|
+
* Build a response error with the given message, and attaching meta data from the
|
|
88
|
+
* response data.
|
|
89
|
+
*
|
|
90
|
+
* @param {?APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
|
|
91
|
+
* @param {string} message - the response error message
|
|
92
|
+
* @returns {Errors~ResponseError} an error describing the response error
|
|
93
|
+
*/
|
|
94
|
+
buildResponseError(response /* FIXME */, message) {
|
|
95
|
+
response = response || {};
|
|
96
|
+
message = message || 'API Response Error';
|
|
97
|
+
var statusCode = response.statusCode;
|
|
98
|
+
var statusMessage = httpStatusCodes[statusCode];
|
|
99
|
+
var debugID = ''; // Of the form <requestID>.<traceID>, both parts optional
|
|
100
|
+
var errorCode;
|
|
101
|
+
var errorDescription;
|
|
102
|
+
if (response.headers && response.headers[TRACE_ID_HEADER_NAME]) {
|
|
103
|
+
// Append trace ID with dot separator — if not present, the dot should be omitted
|
|
104
|
+
debugID += `.${response.headers[TRACE_ID_HEADER_NAME]}`;
|
|
105
|
+
}
|
|
106
|
+
if (response.body) {
|
|
107
|
+
if (response.body.request_id) {
|
|
108
|
+
// Prepend request ID
|
|
109
|
+
debugID = response.body.request_id + debugID;
|
|
110
|
+
}
|
|
111
|
+
errorCode = response.body.code || response.body.error;
|
|
112
|
+
errorDescription =
|
|
113
|
+
response.body.message || response.body.error_description;
|
|
114
|
+
}
|
|
115
|
+
var errorMessage;
|
|
116
|
+
if (debugID) {
|
|
117
|
+
errorMessage = `${message} [${statusCode} ${statusMessage} | ${debugID}]`;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
errorMessage = `${message} [${statusCode} ${statusMessage}]`;
|
|
121
|
+
}
|
|
122
|
+
if (errorCode) {
|
|
123
|
+
errorMessage += ` ${errorCode}`;
|
|
124
|
+
}
|
|
125
|
+
if (errorDescription) {
|
|
126
|
+
errorMessage += ` - ${errorDescription}`;
|
|
127
|
+
}
|
|
128
|
+
var responseError /* FIXME */ = new Error(errorMessage);
|
|
129
|
+
responseError.statusCode = response.statusCode;
|
|
130
|
+
responseError.response = response;
|
|
131
|
+
responseError.request = response.request
|
|
132
|
+
? new Request(response.request)
|
|
133
|
+
: {};
|
|
134
|
+
return responseError;
|
|
135
|
+
},
|
|
136
|
+
/**
|
|
137
|
+
* Build an authentication error. {@see Errors~AuthError}
|
|
138
|
+
*
|
|
139
|
+
* @param {?APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
|
|
140
|
+
* @param {string} [message] - Optional message for the error
|
|
141
|
+
* @returns {Errors~AuthError} A properly formatted authentication error
|
|
142
|
+
*/
|
|
143
|
+
buildAuthError(response /* FIXME */, message) {
|
|
144
|
+
message = message || 'Expired Auth: Auth code or refresh token has expired';
|
|
145
|
+
var responseError = this.buildResponseError(response, message);
|
|
146
|
+
responseError.authExpired = true;
|
|
147
|
+
return responseError;
|
|
148
|
+
},
|
|
149
|
+
/**
|
|
150
|
+
* Build the error for an "Unexpected Response" from the API. This is a shortcut for
|
|
151
|
+
* responseError built specifically for the 401 UNEXPECTED response case. It
|
|
152
|
+
* should be called and the error should be propogated to the consumer
|
|
153
|
+
* whenever an unexpected response was recieved from the API.
|
|
154
|
+
*
|
|
155
|
+
* @param {?APIRequest~ResponseObject} response - The response returned by an APIRequestManager request
|
|
156
|
+
* @returns {Errors~ResponseError} an error describing the response error
|
|
157
|
+
*/
|
|
158
|
+
buildUnexpectedResponseError(response /* FIXME */) {
|
|
159
|
+
return this.buildResponseError(response, 'Unexpected API Response');
|
|
160
|
+
},
|
|
161
|
+
/**
|
|
162
|
+
* Unwrap a Bluebird error and throw it, or just re-throw if the error
|
|
163
|
+
* is not a Bluebird error. This is necessary to preserve errors when
|
|
164
|
+
* a function is promisified.
|
|
165
|
+
* @param {Error} error The error to unwrap
|
|
166
|
+
* @returns {void}
|
|
167
|
+
* @throws {Error} The unwrapped error
|
|
168
|
+
*/
|
|
169
|
+
unwrapAndThrow(error /* FIXME */) {
|
|
170
|
+
if (error.cause) {
|
|
171
|
+
throw error.cause;
|
|
172
|
+
}
|
|
173
|
+
throw error;
|
|
174
|
+
},
|
|
175
|
+
};
|
|
176
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/util/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Calculate exponential backoff time
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Calculate the exponential backoff time with randomized jitter
|
|
6
|
+
* @param {int} numRetries Which retry number this one will be
|
|
7
|
+
* @param {int} baseInterval The base retry interval set in config
|
|
8
|
+
* @returns {int} The number of milliseconds after which to retry
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: (numRetries: number, baseInterval: number) => number;
|
|
11
|
+
export = _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Calculate exponential backoff time
|
|
4
|
+
*/
|
|
5
|
+
// ------------------------------------------------------------------------------
|
|
6
|
+
// Private
|
|
7
|
+
// ------------------------------------------------------------------------------
|
|
8
|
+
// Retry intervals are between 50% and 150% of the exponentially increasing base amount
|
|
9
|
+
const RETRY_RANDOMIZATION_FACTOR = 0.5;
|
|
10
|
+
module.exports = function getRetryTimeout(numRetries, baseInterval) {
|
|
11
|
+
var minRandomization = 1 - RETRY_RANDOMIZATION_FACTOR;
|
|
12
|
+
var maxRandomization = 1 + RETRY_RANDOMIZATION_FACTOR;
|
|
13
|
+
var randomization = Math.random() * (maxRandomization - minRandomization) + minRandomization;
|
|
14
|
+
var exponential = Math.pow(2, numRetries - 1);
|
|
15
|
+
return Math.ceil(exponential * baseInterval * randomization);
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=exponential-backoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exponential-backoff.js","sourceRoot":"","sources":["../../src/util/exponential-backoff.ts"],"names":[],"mappings":";AAAA;;GAEG;AAEH,iFAAiF;AACjF,UAAU;AACV,iFAAiF;AAEjF,uFAAuF;AACvF,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAQvC,iBAAS,SAAS,eAAe,CAAC,UAAkB,EAAE,YAAoB;IACxE,IAAI,gBAAgB,GAAG,CAAC,GAAG,0BAA0B,CAAC;IACtD,IAAI,gBAAgB,GAAG,CAAC,GAAG,0BAA0B,CAAC;IACtD,IAAI,aAAa,GACf,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAC3E,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;AAC/D,CAAC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Iterator for paged responses
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Asynchronous iterator for paged collections
|
|
6
|
+
*/
|
|
7
|
+
declare class PagingIterator {
|
|
8
|
+
/**
|
|
9
|
+
* Determine if a response is iterable
|
|
10
|
+
* @param {Object} response - The API response
|
|
11
|
+
* @returns {boolean} Whether the response is iterable
|
|
12
|
+
*/
|
|
13
|
+
static isIterable(response: any): boolean;
|
|
14
|
+
nextField: any;
|
|
15
|
+
nextValue: any;
|
|
16
|
+
limit: any;
|
|
17
|
+
done: boolean;
|
|
18
|
+
options: Record<string, any>;
|
|
19
|
+
fetch: any;
|
|
20
|
+
buffer: any;
|
|
21
|
+
queue: any;
|
|
22
|
+
/**
|
|
23
|
+
* @constructor
|
|
24
|
+
* @param {Object} response - The original API response
|
|
25
|
+
* @param {BoxClient} client - An API client to make further requests
|
|
26
|
+
* @returns {void}
|
|
27
|
+
* @throws {Error} Will throw when collection cannot be paged
|
|
28
|
+
*/
|
|
29
|
+
constructor(response: any, client: any);
|
|
30
|
+
/**
|
|
31
|
+
* Update the paging parameters for the iterator
|
|
32
|
+
* @private
|
|
33
|
+
* @param {Object} response - The latest API response
|
|
34
|
+
* @returns {void}
|
|
35
|
+
*/
|
|
36
|
+
_updatePaging(response: any): void;
|
|
37
|
+
/**
|
|
38
|
+
* Fetch the next page of results
|
|
39
|
+
* @returns {Promise} Promise resolving to iterator state
|
|
40
|
+
*/
|
|
41
|
+
_getData(): any;
|
|
42
|
+
/**
|
|
43
|
+
* Fetch the next page of the collection
|
|
44
|
+
* @returns {Promise} Promise resolving to iterator state
|
|
45
|
+
*/
|
|
46
|
+
next(): any;
|
|
47
|
+
/**
|
|
48
|
+
* Fetch the next marker
|
|
49
|
+
* @returns {string|int} String that is the next marker or int that is the next offset
|
|
50
|
+
*/
|
|
51
|
+
getNextMarker(): any;
|
|
52
|
+
}
|
|
53
|
+
export = PagingIterator;
|