@unofficialbox/box-open-sdk 0.1.0
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 +13 -0
- package/dist/cjs/auth.js +112 -0
- package/dist/cjs/buildinfo.js +10 -0
- package/dist/cjs/client.js +268 -0
- package/dist/cjs/errors.js +20 -0
- package/dist/cjs/index.js +43 -0
- package/dist/cjs/internal.js +37 -0
- package/dist/cjs/jwt.js +122 -0
- package/dist/cjs/managers/ai.js +106 -0
- package/dist/cjs/managers/ai_studio.js +131 -0
- package/dist/cjs/managers/app_item_associations.js +119 -0
- package/dist/cjs/managers/archives.js +110 -0
- package/dist/cjs/managers/authorization.js +149 -0
- package/dist/cjs/managers/automate_workflows.js +91 -0
- package/dist/cjs/managers/avatars.js +76 -0
- package/dist/cjs/managers/chunked_uploads.js +156 -0
- package/dist/cjs/managers/classifications.js +94 -0
- package/dist/cjs/managers/collaboration_allowlist_entries.js +104 -0
- package/dist/cjs/managers/collaboration_allowlist_exempt_targets.js +104 -0
- package/dist/cjs/managers/collections.js +124 -0
- package/dist/cjs/managers/comments.js +131 -0
- package/dist/cjs/managers/device_pinners.js +99 -0
- package/dist/cjs/managers/docgen.js +133 -0
- package/dist/cjs/managers/docgen_template.js +178 -0
- package/dist/cjs/managers/downloads.js +69 -0
- package/dist/cjs/managers/email_aliases.js +78 -0
- package/dist/cjs/managers/enterprise_configurations.js +58 -0
- package/dist/cjs/managers/events.js +82 -0
- package/dist/cjs/managers/external_users.js +58 -0
- package/dist/cjs/managers/file_classifications.js +97 -0
- package/dist/cjs/managers/file_metadata.js +115 -0
- package/dist/cjs/managers/file_requests.js +90 -0
- package/dist/cjs/managers/file_version_legal_holds.js +88 -0
- package/dist/cjs/managers/file_version_retentions.js +105 -0
- package/dist/cjs/managers/file_versions.js +140 -0
- package/dist/cjs/managers/file_watermarks.js +77 -0
- package/dist/cjs/managers/files.js +138 -0
- package/dist/cjs/managers/folder_classifications.js +97 -0
- package/dist/cjs/managers/folder_locks.js +73 -0
- package/dist/cjs/managers/folder_metadata.js +111 -0
- package/dist/cjs/managers/folder_watermarks.js +77 -0
- package/dist/cjs/managers/folders.js +191 -0
- package/dist/cjs/managers/groups.js +132 -0
- package/dist/cjs/managers/hub_collaborations.js +121 -0
- package/dist/cjs/managers/hub_document.js +113 -0
- package/dist/cjs/managers/hub_items.js +96 -0
- package/dist/cjs/managers/hubs.js +186 -0
- package/dist/cjs/managers/index.js +102 -0
- package/dist/cjs/managers/integration_mappings.js +178 -0
- package/dist/cjs/managers/invites.js +74 -0
- package/dist/cjs/managers/legal_hold_policies.js +121 -0
- package/dist/cjs/managers/legal_hold_policy_assignments.js +186 -0
- package/dist/cjs/managers/list_collaborations.js +185 -0
- package/dist/cjs/managers/memberships.js +160 -0
- package/dist/cjs/managers/metadata_cascade_policies.js +118 -0
- package/dist/cjs/managers/metadata_taxonomies.js +322 -0
- package/dist/cjs/managers/metadata_templates.js +196 -0
- package/dist/cjs/managers/notes.js +58 -0
- package/dist/cjs/managers/recent_items.js +80 -0
- package/dist/cjs/managers/retention_policies.js +131 -0
- package/dist/cjs/managers/retention_policy_assignments.js +182 -0
- package/dist/cjs/managers/search.js +130 -0
- package/dist/cjs/managers/session_termination.js +68 -0
- package/dist/cjs/managers/shared_links_app_items.js +55 -0
- package/dist/cjs/managers/shared_links_files.js +109 -0
- package/dist/cjs/managers/shared_links_folders.js +109 -0
- package/dist/cjs/managers/shared_links_web_links.js +109 -0
- package/dist/cjs/managers/shield_information_barrier_reports.js +98 -0
- package/dist/cjs/managers/shield_information_barrier_segment_members.js +105 -0
- package/dist/cjs/managers/shield_information_barrier_segment_restrictions.js +105 -0
- package/dist/cjs/managers/shield_information_barrier_segments.js +116 -0
- package/dist/cjs/managers/shield_information_barriers.js +108 -0
- package/dist/cjs/managers/shield_lists.js +97 -0
- package/dist/cjs/managers/sign_requests.js +123 -0
- package/dist/cjs/managers/sign_templates.js +87 -0
- package/dist/cjs/managers/skills.js +106 -0
- package/dist/cjs/managers/storage_policies.js +90 -0
- package/dist/cjs/managers/storage_policy_assignments.js +114 -0
- package/dist/cjs/managers/task_assignments.js +94 -0
- package/dist/cjs/managers/tasks.js +94 -0
- package/dist/cjs/managers/terms_of_service_user_statuses.js +81 -0
- package/dist/cjs/managers/terms_of_services.js +89 -0
- package/dist/cjs/managers/transfer.js +67 -0
- package/dist/cjs/managers/trashed_files.js +84 -0
- package/dist/cjs/managers/trashed_folders.js +84 -0
- package/dist/cjs/managers/trashed_items.js +94 -0
- package/dist/cjs/managers/trashed_web_links.js +84 -0
- package/dist/cjs/managers/uploads.js +98 -0
- package/dist/cjs/managers/user_collaborations.js +95 -0
- package/dist/cjs/managers/users.js +165 -0
- package/dist/cjs/managers/web_links.js +88 -0
- package/dist/cjs/managers/webhooks.js +115 -0
- package/dist/cjs/managers/workflows.js +92 -0
- package/dist/cjs/managers/zip_downloads.js +76 -0
- package/dist/cjs/models/index.js +38 -0
- package/dist/cjs/models/schemas.js +3 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/runtime.js +304 -0
- package/dist/cjs/tokens.js +121 -0
- package/dist/esm/auth.js +105 -0
- package/dist/esm/buildinfo.js +7 -0
- package/dist/esm/client.js +264 -0
- package/dist/esm/errors.js +16 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/internal.js +32 -0
- package/dist/esm/jwt.js +86 -0
- package/dist/esm/managers/ai.js +69 -0
- package/dist/esm/managers/ai_studio.js +94 -0
- package/dist/esm/managers/app_item_associations.js +82 -0
- package/dist/esm/managers/archives.js +73 -0
- package/dist/esm/managers/authorization.js +112 -0
- package/dist/esm/managers/automate_workflows.js +54 -0
- package/dist/esm/managers/avatars.js +39 -0
- package/dist/esm/managers/chunked_uploads.js +119 -0
- package/dist/esm/managers/classifications.js +57 -0
- package/dist/esm/managers/collaboration_allowlist_entries.js +67 -0
- package/dist/esm/managers/collaboration_allowlist_exempt_targets.js +67 -0
- package/dist/esm/managers/collections.js +87 -0
- package/dist/esm/managers/comments.js +94 -0
- package/dist/esm/managers/device_pinners.js +62 -0
- package/dist/esm/managers/docgen.js +96 -0
- package/dist/esm/managers/docgen_template.js +141 -0
- package/dist/esm/managers/downloads.js +32 -0
- package/dist/esm/managers/email_aliases.js +41 -0
- package/dist/esm/managers/enterprise_configurations.js +21 -0
- package/dist/esm/managers/events.js +45 -0
- package/dist/esm/managers/external_users.js +21 -0
- package/dist/esm/managers/file_classifications.js +60 -0
- package/dist/esm/managers/file_metadata.js +78 -0
- package/dist/esm/managers/file_requests.js +53 -0
- package/dist/esm/managers/file_version_legal_holds.js +51 -0
- package/dist/esm/managers/file_version_retentions.js +68 -0
- package/dist/esm/managers/file_versions.js +103 -0
- package/dist/esm/managers/file_watermarks.js +40 -0
- package/dist/esm/managers/files.js +101 -0
- package/dist/esm/managers/folder_classifications.js +60 -0
- package/dist/esm/managers/folder_locks.js +36 -0
- package/dist/esm/managers/folder_metadata.js +74 -0
- package/dist/esm/managers/folder_watermarks.js +40 -0
- package/dist/esm/managers/folders.js +154 -0
- package/dist/esm/managers/groups.js +95 -0
- package/dist/esm/managers/hub_collaborations.js +84 -0
- package/dist/esm/managers/hub_document.js +76 -0
- package/dist/esm/managers/hub_items.js +59 -0
- package/dist/esm/managers/hubs.js +149 -0
- package/dist/esm/managers/index.js +86 -0
- package/dist/esm/managers/integration_mappings.js +141 -0
- package/dist/esm/managers/invites.js +37 -0
- package/dist/esm/managers/legal_hold_policies.js +84 -0
- package/dist/esm/managers/legal_hold_policy_assignments.js +149 -0
- package/dist/esm/managers/list_collaborations.js +148 -0
- package/dist/esm/managers/memberships.js +123 -0
- package/dist/esm/managers/metadata_cascade_policies.js +81 -0
- package/dist/esm/managers/metadata_taxonomies.js +285 -0
- package/dist/esm/managers/metadata_templates.js +159 -0
- package/dist/esm/managers/notes.js +21 -0
- package/dist/esm/managers/recent_items.js +43 -0
- package/dist/esm/managers/retention_policies.js +94 -0
- package/dist/esm/managers/retention_policy_assignments.js +145 -0
- package/dist/esm/managers/search.js +93 -0
- package/dist/esm/managers/session_termination.js +31 -0
- package/dist/esm/managers/shared_links_app_items.js +18 -0
- package/dist/esm/managers/shared_links_files.js +72 -0
- package/dist/esm/managers/shared_links_folders.js +72 -0
- package/dist/esm/managers/shared_links_web_links.js +72 -0
- package/dist/esm/managers/shield_information_barrier_reports.js +61 -0
- package/dist/esm/managers/shield_information_barrier_segment_members.js +68 -0
- package/dist/esm/managers/shield_information_barrier_segment_restrictions.js +68 -0
- package/dist/esm/managers/shield_information_barrier_segments.js +79 -0
- package/dist/esm/managers/shield_information_barriers.js +71 -0
- package/dist/esm/managers/shield_lists.js +60 -0
- package/dist/esm/managers/sign_requests.js +86 -0
- package/dist/esm/managers/sign_templates.js +50 -0
- package/dist/esm/managers/skills.js +69 -0
- package/dist/esm/managers/storage_policies.js +53 -0
- package/dist/esm/managers/storage_policy_assignments.js +77 -0
- package/dist/esm/managers/task_assignments.js +57 -0
- package/dist/esm/managers/tasks.js +57 -0
- package/dist/esm/managers/terms_of_service_user_statuses.js +44 -0
- package/dist/esm/managers/terms_of_services.js +52 -0
- package/dist/esm/managers/transfer.js +30 -0
- package/dist/esm/managers/trashed_files.js +47 -0
- package/dist/esm/managers/trashed_folders.js +47 -0
- package/dist/esm/managers/trashed_items.js +57 -0
- package/dist/esm/managers/trashed_web_links.js +47 -0
- package/dist/esm/managers/uploads.js +61 -0
- package/dist/esm/managers/user_collaborations.js +58 -0
- package/dist/esm/managers/users.js +128 -0
- package/dist/esm/managers/web_links.js +51 -0
- package/dist/esm/managers/webhooks.js +78 -0
- package/dist/esm/managers/workflows.js +55 -0
- package/dist/esm/managers/zip_downloads.js +39 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/esm/models/schemas.js +2 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/runtime.js +272 -0
- package/dist/esm/tokens.js +116 -0
- package/dist/types/auth.d.ts +56 -0
- package/dist/types/buildinfo.d.ts +6 -0
- package/dist/types/client.d.ts +176 -0
- package/dist/types/errors.d.ts +19 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/internal.d.ts +9 -0
- package/dist/types/jwt.d.ts +23 -0
- package/dist/types/managers/ai.d.ts +17 -0
- package/dist/types/managers/ai_studio.d.ts +27 -0
- package/dist/types/managers/app_item_associations.d.ts +25 -0
- package/dist/types/managers/archives.d.ts +18 -0
- package/dist/types/managers/authorization.d.ts +17 -0
- package/dist/types/managers/automate_workflows.d.ts +16 -0
- package/dist/types/managers/avatars.d.ts +10 -0
- package/dist/types/managers/chunked_uploads.d.ts +26 -0
- package/dist/types/managers/classifications.d.ts +11 -0
- package/dist/types/managers/collaboration_allowlist_entries.d.ts +18 -0
- package/dist/types/managers/collaboration_allowlist_exempt_targets.d.ts +18 -0
- package/dist/types/managers/collections.d.ts +26 -0
- package/dist/types/managers/comments.d.ts +32 -0
- package/dist/types/managers/device_pinners.d.ts +18 -0
- package/dist/types/managers/docgen.d.ts +25 -0
- package/dist/types/managers/docgen_template.d.ts +35 -0
- package/dist/types/managers/downloads.d.ts +14 -0
- package/dist/types/managers/email_aliases.d.ts +10 -0
- package/dist/types/managers/enterprise_configurations.d.ts +8 -0
- package/dist/types/managers/events.d.ts +18 -0
- package/dist/types/managers/external_users.d.ts +8 -0
- package/dist/types/managers/file_classifications.d.ts +11 -0
- package/dist/types/managers/file_metadata.d.ts +20 -0
- package/dist/types/managers/file_requests.d.ts +15 -0
- package/dist/types/managers/file_version_legal_holds.d.ts +16 -0
- package/dist/types/managers/file_version_retentions.d.ts +22 -0
- package/dist/types/managers/file_versions.d.ts +32 -0
- package/dist/types/managers/file_watermarks.d.ts +10 -0
- package/dist/types/managers/files.d.ts +39 -0
- package/dist/types/managers/folder_classifications.d.ts +11 -0
- package/dist/types/managers/folder_locks.d.ts +10 -0
- package/dist/types/managers/folder_metadata.d.ts +16 -0
- package/dist/types/managers/folder_watermarks.d.ts +10 -0
- package/dist/types/managers/folders.d.ts +54 -0
- package/dist/types/managers/groups.d.ts +33 -0
- package/dist/types/managers/hub_collaborations.d.ts +19 -0
- package/dist/types/managers/hub_document.d.ts +23 -0
- package/dist/types/managers/hub_items.d.ts +17 -0
- package/dist/types/managers/hubs.d.ts +35 -0
- package/dist/types/managers/index.d.ts +85 -0
- package/dist/types/managers/integration_mappings.d.ts +34 -0
- package/dist/types/managers/invites.d.ts +17 -0
- package/dist/types/managers/legal_hold_policies.d.ts +21 -0
- package/dist/types/managers/legal_hold_policy_assignments.d.ts +39 -0
- package/dist/types/managers/list_collaborations.d.ts +42 -0
- package/dist/types/managers/memberships.d.ts +39 -0
- package/dist/types/managers/metadata_cascade_policies.d.ts +20 -0
- package/dist/types/managers/metadata_taxonomies.d.ts +54 -0
- package/dist/types/managers/metadata_templates.d.ts +36 -0
- package/dist/types/managers/notes.d.ts +8 -0
- package/dist/types/managers/recent_items.d.ts +16 -0
- package/dist/types/managers/retention_policies.d.ts +27 -0
- package/dist/types/managers/retention_policy_assignments.d.ts +40 -0
- package/dist/types/managers/search.d.ts +33 -0
- package/dist/types/managers/session_termination.d.ts +9 -0
- package/dist/types/managers/shared_links_app_items.d.ts +8 -0
- package/dist/types/managers/shared_links_files.d.ts +17 -0
- package/dist/types/managers/shared_links_folders.d.ts +17 -0
- package/dist/types/managers/shared_links_web_links.d.ts +17 -0
- package/dist/types/managers/shield_information_barrier_reports.d.ts +17 -0
- package/dist/types/managers/shield_information_barrier_segment_members.d.ts +18 -0
- package/dist/types/managers/shield_information_barrier_segment_restrictions.d.ts +18 -0
- package/dist/types/managers/shield_information_barrier_segments.d.ts +19 -0
- package/dist/types/managers/shield_information_barriers.d.ts +18 -0
- package/dist/types/managers/shield_lists.d.ts +12 -0
- package/dist/types/managers/sign_requests.d.ts +21 -0
- package/dist/types/managers/sign_templates.d.ts +16 -0
- package/dist/types/managers/skills.d.ts +12 -0
- package/dist/types/managers/storage_policies.d.ts +17 -0
- package/dist/types/managers/storage_policy_assignments.d.ts +18 -0
- package/dist/types/managers/task_assignments.d.ts +12 -0
- package/dist/types/managers/tasks.d.ts +12 -0
- package/dist/types/managers/terms_of_service_user_statuses.d.ts +14 -0
- package/dist/types/managers/terms_of_services.d.ts +15 -0
- package/dist/types/managers/transfer.d.ts +13 -0
- package/dist/types/managers/trashed_files.d.ts +18 -0
- package/dist/types/managers/trashed_folders.d.ts +18 -0
- package/dist/types/managers/trashed_items.d.ts +20 -0
- package/dist/types/managers/trashed_web_links.d.ts +18 -0
- package/dist/types/managers/uploads.d.ts +21 -0
- package/dist/types/managers/user_collaborations.d.ts +20 -0
- package/dist/types/managers/users.d.ts +47 -0
- package/dist/types/managers/web_links.d.ts +15 -0
- package/dist/types/managers/webhooks.d.ts +19 -0
- package/dist/types/managers/workflows.d.ts +17 -0
- package/dist/types/managers/zip_downloads.d.ts +10 -0
- package/dist/types/models/index.d.ts +1 -0
- package/dist/types/models/schemas.d.ts +4424 -0
- package/dist/types/runtime.d.ts +85 -0
- package/dist/types/tokens.d.ts +50 -0
- package/docs/README.md +101 -0
- package/docs/auth.md +60 -0
- package/docs/errors.md +20 -0
- package/docs/managers/ai.md +49 -0
- package/docs/managers/ai_studio.md +63 -0
- package/docs/managers/app_item_associations.md +35 -0
- package/docs/managers/archives.md +48 -0
- package/docs/managers/authorization.md +43 -0
- package/docs/managers/automate_workflows.md +31 -0
- package/docs/managers/avatars.md +37 -0
- package/docs/managers/chunked_uploads.md +88 -0
- package/docs/managers/classifications.md +35 -0
- package/docs/managers/collaboration_allowlist_entries.md +46 -0
- package/docs/managers/collaboration_allowlist_exempt_targets.md +46 -0
- package/docs/managers/collections.md +44 -0
- package/docs/managers/comments.md +66 -0
- package/docs/managers/device_pinners.md +40 -0
- package/docs/managers/docgen.md +50 -0
- package/docs/managers/docgen_template.md +75 -0
- package/docs/managers/downloads.md +19 -0
- package/docs/managers/email_aliases.md +38 -0
- package/docs/managers/enterprise_configurations.md +16 -0
- package/docs/managers/events.md +26 -0
- package/docs/managers/external_users.md +13 -0
- package/docs/managers/file_classifications.md +49 -0
- package/docs/managers/file_metadata.md +69 -0
- package/docs/managers/file_requests.md +50 -0
- package/docs/managers/file_version_legal_holds.md +29 -0
- package/docs/managers/file_version_retentions.md +34 -0
- package/docs/managers/file_versions.md +70 -0
- package/docs/managers/file_watermarks.md +37 -0
- package/docs/managers/files.md +72 -0
- package/docs/managers/folder_classifications.md +49 -0
- package/docs/managers/folder_locks.md +33 -0
- package/docs/managers/folder_metadata.md +68 -0
- package/docs/managers/folder_watermarks.md +37 -0
- package/docs/managers/folders.md +93 -0
- package/docs/managers/groups.md +66 -0
- package/docs/managers/hub_collaborations.md +59 -0
- package/docs/managers/hub_document.md +34 -0
- package/docs/managers/hub_items.md +32 -0
- package/docs/managers/hubs.md +90 -0
- package/docs/managers/integration_mappings.md +96 -0
- package/docs/managers/invites.md +28 -0
- package/docs/managers/legal_hold_policies.md +60 -0
- package/docs/managers/legal_hold_policy_assignments.md +80 -0
- package/docs/managers/list_collaborations.md +64 -0
- package/docs/managers/memberships.md +79 -0
- package/docs/managers/metadata_cascade_policies.md +60 -0
- package/docs/managers/metadata_taxonomies.md +206 -0
- package/docs/managers/metadata_templates.md +98 -0
- package/docs/managers/notes.md +13 -0
- package/docs/managers/recent_items.md +19 -0
- package/docs/managers/retention_policies.md +63 -0
- package/docs/managers/retention_policy_assignments.md +78 -0
- package/docs/managers/search.md +43 -0
- package/docs/managers/session_termination.md +21 -0
- package/docs/managers/shared_links_app_items.md +15 -0
- package/docs/managers/shared_links_files.md +67 -0
- package/docs/managers/shared_links_folders.md +67 -0
- package/docs/managers/shared_links_web_links.md +67 -0
- package/docs/managers/shield_information_barrier_reports.md +37 -0
- package/docs/managers/shield_information_barrier_segment_members.md +47 -0
- package/docs/managers/shield_information_barrier_segment_restrictions.md +47 -0
- package/docs/managers/shield_information_barrier_segments.md +59 -0
- package/docs/managers/shield_information_barriers.md +44 -0
- package/docs/managers/shield_lists.md +51 -0
- package/docs/managers/sign_requests.md +60 -0
- package/docs/managers/sign_templates.md +28 -0
- package/docs/managers/skills.md +61 -0
- package/docs/managers/storage_policies.md +29 -0
- package/docs/managers/storage_policy_assignments.md +59 -0
- package/docs/managers/task_assignments.md +55 -0
- package/docs/managers/tasks.md +55 -0
- package/docs/managers/terms_of_service_user_statuses.md +36 -0
- package/docs/managers/terms_of_services.md +45 -0
- package/docs/managers/transfer.md +19 -0
- package/docs/managers/trashed_files.md +39 -0
- package/docs/managers/trashed_folders.md +39 -0
- package/docs/managers/trashed_items.md +23 -0
- package/docs/managers/trashed_web_links.md +39 -0
- package/docs/managers/uploads.md +41 -0
- package/docs/managers/user_collaborations.md +51 -0
- package/docs/managers/users.md +82 -0
- package/docs/managers/web_links.md +46 -0
- package/docs/managers/webhooks.md +58 -0
- package/docs/managers/workflows.md +32 -0
- package/docs/managers/zip_downloads.md +33 -0
- package/docs/pagination.md +17 -0
- package/package.json +32 -0
package/README.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Generated by box-gantry. DO NOT EDIT. -->
|
|
2
|
+
# Box SDK
|
|
3
|
+
|
|
4
|
+
A generated TypeScript SDK for the Box API — a dual ESM/CJS package with
|
|
5
|
+
shipped type declarations.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { Client, runtime } from '@unofficialbox/box-open-sdk';
|
|
9
|
+
const client = new Client(runtime.developerToken('DEVELOPER_TOKEN'));
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
See [`docs/`](./docs/README.md) for the manager reference and the
|
|
13
|
+
authentication, pagination, and errors guides.
|
package/dist/cjs/auth.js
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry (vendored from runtimes/typescript/gantryruntime/src/auth.ts). DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.developerToken = developerToken;
|
|
5
|
+
exports.clientCredentials = clientCredentials;
|
|
6
|
+
exports.authorizeUrl = authorizeUrl;
|
|
7
|
+
exports.oauth = oauth;
|
|
8
|
+
exports.exchangeCode = exchangeCode;
|
|
9
|
+
// The `fetch`-only Box auth flows, each an `Auth` passed to the runtime
|
|
10
|
+
// `Client`: `developerToken` (a fixed token), `clientCredentials` (CCG), and the
|
|
11
|
+
// OAuth 2.0 authorization-code flow. They exchange credentials at Box's token
|
|
12
|
+
// endpoint and cache the access token (via the shared machinery in `tokens.ts`).
|
|
13
|
+
// JWT server auth lives in `jwt.ts` — the only flow that reaches beyond `fetch`.
|
|
14
|
+
const errors_js_1 = require("./errors.js");
|
|
15
|
+
const tokens_js_1 = require("./tokens.js");
|
|
16
|
+
/** Where a user is sent to grant an OAuth 2.0 app access. */
|
|
17
|
+
const AUTHORIZE_URL = 'https://account.box.com/api/oauth2/authorize';
|
|
18
|
+
/**
|
|
19
|
+
* The simplest flow: a fixed access token from the Box developer console. A
|
|
20
|
+
* fixed token cannot be refreshed, so `forceRefresh` returns it unchanged (a
|
|
21
|
+
* subsequent 401 then surfaces to the caller).
|
|
22
|
+
*/
|
|
23
|
+
function developerToken(token) {
|
|
24
|
+
return {
|
|
25
|
+
accessToken: async () => token,
|
|
26
|
+
forceRefresh: async () => token,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/** Build a CCG `Auth`. Requires a subject: `enterpriseId` or `userId`. */
|
|
30
|
+
function clientCredentials(config) {
|
|
31
|
+
if (!config.userId && !config.enterpriseId) {
|
|
32
|
+
throw new errors_js_1.BoxApiError('clientCredentials requires a subject: enterpriseId or userId');
|
|
33
|
+
}
|
|
34
|
+
const tokenUrl = config.tokenUrl ?? tokens_js_1.DEFAULT_TOKEN_URL;
|
|
35
|
+
// A `userId` acts as that managed user; otherwise the enterprise service
|
|
36
|
+
// account. The guard above rules out an empty subject.
|
|
37
|
+
const subject = config.userId
|
|
38
|
+
? { type: 'user', id: config.userId }
|
|
39
|
+
: { type: 'enterprise', id: config.enterpriseId ?? '' };
|
|
40
|
+
return new tokens_js_1.CachedToken(() => (0, tokens_js_1.postTokenForm)(tokenUrl, {
|
|
41
|
+
grant_type: 'client_credentials',
|
|
42
|
+
client_id: config.clientId,
|
|
43
|
+
client_secret: config.clientSecret,
|
|
44
|
+
box_subject_type: subject.type,
|
|
45
|
+
box_subject_id: subject.id,
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Build the URL to redirect a user to so they can grant access. `state` is
|
|
50
|
+
* echoed back to the redirect URI for CSRF protection.
|
|
51
|
+
*/
|
|
52
|
+
function authorizeUrl(config, redirectUri, state) {
|
|
53
|
+
const query = new URLSearchParams({
|
|
54
|
+
response_type: 'code',
|
|
55
|
+
client_id: config.clientId,
|
|
56
|
+
redirect_uri: redirectUri,
|
|
57
|
+
state,
|
|
58
|
+
});
|
|
59
|
+
return `${AUTHORIZE_URL}?${query.toString()}`;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The refresh exchange for the authorization-code flow: it swaps the current
|
|
63
|
+
* refresh token for a fresh access token and rotates the refresh token Box
|
|
64
|
+
* returns (Box invalidates the old one on each exchange), reporting each rotated
|
|
65
|
+
* token through `config.onRefresh` so a caller can persist it.
|
|
66
|
+
*/
|
|
67
|
+
function refreshTokenExchange(config, tokenUrl, initialRefresh) {
|
|
68
|
+
let refreshToken = initialRefresh;
|
|
69
|
+
return async () => {
|
|
70
|
+
const token = await (0, tokens_js_1.postTokenForm)(tokenUrl, {
|
|
71
|
+
grant_type: 'refresh_token',
|
|
72
|
+
refresh_token: refreshToken,
|
|
73
|
+
client_id: config.clientId,
|
|
74
|
+
client_secret: config.clientSecret,
|
|
75
|
+
});
|
|
76
|
+
if (token.refreshToken) {
|
|
77
|
+
refreshToken = token.refreshToken;
|
|
78
|
+
config.onRefresh?.(token.refreshToken);
|
|
79
|
+
}
|
|
80
|
+
return token;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Resume the authorization-code flow from a previously stored refresh token,
|
|
85
|
+
* exchanging it for access tokens as needed.
|
|
86
|
+
*/
|
|
87
|
+
function oauth(config, refreshToken) {
|
|
88
|
+
const tokenUrl = config.tokenUrl ?? tokens_js_1.DEFAULT_TOKEN_URL;
|
|
89
|
+
return new tokens_js_1.CachedToken(refreshTokenExchange(config, tokenUrl, refreshToken));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Exchange an authorization code for an `Auth` that refreshes itself thereafter.
|
|
93
|
+
* The initial refresh token is reported through `config.onRefresh` so it can be
|
|
94
|
+
* persisted immediately.
|
|
95
|
+
*/
|
|
96
|
+
async function exchangeCode(config, code, redirectUri, signal) {
|
|
97
|
+
const tokenUrl = config.tokenUrl ?? tokens_js_1.DEFAULT_TOKEN_URL;
|
|
98
|
+
const token = await (0, tokens_js_1.postTokenForm)(tokenUrl, {
|
|
99
|
+
grant_type: 'authorization_code',
|
|
100
|
+
code,
|
|
101
|
+
client_id: config.clientId,
|
|
102
|
+
client_secret: config.clientSecret,
|
|
103
|
+
redirect_uri: redirectUri,
|
|
104
|
+
}, signal);
|
|
105
|
+
if (!token.refreshToken) {
|
|
106
|
+
throw new errors_js_1.BoxApiError('authorization-code exchange returned no refresh_token');
|
|
107
|
+
}
|
|
108
|
+
config.onRefresh?.(token.refreshToken);
|
|
109
|
+
// Seed the cache with the access token we just obtained, and refresh via the
|
|
110
|
+
// rotating refresh token thereafter.
|
|
111
|
+
return new tokens_js_1.CachedToken(refreshTokenExchange(config, tokenUrl, token.refreshToken), token);
|
|
112
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry 0.1.0 (spec ee7d55aedefe2fa0). DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.TARGET = exports.SPEC_FINGERPRINT = exports.ENGINE = void 0;
|
|
5
|
+
/** The box-gantry engine version that generated this SDK. */
|
|
6
|
+
exports.ENGINE = "0.1.0";
|
|
7
|
+
/** Fingerprint of the input spec set. */
|
|
8
|
+
exports.SPEC_FINGERPRINT = "ee7d55aedefe2fa0";
|
|
9
|
+
/** The target language key (FR-4). */
|
|
10
|
+
exports.TARGET = "typescript";
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Client = void 0;
|
|
5
|
+
const runtime_js_1 = require("./runtime.js");
|
|
6
|
+
const ai_js_1 = require("./managers/ai.js");
|
|
7
|
+
const ai_studio_js_1 = require("./managers/ai_studio.js");
|
|
8
|
+
const app_item_associations_js_1 = require("./managers/app_item_associations.js");
|
|
9
|
+
const archives_js_1 = require("./managers/archives.js");
|
|
10
|
+
const authorization_js_1 = require("./managers/authorization.js");
|
|
11
|
+
const automate_workflows_js_1 = require("./managers/automate_workflows.js");
|
|
12
|
+
const avatars_js_1 = require("./managers/avatars.js");
|
|
13
|
+
const chunked_uploads_js_1 = require("./managers/chunked_uploads.js");
|
|
14
|
+
const classifications_js_1 = require("./managers/classifications.js");
|
|
15
|
+
const collaboration_allowlist_entries_js_1 = require("./managers/collaboration_allowlist_entries.js");
|
|
16
|
+
const collaboration_allowlist_exempt_targets_js_1 = require("./managers/collaboration_allowlist_exempt_targets.js");
|
|
17
|
+
const collections_js_1 = require("./managers/collections.js");
|
|
18
|
+
const comments_js_1 = require("./managers/comments.js");
|
|
19
|
+
const device_pinners_js_1 = require("./managers/device_pinners.js");
|
|
20
|
+
const docgen_js_1 = require("./managers/docgen.js");
|
|
21
|
+
const docgen_template_js_1 = require("./managers/docgen_template.js");
|
|
22
|
+
const downloads_js_1 = require("./managers/downloads.js");
|
|
23
|
+
const email_aliases_js_1 = require("./managers/email_aliases.js");
|
|
24
|
+
const enterprise_configurations_js_1 = require("./managers/enterprise_configurations.js");
|
|
25
|
+
const events_js_1 = require("./managers/events.js");
|
|
26
|
+
const external_users_js_1 = require("./managers/external_users.js");
|
|
27
|
+
const file_classifications_js_1 = require("./managers/file_classifications.js");
|
|
28
|
+
const file_metadata_js_1 = require("./managers/file_metadata.js");
|
|
29
|
+
const file_requests_js_1 = require("./managers/file_requests.js");
|
|
30
|
+
const file_version_legal_holds_js_1 = require("./managers/file_version_legal_holds.js");
|
|
31
|
+
const file_version_retentions_js_1 = require("./managers/file_version_retentions.js");
|
|
32
|
+
const file_versions_js_1 = require("./managers/file_versions.js");
|
|
33
|
+
const file_watermarks_js_1 = require("./managers/file_watermarks.js");
|
|
34
|
+
const files_js_1 = require("./managers/files.js");
|
|
35
|
+
const folder_classifications_js_1 = require("./managers/folder_classifications.js");
|
|
36
|
+
const folder_locks_js_1 = require("./managers/folder_locks.js");
|
|
37
|
+
const folder_metadata_js_1 = require("./managers/folder_metadata.js");
|
|
38
|
+
const folder_watermarks_js_1 = require("./managers/folder_watermarks.js");
|
|
39
|
+
const folders_js_1 = require("./managers/folders.js");
|
|
40
|
+
const groups_js_1 = require("./managers/groups.js");
|
|
41
|
+
const hub_collaborations_js_1 = require("./managers/hub_collaborations.js");
|
|
42
|
+
const hub_document_js_1 = require("./managers/hub_document.js");
|
|
43
|
+
const hub_items_js_1 = require("./managers/hub_items.js");
|
|
44
|
+
const hubs_js_1 = require("./managers/hubs.js");
|
|
45
|
+
const integration_mappings_js_1 = require("./managers/integration_mappings.js");
|
|
46
|
+
const invites_js_1 = require("./managers/invites.js");
|
|
47
|
+
const legal_hold_policies_js_1 = require("./managers/legal_hold_policies.js");
|
|
48
|
+
const legal_hold_policy_assignments_js_1 = require("./managers/legal_hold_policy_assignments.js");
|
|
49
|
+
const list_collaborations_js_1 = require("./managers/list_collaborations.js");
|
|
50
|
+
const memberships_js_1 = require("./managers/memberships.js");
|
|
51
|
+
const metadata_cascade_policies_js_1 = require("./managers/metadata_cascade_policies.js");
|
|
52
|
+
const metadata_taxonomies_js_1 = require("./managers/metadata_taxonomies.js");
|
|
53
|
+
const metadata_templates_js_1 = require("./managers/metadata_templates.js");
|
|
54
|
+
const notes_js_1 = require("./managers/notes.js");
|
|
55
|
+
const recent_items_js_1 = require("./managers/recent_items.js");
|
|
56
|
+
const retention_policies_js_1 = require("./managers/retention_policies.js");
|
|
57
|
+
const retention_policy_assignments_js_1 = require("./managers/retention_policy_assignments.js");
|
|
58
|
+
const search_js_1 = require("./managers/search.js");
|
|
59
|
+
const session_termination_js_1 = require("./managers/session_termination.js");
|
|
60
|
+
const shared_links_app_items_js_1 = require("./managers/shared_links_app_items.js");
|
|
61
|
+
const shared_links_files_js_1 = require("./managers/shared_links_files.js");
|
|
62
|
+
const shared_links_folders_js_1 = require("./managers/shared_links_folders.js");
|
|
63
|
+
const shared_links_web_links_js_1 = require("./managers/shared_links_web_links.js");
|
|
64
|
+
const shield_information_barrier_reports_js_1 = require("./managers/shield_information_barrier_reports.js");
|
|
65
|
+
const shield_information_barrier_segment_members_js_1 = require("./managers/shield_information_barrier_segment_members.js");
|
|
66
|
+
const shield_information_barrier_segment_restrictions_js_1 = require("./managers/shield_information_barrier_segment_restrictions.js");
|
|
67
|
+
const shield_information_barrier_segments_js_1 = require("./managers/shield_information_barrier_segments.js");
|
|
68
|
+
const shield_information_barriers_js_1 = require("./managers/shield_information_barriers.js");
|
|
69
|
+
const shield_lists_js_1 = require("./managers/shield_lists.js");
|
|
70
|
+
const sign_requests_js_1 = require("./managers/sign_requests.js");
|
|
71
|
+
const sign_templates_js_1 = require("./managers/sign_templates.js");
|
|
72
|
+
const skills_js_1 = require("./managers/skills.js");
|
|
73
|
+
const storage_policies_js_1 = require("./managers/storage_policies.js");
|
|
74
|
+
const storage_policy_assignments_js_1 = require("./managers/storage_policy_assignments.js");
|
|
75
|
+
const task_assignments_js_1 = require("./managers/task_assignments.js");
|
|
76
|
+
const tasks_js_1 = require("./managers/tasks.js");
|
|
77
|
+
const terms_of_service_user_statuses_js_1 = require("./managers/terms_of_service_user_statuses.js");
|
|
78
|
+
const terms_of_services_js_1 = require("./managers/terms_of_services.js");
|
|
79
|
+
const transfer_js_1 = require("./managers/transfer.js");
|
|
80
|
+
const trashed_files_js_1 = require("./managers/trashed_files.js");
|
|
81
|
+
const trashed_folders_js_1 = require("./managers/trashed_folders.js");
|
|
82
|
+
const trashed_items_js_1 = require("./managers/trashed_items.js");
|
|
83
|
+
const trashed_web_links_js_1 = require("./managers/trashed_web_links.js");
|
|
84
|
+
const uploads_js_1 = require("./managers/uploads.js");
|
|
85
|
+
const user_collaborations_js_1 = require("./managers/user_collaborations.js");
|
|
86
|
+
const users_js_1 = require("./managers/users.js");
|
|
87
|
+
const web_links_js_1 = require("./managers/web_links.js");
|
|
88
|
+
const webhooks_js_1 = require("./managers/webhooks.js");
|
|
89
|
+
const workflows_js_1 = require("./managers/workflows.js");
|
|
90
|
+
const zip_downloads_js_1 = require("./managers/zip_downloads.js");
|
|
91
|
+
/** The Box SDK client: one manager per API area over a shared session. */
|
|
92
|
+
class Client {
|
|
93
|
+
ai;
|
|
94
|
+
aiStudio;
|
|
95
|
+
appItemAssociations;
|
|
96
|
+
archives;
|
|
97
|
+
authorization;
|
|
98
|
+
automateWorkflows;
|
|
99
|
+
avatars;
|
|
100
|
+
chunkedUploads;
|
|
101
|
+
classifications;
|
|
102
|
+
collaborationAllowlistEntries;
|
|
103
|
+
collaborationAllowlistExemptTargets;
|
|
104
|
+
collections;
|
|
105
|
+
comments;
|
|
106
|
+
devicePinners;
|
|
107
|
+
docgen;
|
|
108
|
+
docgenTemplate;
|
|
109
|
+
downloads;
|
|
110
|
+
emailAliases;
|
|
111
|
+
enterpriseConfigurations;
|
|
112
|
+
events;
|
|
113
|
+
externalUsers;
|
|
114
|
+
fileClassifications;
|
|
115
|
+
fileMetadata;
|
|
116
|
+
fileRequests;
|
|
117
|
+
fileVersionLegalHolds;
|
|
118
|
+
fileVersionRetentions;
|
|
119
|
+
fileVersions;
|
|
120
|
+
fileWatermarks;
|
|
121
|
+
files;
|
|
122
|
+
folderClassifications;
|
|
123
|
+
folderLocks;
|
|
124
|
+
folderMetadata;
|
|
125
|
+
folderWatermarks;
|
|
126
|
+
folders;
|
|
127
|
+
groups;
|
|
128
|
+
hubCollaborations;
|
|
129
|
+
hubDocument;
|
|
130
|
+
hubItems;
|
|
131
|
+
hubs;
|
|
132
|
+
integrationMappings;
|
|
133
|
+
invites;
|
|
134
|
+
legalHoldPolicies;
|
|
135
|
+
legalHoldPolicyAssignments;
|
|
136
|
+
listCollaborations;
|
|
137
|
+
memberships;
|
|
138
|
+
metadataCascadePolicies;
|
|
139
|
+
metadataTaxonomies;
|
|
140
|
+
metadataTemplates;
|
|
141
|
+
notes;
|
|
142
|
+
recentItems;
|
|
143
|
+
retentionPolicies;
|
|
144
|
+
retentionPolicyAssignments;
|
|
145
|
+
search;
|
|
146
|
+
sessionTermination;
|
|
147
|
+
sharedLinksAppItems;
|
|
148
|
+
sharedLinksFiles;
|
|
149
|
+
sharedLinksFolders;
|
|
150
|
+
sharedLinksWebLinks;
|
|
151
|
+
shieldInformationBarrierReports;
|
|
152
|
+
shieldInformationBarrierSegmentMembers;
|
|
153
|
+
shieldInformationBarrierSegmentRestrictions;
|
|
154
|
+
shieldInformationBarrierSegments;
|
|
155
|
+
shieldInformationBarriers;
|
|
156
|
+
shieldLists;
|
|
157
|
+
signRequests;
|
|
158
|
+
signTemplates;
|
|
159
|
+
skills;
|
|
160
|
+
storagePolicies;
|
|
161
|
+
storagePolicyAssignments;
|
|
162
|
+
taskAssignments;
|
|
163
|
+
tasks;
|
|
164
|
+
termsOfServiceUserStatuses;
|
|
165
|
+
termsOfServices;
|
|
166
|
+
transfer;
|
|
167
|
+
trashedFiles;
|
|
168
|
+
trashedFolders;
|
|
169
|
+
trashedItems;
|
|
170
|
+
trashedWebLinks;
|
|
171
|
+
uploads;
|
|
172
|
+
userCollaborations;
|
|
173
|
+
users;
|
|
174
|
+
webLinks;
|
|
175
|
+
webhooks;
|
|
176
|
+
workflows;
|
|
177
|
+
zipDownloads;
|
|
178
|
+
/** Build a client for an authentication flow. */
|
|
179
|
+
constructor(auth) {
|
|
180
|
+
const session = new runtime_js_1.Client(auth);
|
|
181
|
+
this.ai = new ai_js_1.AiManager(session);
|
|
182
|
+
this.aiStudio = new ai_studio_js_1.AiStudioManager(session);
|
|
183
|
+
this.appItemAssociations = new app_item_associations_js_1.AppItemAssociationsManager(session);
|
|
184
|
+
this.archives = new archives_js_1.ArchivesManager(session);
|
|
185
|
+
this.authorization = new authorization_js_1.AuthorizationManager(session);
|
|
186
|
+
this.automateWorkflows = new automate_workflows_js_1.AutomateWorkflowsManager(session);
|
|
187
|
+
this.avatars = new avatars_js_1.AvatarsManager(session);
|
|
188
|
+
this.chunkedUploads = new chunked_uploads_js_1.ChunkedUploadsManager(session);
|
|
189
|
+
this.classifications = new classifications_js_1.ClassificationsManager(session);
|
|
190
|
+
this.collaborationAllowlistEntries = new collaboration_allowlist_entries_js_1.CollaborationAllowlistEntriesManager(session);
|
|
191
|
+
this.collaborationAllowlistExemptTargets = new collaboration_allowlist_exempt_targets_js_1.CollaborationAllowlistExemptTargetsManager(session);
|
|
192
|
+
this.collections = new collections_js_1.CollectionsManager(session);
|
|
193
|
+
this.comments = new comments_js_1.CommentsManager(session);
|
|
194
|
+
this.devicePinners = new device_pinners_js_1.DevicePinnersManager(session);
|
|
195
|
+
this.docgen = new docgen_js_1.DocgenManager(session);
|
|
196
|
+
this.docgenTemplate = new docgen_template_js_1.DocgenTemplateManager(session);
|
|
197
|
+
this.downloads = new downloads_js_1.DownloadsManager(session);
|
|
198
|
+
this.emailAliases = new email_aliases_js_1.EmailAliasesManager(session);
|
|
199
|
+
this.enterpriseConfigurations = new enterprise_configurations_js_1.EnterpriseConfigurationsManager(session);
|
|
200
|
+
this.events = new events_js_1.EventsManager(session);
|
|
201
|
+
this.externalUsers = new external_users_js_1.ExternalUsersManager(session);
|
|
202
|
+
this.fileClassifications = new file_classifications_js_1.FileClassificationsManager(session);
|
|
203
|
+
this.fileMetadata = new file_metadata_js_1.FileMetadataManager(session);
|
|
204
|
+
this.fileRequests = new file_requests_js_1.FileRequestsManager(session);
|
|
205
|
+
this.fileVersionLegalHolds = new file_version_legal_holds_js_1.FileVersionLegalHoldsManager(session);
|
|
206
|
+
this.fileVersionRetentions = new file_version_retentions_js_1.FileVersionRetentionsManager(session);
|
|
207
|
+
this.fileVersions = new file_versions_js_1.FileVersionsManager(session);
|
|
208
|
+
this.fileWatermarks = new file_watermarks_js_1.FileWatermarksManager(session);
|
|
209
|
+
this.files = new files_js_1.FilesManager(session);
|
|
210
|
+
this.folderClassifications = new folder_classifications_js_1.FolderClassificationsManager(session);
|
|
211
|
+
this.folderLocks = new folder_locks_js_1.FolderLocksManager(session);
|
|
212
|
+
this.folderMetadata = new folder_metadata_js_1.FolderMetadataManager(session);
|
|
213
|
+
this.folderWatermarks = new folder_watermarks_js_1.FolderWatermarksManager(session);
|
|
214
|
+
this.folders = new folders_js_1.FoldersManager(session);
|
|
215
|
+
this.groups = new groups_js_1.GroupsManager(session);
|
|
216
|
+
this.hubCollaborations = new hub_collaborations_js_1.HubCollaborationsManager(session);
|
|
217
|
+
this.hubDocument = new hub_document_js_1.HubDocumentManager(session);
|
|
218
|
+
this.hubItems = new hub_items_js_1.HubItemsManager(session);
|
|
219
|
+
this.hubs = new hubs_js_1.HubsManager(session);
|
|
220
|
+
this.integrationMappings = new integration_mappings_js_1.IntegrationMappingsManager(session);
|
|
221
|
+
this.invites = new invites_js_1.InvitesManager(session);
|
|
222
|
+
this.legalHoldPolicies = new legal_hold_policies_js_1.LegalHoldPoliciesManager(session);
|
|
223
|
+
this.legalHoldPolicyAssignments = new legal_hold_policy_assignments_js_1.LegalHoldPolicyAssignmentsManager(session);
|
|
224
|
+
this.listCollaborations = new list_collaborations_js_1.ListCollaborationsManager(session);
|
|
225
|
+
this.memberships = new memberships_js_1.MembershipsManager(session);
|
|
226
|
+
this.metadataCascadePolicies = new metadata_cascade_policies_js_1.MetadataCascadePoliciesManager(session);
|
|
227
|
+
this.metadataTaxonomies = new metadata_taxonomies_js_1.MetadataTaxonomiesManager(session);
|
|
228
|
+
this.metadataTemplates = new metadata_templates_js_1.MetadataTemplatesManager(session);
|
|
229
|
+
this.notes = new notes_js_1.NotesManager(session);
|
|
230
|
+
this.recentItems = new recent_items_js_1.RecentItemsManager(session);
|
|
231
|
+
this.retentionPolicies = new retention_policies_js_1.RetentionPoliciesManager(session);
|
|
232
|
+
this.retentionPolicyAssignments = new retention_policy_assignments_js_1.RetentionPolicyAssignmentsManager(session);
|
|
233
|
+
this.search = new search_js_1.SearchManager(session);
|
|
234
|
+
this.sessionTermination = new session_termination_js_1.SessionTerminationManager(session);
|
|
235
|
+
this.sharedLinksAppItems = new shared_links_app_items_js_1.SharedLinksAppItemsManager(session);
|
|
236
|
+
this.sharedLinksFiles = new shared_links_files_js_1.SharedLinksFilesManager(session);
|
|
237
|
+
this.sharedLinksFolders = new shared_links_folders_js_1.SharedLinksFoldersManager(session);
|
|
238
|
+
this.sharedLinksWebLinks = new shared_links_web_links_js_1.SharedLinksWebLinksManager(session);
|
|
239
|
+
this.shieldInformationBarrierReports = new shield_information_barrier_reports_js_1.ShieldInformationBarrierReportsManager(session);
|
|
240
|
+
this.shieldInformationBarrierSegmentMembers = new shield_information_barrier_segment_members_js_1.ShieldInformationBarrierSegmentMembersManager(session);
|
|
241
|
+
this.shieldInformationBarrierSegmentRestrictions = new shield_information_barrier_segment_restrictions_js_1.ShieldInformationBarrierSegmentRestrictionsManager(session);
|
|
242
|
+
this.shieldInformationBarrierSegments = new shield_information_barrier_segments_js_1.ShieldInformationBarrierSegmentsManager(session);
|
|
243
|
+
this.shieldInformationBarriers = new shield_information_barriers_js_1.ShieldInformationBarriersManager(session);
|
|
244
|
+
this.shieldLists = new shield_lists_js_1.ShieldListsManager(session);
|
|
245
|
+
this.signRequests = new sign_requests_js_1.SignRequestsManager(session);
|
|
246
|
+
this.signTemplates = new sign_templates_js_1.SignTemplatesManager(session);
|
|
247
|
+
this.skills = new skills_js_1.SkillsManager(session);
|
|
248
|
+
this.storagePolicies = new storage_policies_js_1.StoragePoliciesManager(session);
|
|
249
|
+
this.storagePolicyAssignments = new storage_policy_assignments_js_1.StoragePolicyAssignmentsManager(session);
|
|
250
|
+
this.taskAssignments = new task_assignments_js_1.TaskAssignmentsManager(session);
|
|
251
|
+
this.tasks = new tasks_js_1.TasksManager(session);
|
|
252
|
+
this.termsOfServiceUserStatuses = new terms_of_service_user_statuses_js_1.TermsOfServiceUserStatusesManager(session);
|
|
253
|
+
this.termsOfServices = new terms_of_services_js_1.TermsOfServicesManager(session);
|
|
254
|
+
this.transfer = new transfer_js_1.TransferManager(session);
|
|
255
|
+
this.trashedFiles = new trashed_files_js_1.TrashedFilesManager(session);
|
|
256
|
+
this.trashedFolders = new trashed_folders_js_1.TrashedFoldersManager(session);
|
|
257
|
+
this.trashedItems = new trashed_items_js_1.TrashedItemsManager(session);
|
|
258
|
+
this.trashedWebLinks = new trashed_web_links_js_1.TrashedWebLinksManager(session);
|
|
259
|
+
this.uploads = new uploads_js_1.UploadsManager(session);
|
|
260
|
+
this.userCollaborations = new user_collaborations_js_1.UserCollaborationsManager(session);
|
|
261
|
+
this.users = new users_js_1.UsersManager(session);
|
|
262
|
+
this.webLinks = new web_links_js_1.WebLinksManager(session);
|
|
263
|
+
this.webhooks = new webhooks_js_1.WebhooksManager(session);
|
|
264
|
+
this.workflows = new workflows_js_1.WorkflowsManager(session);
|
|
265
|
+
this.zipDownloads = new zip_downloads_js_1.ZipDownloadsManager(session);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
exports.Client = Client;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry (vendored from runtimes/typescript/gantryruntime/src/errors.ts). DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.BoxApiError = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* A runtime error: a failed request, auth acquisition, or body decode. The
|
|
7
|
+
* generated SDK's exceptions model (TR-TS.3) surfaces every failure as a thrown
|
|
8
|
+
* `BoxApiError` — the TypeScript analogue of Go's `error` return and Rust's
|
|
9
|
+
* `Result::Err`.
|
|
10
|
+
*/
|
|
11
|
+
class BoxApiError extends Error {
|
|
12
|
+
/** The HTTP status, when the error carries a response. */
|
|
13
|
+
status;
|
|
14
|
+
constructor(message, options = {}) {
|
|
15
|
+
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
16
|
+
this.name = 'BoxApiError';
|
|
17
|
+
this.status = options.status;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.BoxApiError = BoxApiError;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.buildinfo = exports.runtime = exports.managers = exports.models = exports.Client = void 0;
|
|
38
|
+
var client_js_1 = require("./client.js");
|
|
39
|
+
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_js_1.Client; } });
|
|
40
|
+
exports.models = __importStar(require("./models/index.js"));
|
|
41
|
+
exports.managers = __importStar(require("./managers/index.js"));
|
|
42
|
+
exports.runtime = __importStar(require("./runtime.js"));
|
|
43
|
+
exports.buildinfo = __importStar(require("./buildinfo.js"));
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.join = join;
|
|
5
|
+
exports.pathEscape = pathEscape;
|
|
6
|
+
exports.formEncode = formEncode;
|
|
7
|
+
/** Comma-join a list into a query value, converting each element with `f`. */
|
|
8
|
+
function join(items, f) {
|
|
9
|
+
return items.map(f).join(',');
|
|
10
|
+
}
|
|
11
|
+
/** Percent-encode a value, leaving RFC 3986 unreserved characters as-is. */
|
|
12
|
+
function pathEscape(value) {
|
|
13
|
+
let out = '';
|
|
14
|
+
for (const byte of new TextEncoder().encode(value)) {
|
|
15
|
+
const unreserved = (byte >= 0x41 && byte <= 0x5a) || // A-Z
|
|
16
|
+
(byte >= 0x61 && byte <= 0x7a) || // a-z
|
|
17
|
+
(byte >= 0x30 && byte <= 0x39) || // 0-9
|
|
18
|
+
byte === 0x2d || // -
|
|
19
|
+
byte === 0x2e || // .
|
|
20
|
+
byte === 0x5f || // _
|
|
21
|
+
byte === 0x7e; // ~
|
|
22
|
+
if (unreserved) {
|
|
23
|
+
out += String.fromCharCode(byte);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
out += '%' + byte.toString(16).toUpperCase().padStart(2, '0');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* An application/x-www-form-urlencoded body from key/value pairs (the OAuth2
|
|
33
|
+
* token endpoints): each key and value percent-encoded, joined by `&`.
|
|
34
|
+
*/
|
|
35
|
+
function formEncode(pairs) {
|
|
36
|
+
return pairs.map(([key, value]) => `${pathEscape(key)}=${pathEscape(value)}`).join('&');
|
|
37
|
+
}
|
package/dist/cjs/jwt.js
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by box-gantry (vendored from runtimes/typescript/gantryruntime/src/jwt.ts). DO NOT EDIT.
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.jwtAuth = jwtAuth;
|
|
38
|
+
// JWT server auth — the fourth Box auth flow (TR-TS.5 parity with Go/Rust).
|
|
39
|
+
//
|
|
40
|
+
// Unlike the other three flows, this one needs an RSA signing key, so it uses
|
|
41
|
+
// `node:crypto` and runs only on Node-like runtimes. It is a leaf module — not
|
|
42
|
+
// re-exported by `runtime.ts` — and imports `node:crypto` lazily, so importing
|
|
43
|
+
// the core runtime or the `fetch`-only flows never pulls in a Node dependency.
|
|
44
|
+
// Reach it via the package's `./jwt` export.
|
|
45
|
+
const errors_js_1 = require("./errors.js");
|
|
46
|
+
const tokens_js_1 = require("./tokens.js");
|
|
47
|
+
/**
|
|
48
|
+
* Build a JWT-assertion `Auth`, parsing (and if needed decrypting) the RSA
|
|
49
|
+
* private key up front so a bad key fails loudly here rather than on the first
|
|
50
|
+
* request. Returns a promise because it imports `node:crypto` on demand.
|
|
51
|
+
*/
|
|
52
|
+
async function jwtAuth(config) {
|
|
53
|
+
if (!config.userId && !config.enterpriseId) {
|
|
54
|
+
throw new errors_js_1.BoxApiError('jwtAuth requires a subject: enterpriseId or userId');
|
|
55
|
+
}
|
|
56
|
+
const crypto = await Promise.resolve().then(() => __importStar(require('node:crypto')));
|
|
57
|
+
let privateKey;
|
|
58
|
+
try {
|
|
59
|
+
privateKey = crypto.createPrivateKey(config.passphrase !== undefined
|
|
60
|
+
? { key: config.privateKeyPem, passphrase: config.passphrase }
|
|
61
|
+
: { key: config.privateKeyPem });
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
throw new errors_js_1.BoxApiError('failed to parse the JWT private key', { cause: err });
|
|
65
|
+
}
|
|
66
|
+
// The assertion is RS256-signed, so a non-RSA key would fail confusingly at
|
|
67
|
+
// sign time — reject it up front (parity with the Go/Rust runtimes).
|
|
68
|
+
if (privateKey.asymmetricKeyType !== 'rsa') {
|
|
69
|
+
throw new errors_js_1.BoxApiError(`JWT auth requires an RSA private key, got ${privateKey.asymmetricKeyType ?? 'an unrecognized key type'}`);
|
|
70
|
+
}
|
|
71
|
+
const tokenUrl = config.tokenUrl ?? tokens_js_1.DEFAULT_TOKEN_URL;
|
|
72
|
+
const subject = config.userId
|
|
73
|
+
? { type: 'user', id: config.userId }
|
|
74
|
+
: { type: 'enterprise', id: config.enterpriseId ?? '' };
|
|
75
|
+
return new tokens_js_1.CachedToken(async () => {
|
|
76
|
+
const assertion = signAssertion(crypto, config, privateKey, subject, tokenUrl);
|
|
77
|
+
return (0, tokens_js_1.postTokenForm)(tokenUrl, {
|
|
78
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
|
|
79
|
+
assertion,
|
|
80
|
+
client_id: config.clientId,
|
|
81
|
+
client_secret: config.clientSecret,
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Build and RS256-sign the JWT bearer assertion Box's jwt-bearer grant expects.
|
|
87
|
+
* The claim set is single-use: a random `jti` and a short (45s) expiry.
|
|
88
|
+
*/
|
|
89
|
+
function signAssertion(crypto, config, privateKey, subject, audience) {
|
|
90
|
+
const header = { alg: 'RS256', typ: 'JWT', kid: config.publicKeyId };
|
|
91
|
+
const claims = {
|
|
92
|
+
iss: config.clientId,
|
|
93
|
+
sub: subject.id,
|
|
94
|
+
box_sub_type: subject.type,
|
|
95
|
+
aud: audience,
|
|
96
|
+
jti: hex(crypto.randomBytes(16)),
|
|
97
|
+
exp: Math.floor(Date.now() / 1000) + 45,
|
|
98
|
+
};
|
|
99
|
+
const signingInput = `${base64urlJson(header)}.${base64urlJson(claims)}`;
|
|
100
|
+
const signature = crypto.sign('RSA-SHA256', new TextEncoder().encode(signingInput), privateKey);
|
|
101
|
+
return `${signingInput}.${base64url(signature)}`;
|
|
102
|
+
}
|
|
103
|
+
/** Base64url-encode a JSON value's UTF-8 bytes (no padding). */
|
|
104
|
+
function base64urlJson(value) {
|
|
105
|
+
return base64url(new TextEncoder().encode(JSON.stringify(value)));
|
|
106
|
+
}
|
|
107
|
+
/** Base64url-encode bytes (RFC 7515 §2: base64 with `+/` → `-_`, no padding). */
|
|
108
|
+
function base64url(bytes) {
|
|
109
|
+
let binary = '';
|
|
110
|
+
for (const byte of bytes) {
|
|
111
|
+
binary += String.fromCharCode(byte);
|
|
112
|
+
}
|
|
113
|
+
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
114
|
+
}
|
|
115
|
+
/** Lowercase hex of bytes, for the assertion `jti`. */
|
|
116
|
+
function hex(bytes) {
|
|
117
|
+
let out = '';
|
|
118
|
+
for (const byte of bytes) {
|
|
119
|
+
out += byte.toString(16).padStart(2, '0');
|
|
120
|
+
}
|
|
121
|
+
return out;
|
|
122
|
+
}
|