box-node-sdk 3.8.0 → 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/README.md +89 -69
- package/config/package.schema.json +42 -42
- package/lib/api-request-manager.d.ts +0 -2
- package/lib/api-request-manager.js.map +1 -1
- package/lib/api-request.d.ts +0 -3
- package/lib/api-request.js.map +1 -1
- package/lib/box-client.d.ts +7 -7
- package/lib/box-client.js +6 -3
- package/lib/box-client.js.map +1 -1
- package/lib/box-node-sdk.d.ts +1 -3
- package/lib/box-node-sdk.js +26 -10
- package/lib/box-node-sdk.js.map +1 -1
- package/lib/chunked-uploader.d.ts +0 -5
- package/lib/chunked-uploader.js.map +1 -1
- package/lib/enterprise-event-stream.d.ts +0 -1
- package/lib/enterprise-event-stream.js +3 -3
- package/lib/enterprise-event-stream.js.map +1 -1
- package/lib/event-stream.d.ts +0 -2
- package/lib/event-stream.js.map +1 -1
- package/lib/managers/ai.generated.js.map +1 -1
- package/lib/managers/collaboration-allowlist.js.map +1 -1
- package/lib/managers/collaborations.d.ts +3 -3
- package/lib/managers/collaborations.js +23 -23
- package/lib/managers/collaborations.js.map +1 -1
- package/lib/managers/collections.js.map +1 -1
- package/lib/managers/comments.js.map +1 -1
- package/lib/managers/device-pins.js.map +1 -1
- package/lib/managers/enterprise.js.map +1 -1
- package/lib/managers/events.d.ts +0 -1
- package/lib/managers/events.js +3 -1
- package/lib/managers/events.js.map +1 -1
- package/lib/managers/file-requests-manager.d.ts +2 -2
- package/lib/managers/file-requests-manager.js +1 -1
- package/lib/managers/file-requests-manager.js.map +1 -1
- package/lib/managers/files.d.ts +1 -4
- package/lib/managers/files.js +6 -2
- package/lib/managers/files.js.map +1 -1
- package/lib/managers/folders.d.ts +1 -1
- package/lib/managers/folders.js +3 -1
- package/lib/managers/folders.js.map +1 -1
- package/lib/managers/groups.js +2 -2
- package/lib/managers/groups.js.map +1 -1
- package/lib/managers/integration-mappings.js.map +1 -1
- package/lib/managers/legal-hold-policies.js.map +1 -1
- package/lib/managers/metadata.js.map +1 -1
- package/lib/managers/recent-items.js.map +1 -1
- package/lib/managers/retention-policies.d.ts +1 -1
- package/lib/managers/retention-policies.js.map +1 -1
- package/lib/managers/search.d.ts +1 -1
- package/lib/managers/search.js.map +1 -1
- package/lib/managers/shared-items.js.map +1 -1
- package/lib/managers/shield-information-barrier-reports.generated.js.map +1 -1
- package/lib/managers/shield-information-barrier-segment-members.generated.js.map +1 -1
- package/lib/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -1
- package/lib/managers/shield-information-barrier-segments.generated.js.map +1 -1
- package/lib/managers/shield-information-barriers.generated.js.map +1 -1
- package/lib/managers/sign-requests.generated.js.map +1 -1
- package/lib/managers/sign-templates.generated.js.map +1 -1
- package/lib/managers/storage-policies.js.map +1 -1
- package/lib/managers/tasks.js.map +1 -1
- package/lib/managers/terms-of-service.js.map +1 -1
- package/lib/managers/trash.js.map +1 -1
- package/lib/managers/users.d.ts +0 -3
- package/lib/managers/users.js +1 -1
- package/lib/managers/users.js.map +1 -1
- package/lib/managers/web-links.js +3 -1
- package/lib/managers/web-links.js.map +1 -1
- package/lib/managers/webhooks.d.ts +11 -11
- package/lib/managers/webhooks.js +24 -14
- package/lib/managers/webhooks.js.map +1 -1
- package/lib/schemas/collaboration-update.d.ts +1 -1
- package/lib/schemas/collaboration.d.ts +3 -3
- package/lib/schemas/collaborations.d.ts +1 -1
- package/lib/schemas/file-request.d.ts +2 -2
- package/lib/sessions/app-auth-session.js.map +1 -1
- package/lib/sessions/basic-session.d.ts +0 -1
- package/lib/sessions/basic-session.js.map +1 -1
- package/lib/sessions/ccg-session.js.map +1 -1
- package/lib/sessions/persistent-session.js.map +1 -1
- package/lib/token-manager.js +4 -2
- package/lib/token-manager.js.map +1 -1
- package/lib/util/config.d.ts +0 -2
- package/lib/util/config.js +18 -8
- package/lib/util/config.js.map +1 -1
- package/lib/util/errors.js +17 -7
- package/lib/util/errors.js.map +1 -1
- package/lib/util/exponential-backoff.js.map +1 -1
- package/lib/util/paging-iterator.js +17 -7
- package/lib/util/paging-iterator.js.map +1 -1
- package/lib/util/serializable.js.map +1 -1
- package/lib/util/url-path.js.map +1 -1
- 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 +33 -28
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sign-templates.generated.js","sourceRoot":"","sources":["../../src/schemas/sign-templates.generated.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as schemas from '.';
|
|
2
|
+
/**
|
|
3
|
+
* Template Signer Input
|
|
4
|
+
*
|
|
5
|
+
* Input created by a Signer on a Template
|
|
6
|
+
*/
|
|
7
|
+
export interface TemplateSignerInput extends schemas.SignRequestPrefillTag {
|
|
8
|
+
/**
|
|
9
|
+
* Type of input
|
|
10
|
+
* Example: text
|
|
11
|
+
*/
|
|
12
|
+
type?: 'signature' | 'date' | 'text' | 'checkbox' | 'attachment' | 'radio' | 'dropdown';
|
|
13
|
+
/**
|
|
14
|
+
* Content type of input
|
|
15
|
+
* Example: text
|
|
16
|
+
*/
|
|
17
|
+
content_type?: 'signature' | 'initial' | 'stamp' | 'date' | 'checkbox' | 'text' | 'full_name' | 'first_name' | 'last_name' | 'company' | 'title' | 'email' | 'attachment' | 'radio' | 'dropdown';
|
|
18
|
+
/**
|
|
19
|
+
* Whether or not the input is required.
|
|
20
|
+
* Example: true
|
|
21
|
+
*/
|
|
22
|
+
is_required?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Index of page that the input is on.
|
|
25
|
+
* Example: 4
|
|
26
|
+
*/
|
|
27
|
+
page_index: number;
|
|
28
|
+
/**
|
|
29
|
+
* Document identifier.
|
|
30
|
+
* Example: 123075213-eb54b537-8b25-445e-87c1-5a1c67d8cbd7
|
|
31
|
+
*/
|
|
32
|
+
document_id?: string;
|
|
33
|
+
/**
|
|
34
|
+
* When the input is of the type `dropdown` this values will be filled with all the dropdown options.
|
|
35
|
+
* Example: Yes,No,Maybe
|
|
36
|
+
*/
|
|
37
|
+
dropdown_choices?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* When the input is of type `radio` they can be grouped to gather with this identifier.
|
|
40
|
+
* Example: da317330-225a-4c72-89ad-0d6dcaaf4df6
|
|
41
|
+
*/
|
|
42
|
+
group_id?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Where the input is located on a page.
|
|
45
|
+
*/
|
|
46
|
+
coordinates?: object;
|
|
47
|
+
/**
|
|
48
|
+
* The size of the input.
|
|
49
|
+
*/
|
|
50
|
+
dimensions?: object;
|
|
51
|
+
/**
|
|
52
|
+
* The label field is used especially for text, attachment, radio, and checkbox type inputs.
|
|
53
|
+
* Example: Legal name
|
|
54
|
+
*/
|
|
55
|
+
label?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Whether this input was defined as read-only(immutable by signers) or not
|
|
58
|
+
* Example: true
|
|
59
|
+
*/
|
|
60
|
+
read_only?: boolean;
|
|
61
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-signer-input.generated.js","sourceRoot":"","sources":["../../src/schemas/template-signer-input.generated.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as schemas from '.';
|
|
2
|
+
/**
|
|
3
|
+
* Signer fields for Templates
|
|
4
|
+
*
|
|
5
|
+
* The schema for a Signer for Templates
|
|
6
|
+
*/
|
|
7
|
+
export interface TemplateSigner {
|
|
8
|
+
inputs?: schemas.TemplateSignerInput[];
|
|
9
|
+
/**
|
|
10
|
+
* Email address of the signer
|
|
11
|
+
* Example: example@mail.com
|
|
12
|
+
*/
|
|
13
|
+
email?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Defines the role of the signer in the signature request. A role of
|
|
16
|
+
* `signer` needs to sign the document, a role `approver`
|
|
17
|
+
* approves the document and
|
|
18
|
+
* a `final_copy_reader` role only
|
|
19
|
+
* receives the final signed document and signing log.
|
|
20
|
+
* Example: signer
|
|
21
|
+
* @default signer
|
|
22
|
+
*/
|
|
23
|
+
role?: 'signer' | 'approver' | 'final_copy_reader';
|
|
24
|
+
/**
|
|
25
|
+
* Used in combination with an embed URL for a sender.
|
|
26
|
+
* After the sender signs, they will be
|
|
27
|
+
* redirected to the next `in_person` signer.
|
|
28
|
+
* Example: true
|
|
29
|
+
*/
|
|
30
|
+
is_in_person?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Order of the signer
|
|
33
|
+
* Example: 2
|
|
34
|
+
*/
|
|
35
|
+
order?: number;
|
|
36
|
+
/**
|
|
37
|
+
* If provided, this value points signers that are assigned the same inputs and belongs to same signer group.
|
|
38
|
+
* A signer group is not a Box Group. It is an entity that belongs to the template itself and can only be used
|
|
39
|
+
* within Box Sign requests created from it.
|
|
40
|
+
* Example: cd4ff89-8fc1-42cf-8b29-1890dedd26d7
|
|
41
|
+
*/
|
|
42
|
+
signer_group_id?: string;
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-signer.generated.js","sourceRoot":"","sources":["../../src/schemas/template-signer.generated.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User (Base)
|
|
3
|
+
*
|
|
4
|
+
* A mini representation of a user, used when
|
|
5
|
+
* nested within another resource.
|
|
6
|
+
*/
|
|
7
|
+
export interface UserBase {
|
|
8
|
+
/**
|
|
9
|
+
* The unique identifier for this user
|
|
10
|
+
* Example: 11446498
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
/**
|
|
14
|
+
* `user`
|
|
15
|
+
* Example: user
|
|
16
|
+
*/
|
|
17
|
+
type: 'user';
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-base.generated.js","sourceRoot":"","sources":["../../src/schemas/user-base.generated.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as schemas from '.';
|
|
2
|
+
/**
|
|
3
|
+
* User (Integration Mappings)
|
|
4
|
+
*
|
|
5
|
+
* A user representation for integration mappings
|
|
6
|
+
* API purposes. Fields name and login are not required.
|
|
7
|
+
*/
|
|
8
|
+
export interface UserIntegrationMappings extends schemas.UserBase {
|
|
9
|
+
/**
|
|
10
|
+
* The display name of this user
|
|
11
|
+
* Example: Aaron Levie
|
|
12
|
+
*/
|
|
13
|
+
name?: string;
|
|
14
|
+
/**
|
|
15
|
+
* The primary email address of this user
|
|
16
|
+
* Example: ceo@example.com
|
|
17
|
+
*/
|
|
18
|
+
login?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-integration-mappings.js","sourceRoot":"","sources":["../../src/schemas/user-integration-mappings.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-mini.js","sourceRoot":"","sources":["../../src/schemas/user-mini.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview App Auth Box API Session.
|
|
3
|
+
*/
|
|
4
|
+
type Config = any;
|
|
5
|
+
type TokenManager = any;
|
|
6
|
+
type TokenStore = any;
|
|
7
|
+
type TokenInfo = any;
|
|
8
|
+
type TokenRequestOptions = any;
|
|
9
|
+
/**
|
|
10
|
+
* App Auth Box API Session.
|
|
11
|
+
*
|
|
12
|
+
* The App Auth API Session holds an accessToken for an app user or enterprise,
|
|
13
|
+
* which it returns to the client so that it may make calls on behalf of
|
|
14
|
+
* these entities.
|
|
15
|
+
*
|
|
16
|
+
* These access tokens will be refreshed in the background if a request is made within the
|
|
17
|
+
* "stale buffer" (defaults to 10 minutes before the token is set to expire).
|
|
18
|
+
* If the token is also expired, all incoming requests will be held until a fresh token
|
|
19
|
+
* is retrieved.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} type The type of the entity to authenticate the app auth session as, "user" or "enterprise"
|
|
22
|
+
* @param {string} id The Box ID of the entity to authenticate as
|
|
23
|
+
* @param {Config} config The SDK configuration options
|
|
24
|
+
* @param {TokenManager} tokenManager The TokenManager
|
|
25
|
+
* @param {TokenStore} [tokenStore] The token store instance to use for caching token info
|
|
26
|
+
* @constructor
|
|
27
|
+
*/
|
|
28
|
+
declare class AppAuthSession {
|
|
29
|
+
_type: string;
|
|
30
|
+
_id: string;
|
|
31
|
+
_config: Config;
|
|
32
|
+
_tokenManager: TokenManager;
|
|
33
|
+
_tokenStore: TokenStore | null;
|
|
34
|
+
_tokenInfo: TokenInfo;
|
|
35
|
+
_refreshPromise: Promise<any> | null;
|
|
36
|
+
constructor(type: string, id: string, config: Config, tokenManager: TokenManager, tokenStore?: TokenStore);
|
|
37
|
+
/**
|
|
38
|
+
* Initiate a refresh of the app auth access tokens. New tokens should be passed
|
|
39
|
+
* to the caller, and then cached for later use.
|
|
40
|
+
*
|
|
41
|
+
* @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
|
|
42
|
+
* @returns {Promise<string>} Promise resolving to the access token
|
|
43
|
+
* @private
|
|
44
|
+
*/
|
|
45
|
+
_refreshAppAuthAccessToken(options?: TokenRequestOptions): Promise<any> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Produces a valid, app auth access token.
|
|
48
|
+
* Performs a refresh before returning if the current token is expired. If the current
|
|
49
|
+
* token is considered stale but still valid, return the current token but initiate a
|
|
50
|
+
* new refresh in the background.
|
|
51
|
+
*
|
|
52
|
+
* @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
|
|
53
|
+
* @returns {Promise<string>} Promise resolving to the access token
|
|
54
|
+
*/
|
|
55
|
+
getAccessToken(options?: TokenRequestOptions): any;
|
|
56
|
+
/**
|
|
57
|
+
* Revokes the app auth token used by this session, and clears the saved tokenInfo.
|
|
58
|
+
*
|
|
59
|
+
* @param {TokenRequestOptions} [options]- Sets optional behavior for the token grant
|
|
60
|
+
* @returns {Promise} Promise resolving if the revoke succeeds
|
|
61
|
+
*/
|
|
62
|
+
revokeTokens(options: TokenRequestOptions): any;
|
|
63
|
+
/**
|
|
64
|
+
* Exchange the client access token for one with lower scope
|
|
65
|
+
* @param {string|string[]} scopes The scope(s) requested for the new token
|
|
66
|
+
* @param {string} [resource] The absolute URL of an API resource to scope the new token to
|
|
67
|
+
* @param {Object} [options] - Optional parameters
|
|
68
|
+
* @param {TokenRequestOptions} [options.tokenRequestOptions] - Sets optional behavior for the token grant
|
|
69
|
+
* @param {ActorParams} [options.actor] - Optional actor parameters for creating annotator tokens
|
|
70
|
+
* @returns {Promise<TokenInfo>} Promise resolving to the new token info
|
|
71
|
+
*/
|
|
72
|
+
exchangeToken(scopes: string | string[], resource?: string, options?: {
|
|
73
|
+
tokenRequestOptions?: TokenRequestOptions;
|
|
74
|
+
actor?: any;
|
|
75
|
+
}): any;
|
|
76
|
+
/**
|
|
77
|
+
* Handle an an "Expired Tokens" Error. If our tokens are expired, we need to clear the token
|
|
78
|
+
* store (if present) before continuing.
|
|
79
|
+
*
|
|
80
|
+
* @param {Errors~ExpiredTokensError} err An "expired tokens" error including information
|
|
81
|
+
* about the request/response.
|
|
82
|
+
* @returns {Promise<Error>} Promise resolving to an error. This will
|
|
83
|
+
* usually be the original response error, but could an error from trying to access the
|
|
84
|
+
* token store as well.
|
|
85
|
+
*/
|
|
86
|
+
handleExpiredTokensError(err: any): any;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* @module box-node-sdk/lib/sessions/app-auth-session
|
|
90
|
+
* @see {@Link AppAuthSession}
|
|
91
|
+
*/
|
|
92
|
+
export = AppAuthSession;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview App Auth Box API Session.
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
// ------------------------------------------------------------------------------
|
|
9
|
+
// Requirements
|
|
10
|
+
// ------------------------------------------------------------------------------
|
|
11
|
+
const assert_1 = __importDefault(require("assert"));
|
|
12
|
+
const bluebird_1 = require("bluebird");
|
|
13
|
+
const errors_1 = __importDefault(require("../util/errors"));
|
|
14
|
+
// ------------------------------------------------------------------------------
|
|
15
|
+
// Private
|
|
16
|
+
// ------------------------------------------------------------------------------
|
|
17
|
+
/**
|
|
18
|
+
* Validate that an object is a valid TokenStore object
|
|
19
|
+
*
|
|
20
|
+
* @param {Object} obj the object to validate
|
|
21
|
+
* @returns {boolean} returns true if the passed in object is a valid TokenStore object that
|
|
22
|
+
* has all the expected properties. false otherwise.
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
25
|
+
function isObjectValidTokenStore(obj) {
|
|
26
|
+
return Boolean(obj && obj.read && obj.write && obj.clear);
|
|
27
|
+
}
|
|
28
|
+
// ------------------------------------------------------------------------------
|
|
29
|
+
// Public
|
|
30
|
+
// ------------------------------------------------------------------------------
|
|
31
|
+
/**
|
|
32
|
+
* App Auth Box API Session.
|
|
33
|
+
*
|
|
34
|
+
* The App Auth API Session holds an accessToken for an app user or enterprise,
|
|
35
|
+
* which it returns to the client so that it may make calls on behalf of
|
|
36
|
+
* these entities.
|
|
37
|
+
*
|
|
38
|
+
* These access tokens will be refreshed in the background if a request is made within the
|
|
39
|
+
* "stale buffer" (defaults to 10 minutes before the token is set to expire).
|
|
40
|
+
* If the token is also expired, all incoming requests will be held until a fresh token
|
|
41
|
+
* is retrieved.
|
|
42
|
+
*
|
|
43
|
+
* @param {string} type The type of the entity to authenticate the app auth session as, "user" or "enterprise"
|
|
44
|
+
* @param {string} id The Box ID of the entity to authenticate as
|
|
45
|
+
* @param {Config} config The SDK configuration options
|
|
46
|
+
* @param {TokenManager} tokenManager The TokenManager
|
|
47
|
+
* @param {TokenStore} [tokenStore] The token store instance to use for caching token info
|
|
48
|
+
* @constructor
|
|
49
|
+
*/
|
|
50
|
+
class AppAuthSession {
|
|
51
|
+
constructor(type, id, config, tokenManager, tokenStore) {
|
|
52
|
+
this._type = type;
|
|
53
|
+
this._id = id;
|
|
54
|
+
this._config = config;
|
|
55
|
+
this._tokenManager = tokenManager;
|
|
56
|
+
// If tokenStore was provided, set the persistent data & current store operations
|
|
57
|
+
if (tokenStore) {
|
|
58
|
+
(0, assert_1.default)(isObjectValidTokenStore(tokenStore), 'Token store provided is improperly formatted. Methods required: read(), write(), clear().');
|
|
59
|
+
this._tokenStore = bluebird_1.Promise.promisifyAll(tokenStore);
|
|
60
|
+
}
|
|
61
|
+
// The TokenInfo object for this app auth session
|
|
62
|
+
this._tokenInfo = null;
|
|
63
|
+
// Indicates if tokens are currently being refreshed
|
|
64
|
+
this._refreshPromise = null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Initiate a refresh of the app auth access tokens. New tokens should be passed
|
|
68
|
+
* to the caller, and then cached for later use.
|
|
69
|
+
*
|
|
70
|
+
* @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
|
|
71
|
+
* @returns {Promise<string>} Promise resolving to the access token
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
_refreshAppAuthAccessToken(options) {
|
|
75
|
+
// If tokens aren't already being refreshed, start the refresh
|
|
76
|
+
if (!this._refreshPromise) {
|
|
77
|
+
this._refreshPromise = this._tokenManager
|
|
78
|
+
.getTokensJWTGrant(this._type, this._id, options)
|
|
79
|
+
.then((tokenInfo) => {
|
|
80
|
+
// Set new token info and propagate the new access token
|
|
81
|
+
this._tokenInfo = tokenInfo;
|
|
82
|
+
if (this._tokenStore) {
|
|
83
|
+
return this._tokenStore
|
|
84
|
+
.writeAsync(tokenInfo)
|
|
85
|
+
.then(() => tokenInfo.accessToken);
|
|
86
|
+
}
|
|
87
|
+
return tokenInfo.accessToken;
|
|
88
|
+
})
|
|
89
|
+
.finally(() => {
|
|
90
|
+
// Refresh complete, clear promise
|
|
91
|
+
this._refreshPromise = null;
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return this._refreshPromise;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Produces a valid, app auth access token.
|
|
98
|
+
* Performs a refresh before returning if the current token is expired. If the current
|
|
99
|
+
* token is considered stale but still valid, return the current token but initiate a
|
|
100
|
+
* new refresh in the background.
|
|
101
|
+
*
|
|
102
|
+
* @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
|
|
103
|
+
* @returns {Promise<string>} Promise resolving to the access token
|
|
104
|
+
*/
|
|
105
|
+
getAccessToken(options) {
|
|
106
|
+
var expirationBuffer = this._config.expiredBufferMS;
|
|
107
|
+
// If we're initializing the client and have a token store, try reading from it
|
|
108
|
+
if (!this._tokenInfo && this._tokenStore) {
|
|
109
|
+
return this._tokenStore.readAsync().then((tokenInfo) => {
|
|
110
|
+
if (!this._tokenManager.isAccessTokenValid(tokenInfo, expirationBuffer)) {
|
|
111
|
+
// Token store contains expired tokens, refresh
|
|
112
|
+
return this._refreshAppAuthAccessToken(options);
|
|
113
|
+
}
|
|
114
|
+
this._tokenInfo = tokenInfo;
|
|
115
|
+
return tokenInfo.accessToken;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// If the current token is not fresh, get a new token. All incoming
|
|
119
|
+
// requests will be held until a fresh token is retrieved.
|
|
120
|
+
if (!this._tokenInfo ||
|
|
121
|
+
!this._tokenManager.isAccessTokenValid(this._tokenInfo, expirationBuffer)) {
|
|
122
|
+
return this._refreshAppAuthAccessToken(options);
|
|
123
|
+
}
|
|
124
|
+
// Your token is not currently stale! Return the current access token.
|
|
125
|
+
return bluebird_1.Promise.resolve(this._tokenInfo.accessToken);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Revokes the app auth token used by this session, and clears the saved tokenInfo.
|
|
129
|
+
*
|
|
130
|
+
* @param {TokenRequestOptions} [options]- Sets optional behavior for the token grant
|
|
131
|
+
* @returns {Promise} Promise resolving if the revoke succeeds
|
|
132
|
+
*/
|
|
133
|
+
revokeTokens(options) {
|
|
134
|
+
// The current app auth token is revoked (but a new one will be created automatically as needed).
|
|
135
|
+
var tokenInfo = this._tokenInfo || {}, accessToken = tokenInfo.accessToken;
|
|
136
|
+
this._tokenInfo = null;
|
|
137
|
+
return this._tokenManager.revokeTokens(accessToken, options);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Exchange the client access token for one with lower scope
|
|
141
|
+
* @param {string|string[]} scopes The scope(s) requested for the new token
|
|
142
|
+
* @param {string} [resource] The absolute URL of an API resource to scope the new token to
|
|
143
|
+
* @param {Object} [options] - Optional parameters
|
|
144
|
+
* @param {TokenRequestOptions} [options.tokenRequestOptions] - Sets optional behavior for the token grant
|
|
145
|
+
* @param {ActorParams} [options.actor] - Optional actor parameters for creating annotator tokens
|
|
146
|
+
* @returns {Promise<TokenInfo>} Promise resolving to the new token info
|
|
147
|
+
*/
|
|
148
|
+
exchangeToken(scopes, resource, options) {
|
|
149
|
+
return this.getAccessToken(options).then((accessToken) => this._tokenManager.exchangeToken(accessToken, scopes, resource, options));
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Handle an an "Expired Tokens" Error. If our tokens are expired, we need to clear the token
|
|
153
|
+
* store (if present) before continuing.
|
|
154
|
+
*
|
|
155
|
+
* @param {Errors~ExpiredTokensError} err An "expired tokens" error including information
|
|
156
|
+
* about the request/response.
|
|
157
|
+
* @returns {Promise<Error>} Promise resolving to an error. This will
|
|
158
|
+
* usually be the original response error, but could an error from trying to access the
|
|
159
|
+
* token store as well.
|
|
160
|
+
*/
|
|
161
|
+
handleExpiredTokensError(err /* FIXME */) {
|
|
162
|
+
if (!this._tokenStore) {
|
|
163
|
+
return bluebird_1.Promise.resolve(err);
|
|
164
|
+
}
|
|
165
|
+
// If a token store is available, clear the store and throw either error
|
|
166
|
+
// eslint-disable-next-line promise/no-promise-in-callback
|
|
167
|
+
return this._tokenStore
|
|
168
|
+
.clearAsync()
|
|
169
|
+
.catch((e) => errors_1.default.unwrapAndThrow(e))
|
|
170
|
+
.then(() => {
|
|
171
|
+
throw err;
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
module.exports = AppAuthSession;
|
|
176
|
+
//# sourceMappingURL=app-auth-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-auth-session.js","sourceRoot":"","sources":["../../src/sessions/app-auth-session.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;AAEH,iFAAiF;AACjF,eAAe;AACf,iFAAiF;AAEjF,oDAA4B;AAC5B,uCAAmC;AACnC,4DAAoC;AAYpC,iFAAiF;AACjF,UAAU;AACV,iFAAiF;AAEjF;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,GAAwB;IACvD,OAAO,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,iFAAiF;AACjF,SAAS;AACT,iFAAiF;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,cAAc;IASlB,YACE,IAAY,EACZ,EAAU,EACV,MAAc,EACd,YAA0B,EAC1B,UAAuB;QAEvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAElC,iFAAiF;QACjF,IAAI,UAAU,EAAE,CAAC;YACf,IAAA,gBAAM,EACJ,uBAAuB,CAAC,UAAU,CAAC,EACnC,2FAA2F,CAC5F,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,kBAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QAED,iDAAiD;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,oDAAoD;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,0BAA0B,CAAC,OAA6B;QACtD,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa;iBACtC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;iBAChD,IAAI,CAAC,CAAC,SAAoB,EAAE,EAAE;gBAC7B,wDAAwD;gBACxD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAE5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC,WAAW;yBACpB,UAAU,CAAC,SAAS,CAAC;yBACrB,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvC,CAAC;gBAED,OAAO,SAAS,CAAC,WAAW,CAAC;YAC/B,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,kCAAkC;gBAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;;;;OAQG;IACH,cAAc,CAAC,OAA6B;QAC1C,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;QAEpD,+EAA+E;QAC/E,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC,SAAoB,EAAE,EAAE;gBAChE,IACE,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,CAAC,EACnE,CAAC;oBACD,+CAA+C;oBAC/C,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;gBAClD,CAAC;gBAED,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,OAAO,SAAS,CAAC,WAAW,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,0DAA0D;QAC1D,IACE,CAAC,IAAI,CAAC,UAAU;YAChB,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACzE,CAAC;YACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;QAED,sEAAsE;QACtE,OAAO,kBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAA4B;QACvC,iGAAiG;QACjG,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,EACnC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CACX,MAAyB,EACzB,QAAiB,EACjB,OAGC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,WAAmB,EAAE,EAAE,CAC/D,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CACzE,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,wBAAwB,CAAC,GAAQ,CAAC,WAAW;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,kBAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,wEAAwE;QACxE,0DAA0D;QAC1D,OAAO,IAAI,CAAC,WAAW;aACpB,UAAU,EAAE;aACZ,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,gBAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC3C,IAAI,CAAC,GAAG,EAAE;YACT,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AAMD,iBAAS,cAAc,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview A Basic Box API Session.
|
|
3
|
+
*/
|
|
4
|
+
type TokenManager = any;
|
|
5
|
+
type TokenRequestOptions = Record<string, any>;
|
|
6
|
+
/**
|
|
7
|
+
* A BasicSession holds only a single accessToken. It has no idea how to authenticate,
|
|
8
|
+
* refresh, or persist its token information. When that token expires, the session
|
|
9
|
+
* and any clients using it will become useless.
|
|
10
|
+
*
|
|
11
|
+
* Basic API Session is the most simple API Session to use, which makes it a good choice
|
|
12
|
+
* for simple applications, developers who are just getting started, and applications
|
|
13
|
+
* that wish to manage tokens themselves.
|
|
14
|
+
*
|
|
15
|
+
* @param {string} accessToken The existing access token for a user
|
|
16
|
+
* @param {TokenManager} tokenManager The token manager
|
|
17
|
+
* @constructor
|
|
18
|
+
*/
|
|
19
|
+
declare class BasicSession {
|
|
20
|
+
_accessToken: string;
|
|
21
|
+
_tokenManager: TokenManager;
|
|
22
|
+
constructor(accessToken: string, tokenManager: TokenManager);
|
|
23
|
+
/**
|
|
24
|
+
* Returns the clients access token. BasicSession never returns an error, since it doesn't
|
|
25
|
+
* know the status of its own token.
|
|
26
|
+
*
|
|
27
|
+
* @returns {Promise<string>} Promise resolving to the access token
|
|
28
|
+
*/
|
|
29
|
+
getAccessToken(): import("bluebird")<string>;
|
|
30
|
+
/**
|
|
31
|
+
* Revokes the session's access token.
|
|
32
|
+
*
|
|
33
|
+
* @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
|
|
34
|
+
* @returns {Promise} Promise resolving if the revoke succeeds
|
|
35
|
+
*/
|
|
36
|
+
revokeTokens(options?: TokenRequestOptions): any;
|
|
37
|
+
/**
|
|
38
|
+
* Exchange the client access token for one with lower scope
|
|
39
|
+
* @param {string|string[]} scopes The scope(s) requested for the new token
|
|
40
|
+
* @param {string} [resource] The absolute URL of an API resource to scope the new token to
|
|
41
|
+
* @param {Object} [options] - Optional parameters
|
|
42
|
+
* @param {TokenRequestOptions} [options.tokenRequestOptions] - Sets optional behavior for the token grant
|
|
43
|
+
* @param {ActorParams} [options.actor] - Optional actor parameters for creating annotator tokens
|
|
44
|
+
* @returns {Promise<TokenInfo>} Promise resolving to the new token info
|
|
45
|
+
*/
|
|
46
|
+
exchangeToken(scopes: string | string[], resource?: string, options?: {
|
|
47
|
+
tokenRequestOptions?: TokenRequestOptions;
|
|
48
|
+
actor?: any;
|
|
49
|
+
}): any;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @module box-node-sdk/lib/sessions/basic-session
|
|
53
|
+
* @see {@Link BasicSession}
|
|
54
|
+
*/
|
|
55
|
+
export = BasicSession;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview A Basic Box API Session.
|
|
4
|
+
*/
|
|
5
|
+
// ------------------------------------------------------------------------------
|
|
6
|
+
// Requirements
|
|
7
|
+
// ------------------------------------------------------------------------------
|
|
8
|
+
const bluebird_1 = require("bluebird");
|
|
9
|
+
// ------------------------------------------------------------------------------
|
|
10
|
+
// Public
|
|
11
|
+
// ------------------------------------------------------------------------------
|
|
12
|
+
/**
|
|
13
|
+
* A BasicSession holds only a single accessToken. It has no idea how to authenticate,
|
|
14
|
+
* refresh, or persist its token information. When that token expires, the session
|
|
15
|
+
* and any clients using it will become useless.
|
|
16
|
+
*
|
|
17
|
+
* Basic API Session is the most simple API Session to use, which makes it a good choice
|
|
18
|
+
* for simple applications, developers who are just getting started, and applications
|
|
19
|
+
* that wish to manage tokens themselves.
|
|
20
|
+
*
|
|
21
|
+
* @param {string} accessToken The existing access token for a user
|
|
22
|
+
* @param {TokenManager} tokenManager The token manager
|
|
23
|
+
* @constructor
|
|
24
|
+
*/
|
|
25
|
+
class BasicSession {
|
|
26
|
+
constructor(accessToken, tokenManager) {
|
|
27
|
+
this._accessToken = accessToken;
|
|
28
|
+
this._tokenManager = tokenManager;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns the clients access token. BasicSession never returns an error, since it doesn't
|
|
32
|
+
* know the status of its own token.
|
|
33
|
+
*
|
|
34
|
+
* @returns {Promise<string>} Promise resolving to the access token
|
|
35
|
+
*/
|
|
36
|
+
getAccessToken() {
|
|
37
|
+
return bluebird_1.Promise.resolve(this._accessToken);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Revokes the session's access token.
|
|
41
|
+
*
|
|
42
|
+
* @param {TokenRequestOptions} [options] - Sets optional behavior for the token grant
|
|
43
|
+
* @returns {Promise} Promise resolving if the revoke succeeds
|
|
44
|
+
*/
|
|
45
|
+
revokeTokens(options) {
|
|
46
|
+
return this._tokenManager.revokeTokens(this._accessToken, options);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Exchange the client access token for one with lower scope
|
|
50
|
+
* @param {string|string[]} scopes The scope(s) requested for the new token
|
|
51
|
+
* @param {string} [resource] The absolute URL of an API resource to scope the new token to
|
|
52
|
+
* @param {Object} [options] - Optional parameters
|
|
53
|
+
* @param {TokenRequestOptions} [options.tokenRequestOptions] - Sets optional behavior for the token grant
|
|
54
|
+
* @param {ActorParams} [options.actor] - Optional actor parameters for creating annotator tokens
|
|
55
|
+
* @returns {Promise<TokenInfo>} Promise resolving to the new token info
|
|
56
|
+
*/
|
|
57
|
+
exchangeToken(scopes, resource, options) {
|
|
58
|
+
return this._tokenManager.exchangeToken(this._accessToken, scopes, resource, options);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
module.exports = BasicSession;
|
|
62
|
+
//# sourceMappingURL=basic-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"basic-session.js","sourceRoot":"","sources":["../../src/sessions/basic-session.ts"],"names":[],"mappings":";AAAA;;GAEG;AAEH,iFAAiF;AACjF,eAAe;AACf,iFAAiF;AAEjF,uCAAmC;AASnC,iFAAiF;AACjF,SAAS;AACT,iFAAiF;AAEjF;;;;;;;;;;;;GAYG;AAEH,MAAM,YAAY;IAIhB,YAAY,WAAmB,EAAE,YAA0B;QACzD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,cAAc;QACZ,OAAO,kBAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAA6B;QACxC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CACX,MAAyB,EACzB,QAAiB,EACjB,OAGC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CACrC,IAAI,CAAC,YAAY,EACjB,MAAM,EACN,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AAMD,iBAAS,YAAY,CAAC"}
|