@37signals/basecamp 0.12.0 → 0.14.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 +114 -17
- package/dist/.build-complete +0 -0
- package/dist/client.d.ts +53 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +132 -150
- package/dist/client.js.map +1 -1
- package/dist/download.d.ts +7 -0
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +82 -22
- package/dist/download.js.map +1 -1
- package/dist/errors.d.ts +19 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +138 -14
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +291 -141
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +291 -141
- package/dist/generated/openapi-stripped.json +5954 -3523
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +28 -16
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +28 -16
- package/dist/generated/schema.d.ts +4390 -2357
- package/dist/generated/services/bookmarks.d.ts +1 -1
- package/dist/generated/services/bookmarks.d.ts.map +1 -1
- package/dist/generated/services/bookmarks.ts +1 -1
- package/dist/generated/services/boosts.d.ts +10 -0
- package/dist/generated/services/boosts.d.ts.map +1 -1
- package/dist/generated/services/boosts.js +8 -0
- package/dist/generated/services/boosts.js.map +1 -1
- package/dist/generated/services/boosts.ts +12 -0
- package/dist/generated/services/campfires.d.ts +54 -40
- package/dist/generated/services/campfires.d.ts.map +1 -1
- package/dist/generated/services/campfires.js +82 -65
- package/dist/generated/services/campfires.js.map +1 -1
- package/dist/generated/services/campfires.ts +107 -85
- package/dist/generated/services/cards.d.ts +5 -0
- package/dist/generated/services/cards.d.ts.map +1 -1
- package/dist/generated/services/cards.js +4 -0
- package/dist/generated/services/cards.js.map +1 -1
- package/dist/generated/services/cards.ts +6 -0
- package/dist/generated/services/checkins.d.ts +14 -0
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +14 -1
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +20 -0
- package/dist/generated/services/client-approvals.d.ts +6 -3
- package/dist/generated/services/client-approvals.d.ts.map +1 -1
- package/dist/generated/services/client-approvals.js +8 -5
- package/dist/generated/services/client-approvals.js.map +1 -1
- package/dist/generated/services/client-approvals.ts +10 -5
- package/dist/generated/services/client-correspondences.d.ts +6 -3
- package/dist/generated/services/client-correspondences.d.ts.map +1 -1
- package/dist/generated/services/client-correspondences.js +8 -5
- package/dist/generated/services/client-correspondences.js.map +1 -1
- package/dist/generated/services/client-correspondences.ts +10 -5
- package/dist/generated/services/client-replies.d.ts +11 -4
- package/dist/generated/services/client-replies.d.ts.map +1 -1
- package/dist/generated/services/client-replies.js +16 -8
- package/dist/generated/services/client-replies.js.map +1 -1
- package/dist/generated/services/client-replies.ts +18 -8
- package/dist/generated/services/cloud-files.d.ts +92 -0
- package/dist/generated/services/cloud-files.d.ts.map +1 -0
- package/dist/generated/services/cloud-files.js +121 -0
- package/dist/generated/services/cloud-files.js.map +1 -0
- package/dist/generated/services/cloud-files.ts +188 -0
- package/dist/generated/services/comments.d.ts +5 -0
- package/dist/generated/services/comments.d.ts.map +1 -1
- package/dist/generated/services/comments.js +4 -0
- package/dist/generated/services/comments.js.map +1 -1
- package/dist/generated/services/comments.ts +6 -0
- package/dist/generated/services/documents.d.ts +12 -7
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +10 -6
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +14 -8
- package/dist/generated/services/drafts.d.ts +1 -1
- package/dist/generated/services/drafts.d.ts.map +1 -1
- package/dist/generated/services/drafts.ts +1 -1
- package/dist/generated/services/events.d.ts +5 -0
- package/dist/generated/services/events.d.ts.map +1 -1
- package/dist/generated/services/events.js +4 -0
- package/dist/generated/services/events.js.map +1 -1
- package/dist/generated/services/events.ts +6 -0
- package/dist/generated/services/everything.d.ts +14 -14
- package/dist/generated/services/everything.d.ts.map +1 -1
- package/dist/generated/services/everything.ts +14 -14
- package/dist/generated/services/folders.d.ts +96 -0
- package/dist/generated/services/folders.d.ts.map +1 -0
- package/dist/generated/services/folders.js +140 -0
- package/dist/generated/services/folders.js.map +1 -0
- package/dist/generated/services/folders.ts +201 -0
- package/dist/generated/services/forwards.d.ts +7 -20
- package/dist/generated/services/forwards.d.ts.map +1 -1
- package/dist/generated/services/forwards.js +6 -35
- package/dist/generated/services/forwards.js.map +1 -1
- package/dist/generated/services/forwards.ts +10 -48
- package/dist/generated/services/gauges.d.ts +7 -0
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.js +5 -1
- package/dist/generated/services/gauges.js.map +1 -1
- package/dist/generated/services/gauges.ts +9 -1
- package/dist/generated/services/google-documents.d.ts +98 -0
- package/dist/generated/services/google-documents.d.ts.map +1 -0
- package/dist/generated/services/google-documents.js +123 -0
- package/dist/generated/services/google-documents.js.map +1 -0
- package/dist/generated/services/google-documents.ts +196 -0
- package/dist/generated/services/index.d.ts +7 -4
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +7 -4
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +7 -4
- package/dist/generated/services/messages.d.ts +2 -0
- package/dist/generated/services/messages.d.ts.map +1 -1
- package/dist/generated/services/messages.js +1 -1
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -1
- package/dist/generated/services/my-notes.d.ts +1 -1
- package/dist/generated/services/my-notes.js +1 -1
- package/dist/generated/services/my-notes.ts +1 -1
- package/dist/generated/services/my-notifications.d.ts +4 -2
- package/dist/generated/services/my-notifications.d.ts.map +1 -1
- package/dist/generated/services/my-notifications.js.map +1 -1
- package/dist/generated/services/my-notifications.ts +4 -2
- package/dist/generated/services/people.d.ts +11 -1
- package/dist/generated/services/people.d.ts.map +1 -1
- package/dist/generated/services/people.js +13 -2
- package/dist/generated/services/people.js.map +1 -1
- package/dist/generated/services/people.ts +15 -1
- package/dist/generated/services/projects.d.ts +26 -0
- package/dist/generated/services/projects.d.ts.map +1 -1
- package/dist/generated/services/projects.js +49 -1
- package/dist/generated/services/projects.js.map +1 -1
- package/dist/generated/services/projects.ts +61 -1
- package/dist/generated/services/recordings.d.ts +2 -12
- package/dist/generated/services/recordings.d.ts.map +1 -1
- package/dist/generated/services/recordings.js +1 -26
- package/dist/generated/services/recordings.js.map +1 -1
- package/dist/generated/services/recordings.ts +3 -31
- package/dist/generated/services/reports.d.ts +8 -12
- package/dist/generated/services/reports.d.ts.map +1 -1
- package/dist/generated/services/reports.js +11 -5
- package/dist/generated/services/reports.js.map +1 -1
- package/dist/generated/services/reports.ts +13 -14
- package/dist/generated/services/schedules.d.ts +94 -15
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +19 -8
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +107 -17
- package/dist/generated/services/search.d.ts +2 -0
- package/dist/generated/services/search.d.ts.map +1 -1
- package/dist/generated/services/search.js +1 -1
- package/dist/generated/services/search.js.map +1 -1
- package/dist/generated/services/search.ts +3 -1
- package/dist/generated/services/templates.d.ts +2 -0
- package/dist/generated/services/templates.d.ts.map +1 -1
- package/dist/generated/services/templates.js +1 -1
- package/dist/generated/services/templates.js.map +1 -1
- package/dist/generated/services/templates.ts +3 -1
- package/dist/generated/services/timeline.d.ts +2 -0
- package/dist/generated/services/timeline.d.ts.map +1 -1
- package/dist/generated/services/timeline.js +1 -0
- package/dist/generated/services/timeline.js.map +1 -1
- package/dist/generated/services/timeline.ts +3 -0
- package/dist/generated/services/timesheets.d.ts +16 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -1
- package/dist/generated/services/timesheets.js +26 -2
- package/dist/generated/services/timesheets.js.map +1 -1
- package/dist/generated/services/timesheets.ts +35 -2
- package/dist/generated/services/todolist-groups.d.ts +11 -6
- package/dist/generated/services/todolist-groups.d.ts.map +1 -1
- package/dist/generated/services/todolist-groups.js +7 -3
- package/dist/generated/services/todolist-groups.js.map +1 -1
- package/dist/generated/services/todolist-groups.ts +13 -7
- package/dist/generated/services/todolists.d.ts +15 -13
- package/dist/generated/services/todolists.d.ts.map +1 -1
- package/dist/generated/services/todolists.js +11 -8
- package/dist/generated/services/todolists.js.map +1 -1
- package/dist/generated/services/todolists.ts +19 -14
- package/dist/generated/services/todos.d.ts +2 -12
- package/dist/generated/services/todos.d.ts.map +1 -1
- package/dist/generated/services/todos.js +1 -25
- package/dist/generated/services/todos.js.map +1 -1
- package/dist/generated/services/todos.ts +3 -30
- package/dist/generated/services/uploads.d.ts +41 -2
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +41 -1
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +71 -2
- package/dist/generated/services/vaults.d.ts +5 -0
- package/dist/generated/services/vaults.d.ts.map +1 -1
- package/dist/generated/services/vaults.js +4 -0
- package/dist/generated/services/vaults.js.map +1 -1
- package/dist/generated/services/vaults.ts +6 -0
- package/dist/index.d.ts +16 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -8
- package/dist/index.js.map +1 -1
- package/dist/oauth/authorization-document.d.ts +201 -0
- package/dist/oauth/authorization-document.d.ts.map +1 -0
- package/dist/oauth/authorization-document.js +130 -0
- package/dist/oauth/authorization-document.js.map +1 -0
- package/dist/oauth/identity.d.ts +7 -1
- package/dist/oauth/identity.d.ts.map +1 -1
- package/dist/oauth/identity.js +8 -19
- package/dist/oauth/identity.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -0
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +2 -0
- package/dist/oauth/index.js.map +1 -1
- package/dist/pagination-utils.d.ts +46 -0
- package/dist/pagination-utils.d.ts.map +1 -1
- package/dist/pagination-utils.js +85 -2
- package/dist/pagination-utils.js.map +1 -1
- package/dist/pagination.d.ts +11 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/retry.d.ts +110 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +253 -0
- package/dist/retry.js.map +1 -0
- package/dist/services/authorization.d.ts +22 -52
- package/dist/services/authorization.d.ts.map +1 -1
- package/dist/services/authorization.js +14 -32
- package/dist/services/authorization.js.map +1 -1
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +59 -5
- package/dist/services/base.js.map +1 -1
- package/dist/services/cards-extensions.d.ts +26 -21
- package/dist/services/cards-extensions.d.ts.map +1 -1
- package/dist/services/cards-extensions.js +28 -31
- package/dist/services/cards-extensions.js.map +1 -1
- package/dist/services/documents-extensions.d.ts +122 -0
- package/dist/services/documents-extensions.d.ts.map +1 -0
- package/dist/services/documents-extensions.js +125 -0
- package/dist/services/documents-extensions.js.map +1 -0
- package/dist/services/merge-safe.d.ts +167 -0
- package/dist/services/merge-safe.d.ts.map +1 -0
- package/dist/services/merge-safe.js +217 -0
- package/dist/services/merge-safe.js.map +1 -0
- package/dist/services/schedules-extensions.d.ts +266 -0
- package/dist/services/schedules-extensions.d.ts.map +1 -0
- package/dist/services/schedules-extensions.js +268 -0
- package/dist/services/schedules-extensions.js.map +1 -0
- package/dist/services/todolists-extensions.d.ts +110 -0
- package/dist/services/todolists-extensions.d.ts.map +1 -0
- package/dist/services/todolists-extensions.js +262 -0
- package/dist/services/todolists-extensions.js.map +1 -0
- package/dist/services/todos-extensions.d.ts +12 -1
- package/dist/services/todos-extensions.d.ts.map +1 -1
- package/dist/services/todos-extensions.js +27 -8
- package/dist/services/todos-extensions.js.map +1 -1
- package/package.json +6 -5
- package/src/generated/metadata.ts +291 -141
- package/src/generated/openapi-stripped.json +5954 -3523
- package/src/generated/path-mapping.ts +28 -16
- package/src/generated/schema.d.ts +4390 -2357
- package/src/generated/services/bookmarks.ts +1 -1
- package/src/generated/services/boosts.ts +12 -0
- package/src/generated/services/campfires.ts +107 -85
- package/src/generated/services/cards.ts +6 -0
- package/src/generated/services/checkins.ts +20 -0
- package/src/generated/services/client-approvals.ts +10 -5
- package/src/generated/services/client-correspondences.ts +10 -5
- package/src/generated/services/client-replies.ts +18 -8
- package/src/generated/services/cloud-files.ts +188 -0
- package/src/generated/services/comments.ts +6 -0
- package/src/generated/services/documents.ts +14 -8
- package/src/generated/services/drafts.ts +1 -1
- package/src/generated/services/events.ts +6 -0
- package/src/generated/services/everything.ts +14 -14
- package/src/generated/services/folders.ts +201 -0
- package/src/generated/services/forwards.ts +10 -48
- package/src/generated/services/gauges.ts +9 -1
- package/src/generated/services/google-documents.ts +196 -0
- package/src/generated/services/index.ts +7 -4
- package/src/generated/services/messages.ts +3 -1
- package/src/generated/services/my-notes.ts +1 -1
- package/src/generated/services/my-notifications.ts +4 -2
- package/src/generated/services/people.ts +15 -1
- package/src/generated/services/projects.ts +61 -1
- package/src/generated/services/recordings.ts +3 -31
- package/src/generated/services/reports.ts +13 -14
- package/src/generated/services/schedules.ts +107 -17
- package/src/generated/services/search.ts +3 -1
- package/src/generated/services/templates.ts +3 -1
- package/src/generated/services/timeline.ts +3 -0
- package/src/generated/services/timesheets.ts +35 -2
- package/src/generated/services/todolist-groups.ts +13 -7
- package/src/generated/services/todolists.ts +19 -14
- package/src/generated/services/todos.ts +3 -30
- package/src/generated/services/uploads.ts +71 -2
- package/src/generated/services/vaults.ts +6 -0
|
@@ -20,6 +20,8 @@ export type ClientReply = components["schemas"]["ClientReply"];
|
|
|
20
20
|
* Options for list.
|
|
21
21
|
*/
|
|
22
22
|
export interface ListClientReplyOptions extends PaginationOptions {
|
|
23
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
24
|
+
page?: number;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
|
|
@@ -34,28 +36,34 @@ export class ClientRepliesService extends BaseService {
|
|
|
34
36
|
|
|
35
37
|
/**
|
|
36
38
|
* List all client replies for a recording (correspondence or approval)
|
|
39
|
+
* @param bucketId - The bucket ID
|
|
37
40
|
* @param recordingId - The recording ID
|
|
38
41
|
* @param options - Optional query parameters
|
|
39
42
|
* @returns All ClientReply across all pages, with .meta.totalCount
|
|
40
43
|
*
|
|
41
44
|
* @example
|
|
42
45
|
* ```ts
|
|
43
|
-
* const result = await client.clientReplies.list(123);
|
|
46
|
+
* const result = await client.clientReplies.list(123, 123);
|
|
47
|
+
*
|
|
48
|
+
* // With options
|
|
49
|
+
* const filtered = await client.clientReplies.list(123, 123, { page: 1 });
|
|
44
50
|
* ```
|
|
45
51
|
*/
|
|
46
|
-
async list(recordingId: number, options?: ListClientReplyOptions): Promise<ListResult<ClientReply>> {
|
|
52
|
+
async list(bucketId: number, recordingId: number, options?: ListClientReplyOptions): Promise<ListResult<ClientReply>> {
|
|
47
53
|
return this.requestPaginated(
|
|
48
54
|
{
|
|
49
55
|
service: "ClientReplies",
|
|
50
56
|
operation: "ListClientReplies",
|
|
51
57
|
resourceType: "client_replie",
|
|
52
58
|
isMutation: false,
|
|
59
|
+
projectId: bucketId,
|
|
53
60
|
resourceId: recordingId,
|
|
54
61
|
},
|
|
55
62
|
() =>
|
|
56
|
-
this.client.GET("/client/recordings/{recordingId}/replies.json", {
|
|
63
|
+
this.client.GET("/buckets/{bucketId}/client/recordings/{recordingId}/replies.json", {
|
|
57
64
|
params: {
|
|
58
|
-
path: { recordingId },
|
|
65
|
+
path: { bucketId, recordingId },
|
|
66
|
+
query: { page: options?.page },
|
|
59
67
|
},
|
|
60
68
|
})
|
|
61
69
|
, options
|
|
@@ -64,6 +72,7 @@ export class ClientRepliesService extends BaseService {
|
|
|
64
72
|
|
|
65
73
|
/**
|
|
66
74
|
* Get a single client reply by id
|
|
75
|
+
* @param bucketId - The bucket ID
|
|
67
76
|
* @param recordingId - The recording ID
|
|
68
77
|
* @param replyId - The reply ID
|
|
69
78
|
* @returns The ClientReply
|
|
@@ -71,22 +80,23 @@ export class ClientRepliesService extends BaseService {
|
|
|
71
80
|
*
|
|
72
81
|
* @example
|
|
73
82
|
* ```ts
|
|
74
|
-
* const result = await client.clientReplies.get(123, 123);
|
|
83
|
+
* const result = await client.clientReplies.get(123, 123, 123);
|
|
75
84
|
* ```
|
|
76
85
|
*/
|
|
77
|
-
async get(recordingId: number, replyId: number): Promise<ClientReply> {
|
|
86
|
+
async get(bucketId: number, recordingId: number, replyId: number): Promise<ClientReply> {
|
|
78
87
|
const response = await this.request(
|
|
79
88
|
{
|
|
80
89
|
service: "ClientReplies",
|
|
81
90
|
operation: "GetClientReply",
|
|
82
91
|
resourceType: "client_reply",
|
|
83
92
|
isMutation: false,
|
|
93
|
+
projectId: bucketId,
|
|
84
94
|
resourceId: replyId,
|
|
85
95
|
},
|
|
86
96
|
() =>
|
|
87
|
-
this.client.GET("/client/recordings/{recordingId}/replies/{replyId}", {
|
|
97
|
+
this.client.GET("/buckets/{bucketId}/client/recordings/{recordingId}/replies/{replyId}", {
|
|
88
98
|
params: {
|
|
89
|
-
path: { recordingId, replyId },
|
|
99
|
+
path: { bucketId, recordingId, replyId },
|
|
90
100
|
},
|
|
91
101
|
})
|
|
92
102
|
);
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CloudFiles service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { BaseService } from "../../services/base.js";
|
|
8
|
+
import type { components } from "../schema.js";
|
|
9
|
+
import { Errors } from "../../errors.js";
|
|
10
|
+
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Types
|
|
13
|
+
// =============================================================================
|
|
14
|
+
|
|
15
|
+
/** CloudFile entity from the Basecamp API. */
|
|
16
|
+
export type CloudFile = components["schemas"]["CloudFile"];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Request parameters for createCloudFile.
|
|
20
|
+
*/
|
|
21
|
+
export interface CreateCloudFileCloudFileRequest {
|
|
22
|
+
/** Url */
|
|
23
|
+
url: string;
|
|
24
|
+
/** Short identifier for the external service — "dropbox", "google_doc",
|
|
25
|
+
"figma", "other", … Derived from the CloudFile::Service subclass name, so it
|
|
26
|
+
is always present. `other` accepts any well-formed HTTPS URL. */
|
|
27
|
+
service: string;
|
|
28
|
+
/** Title */
|
|
29
|
+
title?: string;
|
|
30
|
+
/** Rich text description (HTML) */
|
|
31
|
+
description?: string;
|
|
32
|
+
/** Subscriptions */
|
|
33
|
+
subscriptions?: number[];
|
|
34
|
+
/** Whether the cloud file is visible to the project's clients. Applies only
|
|
35
|
+
when creating directly in the tool's vault — an item created inside a
|
|
36
|
+
folder inherits the folder's visibility and ignores this. A client caller
|
|
37
|
+
always creates client-visible records regardless of what is sent. */
|
|
38
|
+
visibleToClients?: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Request parameters for updateCloudFile.
|
|
43
|
+
*/
|
|
44
|
+
export interface UpdateCloudFileCloudFileRequest {
|
|
45
|
+
/** Url */
|
|
46
|
+
url: string;
|
|
47
|
+
/** Short identifier for the external service — "dropbox", "google_doc",
|
|
48
|
+
"figma", "other", … Derived from the CloudFile::Service subclass name, so it
|
|
49
|
+
is always present. `other` accepts any well-formed HTTPS URL. */
|
|
50
|
+
service: string;
|
|
51
|
+
/** Title */
|
|
52
|
+
title?: string;
|
|
53
|
+
/** Rich text description (HTML) */
|
|
54
|
+
description?: string;
|
|
55
|
+
/** Subscriptions */
|
|
56
|
+
subscriptions?: number[];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
// =============================================================================
|
|
61
|
+
// Service
|
|
62
|
+
// =============================================================================
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Service for CloudFiles operations.
|
|
66
|
+
*/
|
|
67
|
+
export class CloudFilesService extends BaseService {
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Create a new cloud file in a vault.
|
|
71
|
+
* @param bucketId - The bucket ID
|
|
72
|
+
* @param vaultId - The vault ID
|
|
73
|
+
* @param req - Cloud_file creation parameters
|
|
74
|
+
* @returns The CloudFile
|
|
75
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const result = await client.cloudFiles.createCloudFile(123, 123, { url: "example", service: "example" });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
async createCloudFile(bucketId: number, vaultId: number, req: CreateCloudFileCloudFileRequest): Promise<CloudFile> {
|
|
83
|
+
if (!req.url) {
|
|
84
|
+
throw Errors.validation("Url is required");
|
|
85
|
+
}
|
|
86
|
+
if (!req.service) {
|
|
87
|
+
throw Errors.validation("Service is required");
|
|
88
|
+
}
|
|
89
|
+
const response = await this.request(
|
|
90
|
+
{
|
|
91
|
+
service: "CloudFiles",
|
|
92
|
+
operation: "CreateCloudFile",
|
|
93
|
+
resourceType: "cloud_file",
|
|
94
|
+
isMutation: true,
|
|
95
|
+
projectId: bucketId,
|
|
96
|
+
resourceId: vaultId,
|
|
97
|
+
},
|
|
98
|
+
() =>
|
|
99
|
+
this.client.POST("/buckets/{bucketId}/vaults/{vaultId}/cloud_files.json", {
|
|
100
|
+
params: {
|
|
101
|
+
path: { bucketId, vaultId },
|
|
102
|
+
},
|
|
103
|
+
body: {
|
|
104
|
+
url: req.url,
|
|
105
|
+
service: req.service,
|
|
106
|
+
title: req.title,
|
|
107
|
+
description: req.description,
|
|
108
|
+
subscriptions: req.subscriptions,
|
|
109
|
+
visible_to_clients: req.visibleToClients,
|
|
110
|
+
},
|
|
111
|
+
})
|
|
112
|
+
);
|
|
113
|
+
return response;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Get a single cloud file by id
|
|
118
|
+
* @param cloudFileId - The cloud file ID
|
|
119
|
+
* @returns The CloudFile
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* const result = await client.cloudFiles.cloudFile(123);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
async cloudFile(cloudFileId: number): Promise<CloudFile> {
|
|
127
|
+
const response = await this.request(
|
|
128
|
+
{
|
|
129
|
+
service: "CloudFiles",
|
|
130
|
+
operation: "GetCloudFile",
|
|
131
|
+
resourceType: "cloud_file",
|
|
132
|
+
isMutation: false,
|
|
133
|
+
resourceId: cloudFileId,
|
|
134
|
+
},
|
|
135
|
+
() =>
|
|
136
|
+
this.client.GET("/cloud_files/{cloudFileId}", {
|
|
137
|
+
params: {
|
|
138
|
+
path: { cloudFileId },
|
|
139
|
+
},
|
|
140
|
+
})
|
|
141
|
+
);
|
|
142
|
+
return response;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Replace a cloud file with a new complete representation.
|
|
147
|
+
* @param cloudFileId - The cloud file ID
|
|
148
|
+
* @param req - Cloud_file update parameters
|
|
149
|
+
* @returns The CloudFile
|
|
150
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```ts
|
|
154
|
+
* const result = await client.cloudFiles.updateCloudFile(123, { url: "example", service: "example" });
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
async updateCloudFile(cloudFileId: number, req: UpdateCloudFileCloudFileRequest): Promise<CloudFile> {
|
|
158
|
+
if (!req.url) {
|
|
159
|
+
throw Errors.validation("Url is required");
|
|
160
|
+
}
|
|
161
|
+
if (!req.service) {
|
|
162
|
+
throw Errors.validation("Service is required");
|
|
163
|
+
}
|
|
164
|
+
const response = await this.request(
|
|
165
|
+
{
|
|
166
|
+
service: "CloudFiles",
|
|
167
|
+
operation: "UpdateCloudFile",
|
|
168
|
+
resourceType: "cloud_file",
|
|
169
|
+
isMutation: true,
|
|
170
|
+
resourceId: cloudFileId,
|
|
171
|
+
},
|
|
172
|
+
() =>
|
|
173
|
+
this.client.PUT("/cloud_files/{cloudFileId}", {
|
|
174
|
+
params: {
|
|
175
|
+
path: { cloudFileId },
|
|
176
|
+
},
|
|
177
|
+
body: {
|
|
178
|
+
url: req.url,
|
|
179
|
+
service: req.service,
|
|
180
|
+
title: req.title,
|
|
181
|
+
description: req.description,
|
|
182
|
+
subscriptions: req.subscriptions,
|
|
183
|
+
},
|
|
184
|
+
})
|
|
185
|
+
);
|
|
186
|
+
return response;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -29,6 +29,8 @@ export interface UpdateCommentRequest {
|
|
|
29
29
|
* Options for list.
|
|
30
30
|
*/
|
|
31
31
|
export interface ListCommentOptions extends PaginationOptions {
|
|
32
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
33
|
+
page?: number;
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
/**
|
|
@@ -125,6 +127,9 @@ export class CommentsService extends BaseService {
|
|
|
125
127
|
* @example
|
|
126
128
|
* ```ts
|
|
127
129
|
* const result = await client.comments.list(123);
|
|
130
|
+
*
|
|
131
|
+
* // With options
|
|
132
|
+
* const filtered = await client.comments.list(123, { page: 1 });
|
|
128
133
|
* ```
|
|
129
134
|
*/
|
|
130
135
|
async list(recordingId: number, options?: ListCommentOptions): Promise<ListResult<Comment>> {
|
|
@@ -140,6 +145,7 @@ export class CommentsService extends BaseService {
|
|
|
140
145
|
this.client.GET("/recordings/{recordingId}/comments.json", {
|
|
141
146
|
params: {
|
|
142
147
|
path: { recordingId },
|
|
148
|
+
query: { page: options?.page },
|
|
143
149
|
},
|
|
144
150
|
})
|
|
145
151
|
, options
|
|
@@ -18,9 +18,9 @@ import { Errors } from "../../errors.js";
|
|
|
18
18
|
export type Document = components["schemas"]["Document"];
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* Request parameters for
|
|
21
|
+
* Request parameters for replace.
|
|
22
22
|
*/
|
|
23
|
-
export interface
|
|
23
|
+
export interface ReplaceDocumentRequest {
|
|
24
24
|
/** Title */
|
|
25
25
|
title?: string;
|
|
26
26
|
/** Text content */
|
|
@@ -31,6 +31,8 @@ export interface UpdateDocumentRequest {
|
|
|
31
31
|
* Options for list.
|
|
32
32
|
*/
|
|
33
33
|
export interface ListDocumentOptions extends PaginationOptions {
|
|
34
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
35
|
+
page?: number;
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
/**
|
|
@@ -90,22 +92,22 @@ export class DocumentsService extends BaseService {
|
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
/**
|
|
93
|
-
*
|
|
95
|
+
* Replace a document with a new complete representation.
|
|
94
96
|
* @param documentId - The document ID
|
|
95
|
-
* @param req - Document
|
|
97
|
+
* @param req - Document request parameters
|
|
96
98
|
* @returns The Document
|
|
97
|
-
* @throws {BasecampError} If the
|
|
99
|
+
* @throws {BasecampError} If the request fails
|
|
98
100
|
*
|
|
99
101
|
* @example
|
|
100
102
|
* ```ts
|
|
101
|
-
* const result = await client.documents.
|
|
103
|
+
* const result = await client.documents.replace(123, { });
|
|
102
104
|
* ```
|
|
103
105
|
*/
|
|
104
|
-
async
|
|
106
|
+
async replace(documentId: number, req: ReplaceDocumentRequest): Promise<Document> {
|
|
105
107
|
const response = await this.request(
|
|
106
108
|
{
|
|
107
109
|
service: "Documents",
|
|
108
|
-
operation: "
|
|
110
|
+
operation: "ReplaceDocument",
|
|
109
111
|
resourceType: "document",
|
|
110
112
|
isMutation: true,
|
|
111
113
|
resourceId: documentId,
|
|
@@ -133,6 +135,9 @@ export class DocumentsService extends BaseService {
|
|
|
133
135
|
* @example
|
|
134
136
|
* ```ts
|
|
135
137
|
* const result = await client.documents.list(123);
|
|
138
|
+
*
|
|
139
|
+
* // With options
|
|
140
|
+
* const filtered = await client.documents.list(123, { page: 1 });
|
|
136
141
|
* ```
|
|
137
142
|
*/
|
|
138
143
|
async list(vaultId: number, options?: ListDocumentOptions): Promise<ListResult<Document>> {
|
|
@@ -148,6 +153,7 @@ export class DocumentsService extends BaseService {
|
|
|
148
153
|
this.client.GET("/vaults/{vaultId}/documents.json", {
|
|
149
154
|
params: {
|
|
150
155
|
path: { vaultId },
|
|
156
|
+
query: { page: options?.page },
|
|
151
157
|
},
|
|
152
158
|
})
|
|
153
159
|
, options
|
|
@@ -20,7 +20,7 @@ export type Draft = components["schemas"]["Draft"];
|
|
|
20
20
|
* Options for listMyDrafts.
|
|
21
21
|
*/
|
|
22
22
|
export interface ListMyDraftsDraftOptions extends PaginationOptions {
|
|
23
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
23
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
24
24
|
page?: number;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -20,6 +20,8 @@ export type Event = components["schemas"]["Event"];
|
|
|
20
20
|
* Options for list.
|
|
21
21
|
*/
|
|
22
22
|
export interface ListEventOptions extends PaginationOptions {
|
|
23
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
24
|
+
page?: number;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
|
|
@@ -41,6 +43,9 @@ export class EventsService extends BaseService {
|
|
|
41
43
|
* @example
|
|
42
44
|
* ```ts
|
|
43
45
|
* const result = await client.events.list(123);
|
|
46
|
+
*
|
|
47
|
+
* // With options
|
|
48
|
+
* const filtered = await client.events.list(123, { page: 1 });
|
|
44
49
|
* ```
|
|
45
50
|
*/
|
|
46
51
|
async list(recordingId: number, options?: ListEventOptions): Promise<ListResult<Event>> {
|
|
@@ -56,6 +61,7 @@ export class EventsService extends BaseService {
|
|
|
56
61
|
this.client.GET("/recordings/{recordingId}/events.json", {
|
|
57
62
|
params: {
|
|
58
63
|
path: { recordingId },
|
|
64
|
+
query: { page: options?.page },
|
|
59
65
|
},
|
|
60
66
|
})
|
|
61
67
|
, options
|
|
@@ -35,7 +35,7 @@ Assignees on nested steps are not considered. */
|
|
|
35
35
|
assigneeIds?: number[];
|
|
36
36
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
37
37
|
due?: string;
|
|
38
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
38
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
39
39
|
page?: number;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -48,7 +48,7 @@ Assignees on nested steps are not considered. */
|
|
|
48
48
|
assigneeIds?: number[];
|
|
49
49
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
50
50
|
due?: string;
|
|
51
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
51
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
52
52
|
page?: number;
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -61,7 +61,7 @@ Assignees on nested steps are not considered. */
|
|
|
61
61
|
assigneeIds?: number[];
|
|
62
62
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
63
63
|
due?: string;
|
|
64
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
64
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
65
65
|
page?: number;
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -74,7 +74,7 @@ Assignees on nested steps are not considered. */
|
|
|
74
74
|
assigneeIds?: number[];
|
|
75
75
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
76
76
|
due?: string;
|
|
77
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
77
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
78
78
|
page?: number;
|
|
79
79
|
}
|
|
80
80
|
|
|
@@ -98,7 +98,7 @@ Assignees on nested steps are not considered. */
|
|
|
98
98
|
assigneeIds?: number[];
|
|
99
99
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
100
100
|
due?: string;
|
|
101
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
101
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
102
102
|
page?: number;
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -106,7 +106,7 @@ Assignees on nested steps are not considered. */
|
|
|
106
106
|
* Options for everythingCheckins.
|
|
107
107
|
*/
|
|
108
108
|
export interface EverythingCheckinsEverythingOptions extends PaginationOptions {
|
|
109
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
109
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
110
110
|
page?: number;
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -114,7 +114,7 @@ export interface EverythingCheckinsEverythingOptions extends PaginationOptions {
|
|
|
114
114
|
* Options for everythingComments.
|
|
115
115
|
*/
|
|
116
116
|
export interface EverythingCommentsEverythingOptions extends PaginationOptions {
|
|
117
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
117
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
118
118
|
page?: number;
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -126,7 +126,7 @@ export interface EverythingFilesEverythingOptions extends PaginationOptions {
|
|
|
126
126
|
kind?: string;
|
|
127
127
|
/** Restrict to files created by the given people (repeatable). */
|
|
128
128
|
peopleIds?: number[];
|
|
129
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
129
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
130
130
|
page?: number;
|
|
131
131
|
}
|
|
132
132
|
|
|
@@ -134,7 +134,7 @@ export interface EverythingFilesEverythingOptions extends PaginationOptions {
|
|
|
134
134
|
* Options for everythingForwards.
|
|
135
135
|
*/
|
|
136
136
|
export interface EverythingForwardsEverythingOptions extends PaginationOptions {
|
|
137
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
137
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
138
138
|
page?: number;
|
|
139
139
|
}
|
|
140
140
|
|
|
@@ -142,7 +142,7 @@ export interface EverythingForwardsEverythingOptions extends PaginationOptions {
|
|
|
142
142
|
* Options for everythingMessages.
|
|
143
143
|
*/
|
|
144
144
|
export interface EverythingMessagesEverythingOptions extends PaginationOptions {
|
|
145
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
145
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
146
146
|
page?: number;
|
|
147
147
|
}
|
|
148
148
|
|
|
@@ -155,7 +155,7 @@ Assignees on nested steps are not considered. */
|
|
|
155
155
|
assigneeIds?: number[];
|
|
156
156
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
157
157
|
due?: string;
|
|
158
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
158
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
159
159
|
page?: number;
|
|
160
160
|
}
|
|
161
161
|
|
|
@@ -168,7 +168,7 @@ Assignees on nested steps are not considered. */
|
|
|
168
168
|
assigneeIds?: number[];
|
|
169
169
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
170
170
|
due?: string;
|
|
171
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
171
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
172
172
|
page?: number;
|
|
173
173
|
}
|
|
174
174
|
|
|
@@ -181,7 +181,7 @@ Assignees on nested steps are not considered. */
|
|
|
181
181
|
assigneeIds?: number[];
|
|
182
182
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
183
183
|
due?: string;
|
|
184
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
184
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
185
185
|
page?: number;
|
|
186
186
|
}
|
|
187
187
|
|
|
@@ -205,7 +205,7 @@ Assignees on nested steps are not considered. */
|
|
|
205
205
|
assigneeIds?: number[];
|
|
206
206
|
/** Filter by due date: with, without, or overdue. Unrecognized values are ignored. */
|
|
207
207
|
due?: string;
|
|
208
|
-
/** Page number for paginating through results. Defaults to 1. */
|
|
208
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
209
209
|
page?: number;
|
|
210
210
|
}
|
|
211
211
|
|