@unofficialbox/box-open-sdk 0.7.0 → 0.8.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/dist/cjs/buildinfo.js +2 -2
- package/dist/cjs/errors.js +7 -0
- package/dist/cjs/managers/events.js +27 -1
- package/dist/cjs/managers/web_links.js +26 -2
- package/dist/cjs/models/schemas/ai.js +1 -1
- package/dist/cjs/models/schemas/ai_studio.js +1 -1
- package/dist/cjs/models/schemas/app_item_associations.js +1 -1
- package/dist/cjs/models/schemas/archives.js +1 -1
- package/dist/cjs/models/schemas/authorization.js +1 -1
- package/dist/cjs/models/schemas/automate_workflows.js +1 -1
- package/dist/cjs/models/schemas/avatars.js +1 -1
- package/dist/cjs/models/schemas/chunked_uploads.js +1 -1
- package/dist/cjs/models/schemas/classifications.js +1 -1
- package/dist/cjs/models/schemas/collaboration_allowlist_entries.js +1 -1
- package/dist/cjs/models/schemas/collaboration_allowlist_exempt_targets.js +1 -1
- package/dist/cjs/models/schemas/collections.js +1 -1
- package/dist/cjs/models/schemas/comments.js +1 -1
- package/dist/cjs/models/schemas/device_pinners.js +1 -1
- package/dist/cjs/models/schemas/docgen.js +1 -1
- package/dist/cjs/models/schemas/docgen_template.js +1 -1
- package/dist/cjs/models/schemas/document_split.js +1 -1
- package/dist/cjs/models/schemas/email_aliases.js +1 -1
- package/dist/cjs/models/schemas/enterprise_configurations.js +1 -1
- package/dist/cjs/models/schemas/events.js +1 -1
- package/dist/cjs/models/schemas/external_users.js +1 -1
- package/dist/cjs/models/schemas/file_requests.js +1 -1
- package/dist/cjs/models/schemas/file_version_legal_holds.js +1 -1
- package/dist/cjs/models/schemas/file_version_retentions.js +1 -1
- package/dist/cjs/models/schemas/file_versions.js +1 -1
- package/dist/cjs/models/schemas/files.js +1 -1
- package/dist/cjs/models/schemas/folder_locks.js +1 -1
- package/dist/cjs/models/schemas/folders.js +1 -1
- package/dist/cjs/models/schemas/groups.js +1 -1
- package/dist/cjs/models/schemas/hub_collaborations.js +1 -1
- package/dist/cjs/models/schemas/hub_document.js +1 -1
- package/dist/cjs/models/schemas/hub_items.js +1 -1
- package/dist/cjs/models/schemas/hubs.js +1 -1
- package/dist/cjs/models/schemas/integration_mappings.js +1 -1
- package/dist/cjs/models/schemas/invites.js +1 -1
- package/dist/cjs/models/schemas/legal_hold_policies.js +1 -1
- package/dist/cjs/models/schemas/legal_hold_policy_assignments.js +1 -1
- package/dist/cjs/models/schemas/list_collaborations.js +1 -1
- package/dist/cjs/models/schemas/memberships.js +1 -1
- package/dist/cjs/models/schemas/metadata_cascade_policies.js +1 -1
- package/dist/cjs/models/schemas/metadata_taxonomies.js +1 -1
- package/dist/cjs/models/schemas/metadata_templates.js +1 -1
- package/dist/cjs/models/schemas/notes.js +1 -1
- package/dist/cjs/models/schemas/query.js +1 -1
- package/dist/cjs/models/schemas/recent_items.js +1 -1
- package/dist/cjs/models/schemas/retention_policies.js +1 -1
- package/dist/cjs/models/schemas/retention_policy_assignments.js +1 -1
- package/dist/cjs/models/schemas/search.js +1 -1
- package/dist/cjs/models/schemas/session_termination.js +1 -1
- package/dist/cjs/models/schemas/shared_links_folders.js +1 -1
- package/dist/cjs/models/schemas/shield_information_barrier_reports.js +1 -1
- package/dist/cjs/models/schemas/shield_information_barrier_segment_members.js +1 -1
- package/dist/cjs/models/schemas/shield_information_barrier_segment_restrictions.js +1 -1
- package/dist/cjs/models/schemas/shield_information_barrier_segments.js +1 -1
- package/dist/cjs/models/schemas/shield_information_barriers.js +1 -1
- package/dist/cjs/models/schemas/shield_lists.js +1 -1
- package/dist/cjs/models/schemas/shuttle.js +1 -1
- package/dist/cjs/models/schemas/sign_requests.js +1 -1
- package/dist/cjs/models/schemas/sign_templates.js +1 -1
- package/dist/cjs/models/schemas/skills.js +1 -1
- package/dist/cjs/models/schemas/storage_policies.js +1 -1
- package/dist/cjs/models/schemas/storage_policy_assignments.js +1 -1
- package/dist/cjs/models/schemas/task_assignments.js +1 -1
- package/dist/cjs/models/schemas/tasks.js +1 -1
- package/dist/cjs/models/schemas/terms_of_service_user_statuses.js +1 -1
- package/dist/cjs/models/schemas/terms_of_services.js +1 -1
- package/dist/cjs/models/schemas/transfer.js +1 -1
- package/dist/cjs/models/schemas/trashed_files.js +1 -1
- package/dist/cjs/models/schemas/trashed_folders.js +1 -1
- package/dist/cjs/models/schemas/trashed_items.js +1 -1
- package/dist/cjs/models/schemas/trashed_web_links.js +1 -1
- package/dist/cjs/models/schemas/uploads.js +1 -1
- package/dist/cjs/models/schemas/user_collaborations.js +1 -1
- package/dist/cjs/models/schemas/users.js +1 -1
- package/dist/cjs/models/schemas/web_links.js +1 -1
- package/dist/cjs/models/schemas/webhooks.js +1 -1
- package/dist/cjs/models/schemas/workflows.js +1 -1
- package/dist/cjs/models/schemas/zip_downloads.js +1 -1
- package/dist/cjs/models/schemas.js +1 -1
- package/dist/cjs/runtime.js +115 -1
- package/dist/cjs/webhooks.js +113 -0
- package/dist/esm/buildinfo.js +2 -2
- package/dist/esm/errors.js +6 -0
- package/dist/esm/managers/events.js +27 -1
- package/dist/esm/managers/web_links.js +26 -2
- package/dist/esm/models/schemas/ai.js +1 -1
- package/dist/esm/models/schemas/ai_studio.js +1 -1
- package/dist/esm/models/schemas/app_item_associations.js +1 -1
- package/dist/esm/models/schemas/archives.js +1 -1
- package/dist/esm/models/schemas/authorization.js +1 -1
- package/dist/esm/models/schemas/automate_workflows.js +1 -1
- package/dist/esm/models/schemas/avatars.js +1 -1
- package/dist/esm/models/schemas/chunked_uploads.js +1 -1
- package/dist/esm/models/schemas/classifications.js +1 -1
- package/dist/esm/models/schemas/collaboration_allowlist_entries.js +1 -1
- package/dist/esm/models/schemas/collaboration_allowlist_exempt_targets.js +1 -1
- package/dist/esm/models/schemas/collections.js +1 -1
- package/dist/esm/models/schemas/comments.js +1 -1
- package/dist/esm/models/schemas/device_pinners.js +1 -1
- package/dist/esm/models/schemas/docgen.js +1 -1
- package/dist/esm/models/schemas/docgen_template.js +1 -1
- package/dist/esm/models/schemas/document_split.js +1 -1
- package/dist/esm/models/schemas/email_aliases.js +1 -1
- package/dist/esm/models/schemas/enterprise_configurations.js +1 -1
- package/dist/esm/models/schemas/events.js +1 -1
- package/dist/esm/models/schemas/external_users.js +1 -1
- package/dist/esm/models/schemas/file_requests.js +1 -1
- package/dist/esm/models/schemas/file_version_legal_holds.js +1 -1
- package/dist/esm/models/schemas/file_version_retentions.js +1 -1
- package/dist/esm/models/schemas/file_versions.js +1 -1
- package/dist/esm/models/schemas/files.js +1 -1
- package/dist/esm/models/schemas/folder_locks.js +1 -1
- package/dist/esm/models/schemas/folders.js +1 -1
- package/dist/esm/models/schemas/groups.js +1 -1
- package/dist/esm/models/schemas/hub_collaborations.js +1 -1
- package/dist/esm/models/schemas/hub_document.js +1 -1
- package/dist/esm/models/schemas/hub_items.js +1 -1
- package/dist/esm/models/schemas/hubs.js +1 -1
- package/dist/esm/models/schemas/integration_mappings.js +1 -1
- package/dist/esm/models/schemas/invites.js +1 -1
- package/dist/esm/models/schemas/legal_hold_policies.js +1 -1
- package/dist/esm/models/schemas/legal_hold_policy_assignments.js +1 -1
- package/dist/esm/models/schemas/list_collaborations.js +1 -1
- package/dist/esm/models/schemas/memberships.js +1 -1
- package/dist/esm/models/schemas/metadata_cascade_policies.js +1 -1
- package/dist/esm/models/schemas/metadata_taxonomies.js +1 -1
- package/dist/esm/models/schemas/metadata_templates.js +1 -1
- package/dist/esm/models/schemas/notes.js +1 -1
- package/dist/esm/models/schemas/query.js +1 -1
- package/dist/esm/models/schemas/recent_items.js +1 -1
- package/dist/esm/models/schemas/retention_policies.js +1 -1
- package/dist/esm/models/schemas/retention_policy_assignments.js +1 -1
- package/dist/esm/models/schemas/search.js +1 -1
- package/dist/esm/models/schemas/session_termination.js +1 -1
- package/dist/esm/models/schemas/shared_links_folders.js +1 -1
- package/dist/esm/models/schemas/shield_information_barrier_reports.js +1 -1
- package/dist/esm/models/schemas/shield_information_barrier_segment_members.js +1 -1
- package/dist/esm/models/schemas/shield_information_barrier_segment_restrictions.js +1 -1
- package/dist/esm/models/schemas/shield_information_barrier_segments.js +1 -1
- package/dist/esm/models/schemas/shield_information_barriers.js +1 -1
- package/dist/esm/models/schemas/shield_lists.js +1 -1
- package/dist/esm/models/schemas/shuttle.js +1 -1
- package/dist/esm/models/schemas/sign_requests.js +1 -1
- package/dist/esm/models/schemas/sign_templates.js +1 -1
- package/dist/esm/models/schemas/skills.js +1 -1
- package/dist/esm/models/schemas/storage_policies.js +1 -1
- package/dist/esm/models/schemas/storage_policy_assignments.js +1 -1
- package/dist/esm/models/schemas/task_assignments.js +1 -1
- package/dist/esm/models/schemas/tasks.js +1 -1
- package/dist/esm/models/schemas/terms_of_service_user_statuses.js +1 -1
- package/dist/esm/models/schemas/terms_of_services.js +1 -1
- package/dist/esm/models/schemas/transfer.js +1 -1
- package/dist/esm/models/schemas/trashed_files.js +1 -1
- package/dist/esm/models/schemas/trashed_folders.js +1 -1
- package/dist/esm/models/schemas/trashed_items.js +1 -1
- package/dist/esm/models/schemas/trashed_web_links.js +1 -1
- package/dist/esm/models/schemas/uploads.js +1 -1
- package/dist/esm/models/schemas/user_collaborations.js +1 -1
- package/dist/esm/models/schemas/users.js +1 -1
- package/dist/esm/models/schemas/web_links.js +1 -1
- package/dist/esm/models/schemas/webhooks.js +1 -1
- package/dist/esm/models/schemas/workflows.js +1 -1
- package/dist/esm/models/schemas/zip_downloads.js +1 -1
- package/dist/esm/models/schemas.js +1 -1
- package/dist/esm/runtime.js +111 -1
- package/dist/esm/webhooks.js +109 -0
- package/dist/types/buildinfo.d.ts +1 -1
- package/dist/types/errors.d.ts +4 -0
- package/dist/types/managers/events.d.ts +4 -0
- package/dist/types/managers/web_links.d.ts +14 -2
- package/dist/types/runtime.d.ts +36 -1
- package/dist/types/webhooks.d.ts +24 -0
- package/docs/README.md +1 -0
- package/docs/errors.md +14 -8
- package/docs/managers/web_links.md +3 -0
- package/docs/pagination.md +16 -0
- package/docs/webhooks.md +34 -0
- package/package.json +1 -1
package/dist/cjs/buildinfo.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Code generated by box-gantry 0.1.0 (spec
|
|
2
|
+
// Code generated by box-gantry 0.1.0 (spec 21e020ceb5dcf964). DO NOT EDIT.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.TARGET = exports.SPEC_FINGERPRINT = exports.ENGINE = void 0;
|
|
5
5
|
/** The box-gantry engine version that generated this SDK. */
|
|
6
6
|
exports.ENGINE = "0.1.0";
|
|
7
7
|
/** Fingerprint of the input spec set. */
|
|
8
|
-
exports.SPEC_FINGERPRINT = "
|
|
8
|
+
exports.SPEC_FINGERPRINT = "21e020ceb5dcf964";
|
|
9
9
|
/** The target language key (FR-4). */
|
|
10
10
|
exports.TARGET = "typescript";
|
package/dist/cjs/errors.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Code generated by box-gantry (vendored from runtimes/typescript/gantryruntime/src/errors.ts). DO NOT EDIT.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.BoxApiError = void 0;
|
|
5
|
+
exports.isPreconditionFailed = isPreconditionFailed;
|
|
5
6
|
exports.apiErrorFromResponse = apiErrorFromResponse;
|
|
6
7
|
/**
|
|
7
8
|
* A runtime error: a failed request, auth acquisition, or body decode. The
|
|
@@ -31,6 +32,12 @@ class BoxApiError extends Error {
|
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
exports.BoxApiError = BoxApiError;
|
|
35
|
+
/** Whether `err` is Box's 412 Precondition Failed: an `If-Match` write whose
|
|
36
|
+
* etag no longer matches, because the item changed since it was read. Re-read
|
|
37
|
+
* the item and retry with its new etag. */
|
|
38
|
+
function isPreconditionFailed(err) {
|
|
39
|
+
return err instanceof BoxApiError && err.status === 412;
|
|
40
|
+
}
|
|
34
41
|
/** The error for a non-2xx response: `Client.fetch` throws it once the retry
|
|
35
42
|
* budget and the single 401 refresh are spent, so a caller never mistakes an
|
|
36
43
|
* error body for a result. Box's error fields are read from the body when it
|
|
@@ -68,7 +68,7 @@ class EventsManager {
|
|
|
68
68
|
}
|
|
69
69
|
const resp = await this.session.fetch(req);
|
|
70
70
|
const data = runtime.responseBytes(resp);
|
|
71
|
-
return
|
|
71
|
+
return runtime.parseJsonExact(new TextDecoder().decode(data));
|
|
72
72
|
}
|
|
73
73
|
async options() {
|
|
74
74
|
let url = this.session.baseUrl("api");
|
|
@@ -78,5 +78,31 @@ class EventsManager {
|
|
|
78
78
|
const data = runtime.responseBytes(resp);
|
|
79
79
|
return JSON.parse(new TextDecoder().decode(data));
|
|
80
80
|
}
|
|
81
|
+
/** Box's long-poll event stream from `opts.stream_position` (`'now'` when
|
|
82
|
+
* unset): yields each event once, then waits on a real-time server for the
|
|
83
|
+
* next change. It rejects when a call fails; aborting `signal` stops it. */
|
|
84
|
+
stream(opts, signal) {
|
|
85
|
+
const options = { ...opts };
|
|
86
|
+
return runtime.eventStream(this.session, options.stream_position ?? 'now', {
|
|
87
|
+
server: async () => {
|
|
88
|
+
const listed = await this.options();
|
|
89
|
+
for (const s of listed.entries ?? []) {
|
|
90
|
+
if (s.url !== undefined) {
|
|
91
|
+
return {
|
|
92
|
+
url: s.url,
|
|
93
|
+
maxRetries: s.max_retries === undefined ? undefined : Number(s.max_retries),
|
|
94
|
+
retryTimeoutSeconds: s.retry_timeout,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
throw new runtime.BoxApiError('box: no real-time server to long-poll');
|
|
99
|
+
},
|
|
100
|
+
page: async (position) => {
|
|
101
|
+
const page = await this.list({ ...options, stream_position: position });
|
|
102
|
+
return { events: page.entries ?? [], next: runtime.streamPosition(page.next_stream_position) };
|
|
103
|
+
},
|
|
104
|
+
id: (event) => event.event_id,
|
|
105
|
+
}, signal);
|
|
106
|
+
}
|
|
81
107
|
}
|
|
82
108
|
exports.EventsManager = EventsManager;
|
|
@@ -62,26 +62,50 @@ class WebLinksManager {
|
|
|
62
62
|
if (options.boxapi !== undefined) {
|
|
63
63
|
req = runtime.withHeader(req, "boxapi", options.boxapi);
|
|
64
64
|
}
|
|
65
|
+
if (options["if-none-match"] !== undefined) {
|
|
66
|
+
req = runtime.withHeader(req, "if-none-match", options["if-none-match"]);
|
|
67
|
+
}
|
|
65
68
|
const resp = await this.session.fetch(req);
|
|
66
69
|
const data = runtime.responseBytes(resp);
|
|
67
70
|
return JSON.parse(new TextDecoder().decode(data));
|
|
68
71
|
}
|
|
69
|
-
|
|
72
|
+
/** `get` with `If-None-Match` set to `etag`: resolves `undefined` when
|
|
73
|
+
* the item is unchanged since `etag` (Box answers 304 Not Modified). */
|
|
74
|
+
async getIfModified(webLinkId, etag, opts) {
|
|
75
|
+
try {
|
|
76
|
+
return await this.get(webLinkId, { ...opts, "if-none-match": etag });
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
if (err instanceof runtime.BoxApiError && err.status === 304) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
throw err;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
async update(webLinkId, body, opts) {
|
|
70
86
|
let url = this.session.baseUrl("api");
|
|
71
87
|
url += "/web_links";
|
|
72
88
|
url += '/' + (0, internal_js_1.pathEscape)(webLinkId);
|
|
73
89
|
let req = this.session.newRequest("PUT", url);
|
|
90
|
+
const options = opts ?? {};
|
|
91
|
+
if (options["if-match"] !== undefined) {
|
|
92
|
+
req = runtime.withHeader(req, "if-match", options["if-match"]);
|
|
93
|
+
}
|
|
74
94
|
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
75
95
|
req = runtime.withJsonBody(req, payload);
|
|
76
96
|
const resp = await this.session.fetch(req);
|
|
77
97
|
const data = runtime.responseBytes(resp);
|
|
78
98
|
return JSON.parse(new TextDecoder().decode(data));
|
|
79
99
|
}
|
|
80
|
-
async delete_(webLinkId) {
|
|
100
|
+
async delete_(webLinkId, opts) {
|
|
81
101
|
let url = this.session.baseUrl("api");
|
|
82
102
|
url += "/web_links";
|
|
83
103
|
url += '/' + (0, internal_js_1.pathEscape)(webLinkId);
|
|
84
104
|
let req = this.session.newRequest("DELETE", url);
|
|
105
|
+
const options = opts ?? {};
|
|
106
|
+
if (options["if-match"] !== undefined) {
|
|
107
|
+
req = runtime.withHeader(req, "if-match", options["if-match"]);
|
|
108
|
+
}
|
|
85
109
|
await this.session.fetch(req);
|
|
86
110
|
}
|
|
87
111
|
}
|